Commit Graph

59 Commits

Author SHA1 Message Date
Tzu-ping Chung 8b2b92485c Include Requires-Python dep even with --no-deps 2020-08-26 09:49:25 +08:00
Tzu-ping Chung 312d1d0473 Add failing test for constraints with markers 2020-08-07 13:43:49 +08:00
Jussi Kukkonen 76b20d738e Deprecate requirements format "base>=1.0[extra]"
This requirements format does not conform to PEP-508. Currently the
extras specified like this work by accident (because _strip_extras()
also parses them). The version checks end up being done with a
misparsed version '1.0[extra]' -- this is not changed in this commit.

Add deprecation warning and fix the corresponding resolver test. Add a
command line test.

Note that we really only check that the Requirement has SpecifierSet
with a specifier that ends in a ']'. A valid version number cannot
contain ']' and no wheels currently on pypi have versions ending in ']'.
2020-07-13 12:33:50 +03:00
Pradyun Gedam 79de2c8911
Switch to --use-feature for determining which resolver to use
Also changes all invocations in the tests, to the new flag.
2020-07-03 18:49:56 +05:30
Paul Moore 2795742b31 Add handling of inconsistent root requirements 2020-06-17 16:47:04 +01:00
Paul Moore 09d311594e Move error handling to factory.get_installation_error() 2020-06-17 16:44:53 +01:00
Paul Moore 57b39a85bc
Merge pull request #8397 from uranusjr/new-resolver-fix-candidate-ordering
New resolver fix candidate ordering
2020-06-10 12:24:37 +01:00
Stéphane Bidoul ca439016e5
Merge pull request #8370 from ssurbhi560/add_method_to_new_resolver_and_download
Add methods for path lookups in test_download.py and test_new_resolver.py
2020-06-09 22:23:02 +02:00
Tzu-ping Chung 53ce9b66ac Add failing test for bug found 2020-06-05 08:14:46 +08:00
Tzu-ping Chung 4ca684f3b8 Fix for source directory reuse 2020-06-04 00:32:57 +08:00
Surbhi Sharma fe761c5f4f Use helper methods in test_download and test_new_resolver 2020-05-31 18:55:43 +05:30
Paul Moore d7fbc9fb16
Merge pull request #8282 from uranusjr/pre-existing-build-directory-reprod
Add reprod for pre-existing build dir failure
2020-05-27 14:01:57 +01:00
Pradyun Gedam 50c9ea2fe0
This works now! 2020-05-21 21:47:42 +05:30
Paul Moore 278ac2d67f
Merge pull request #8286 from uranusjr/read-root-extras-correctly
Always read InstallRequirement.extras
2020-05-21 16:05:35 +01:00
Tzu-ping Chung 19db59747a Use a temp requirements file to avoid shell syntax 2020-05-21 21:37:19 +08:00
Tzu-ping Chung 4d17d932c5 Add test for picking up non-PEP-508 extrax 2020-05-21 21:01:08 +08:00
Tzu-ping Chung a7b643004c Add reprod for pre-existing build dir failure 2020-05-21 17:22:54 +08:00
Tzu-ping Chung 0a4629febb Add test for marker that should fail for now 2020-05-21 15:42:58 +08:00
Paul Moore c74577e18e
Merge pull request #8186 from uranusjr/install-req-from-dist-line-rewrite
Build ireq line from parent for installed dist
2020-05-15 22:33:03 +01:00
Paul Moore d53e880cfe
Merge pull request #8229 from uranusjr/one-constraint-test
Add one more constraint test
2020-05-15 16:37:00 +01:00
Paul Moore 4c599edc5b
Merge pull request #8243 from pfmoore/message_fixes
Fix some test failures related to message differences
2020-05-15 15:25:31 +01:00
Paul Moore 041f83f76a Doh, I forgot to update our own tests... 2020-05-15 14:45:44 +01:00
Paul Moore 6fcaf49cb0 Tidy up handling of unexpected forms of constraint 2020-05-14 17:04:18 +01:00
Tzu-ping Chung 713645a554 Add one more constraint test 2020-05-13 07:13:19 +08:00
Tzu-ping Chung 9eb47650b0 Please don't use shell=True :( 2020-05-05 20:29:21 +08:00
Tzu-ping Chung 1f32d8dfc6 Refine output check to accomodate specifier change 2020-05-05 18:42:53 +08:00
Paul Moore 8664218164 Merge branch 'master' into nr_constraints2 2020-05-05 11:41:09 +01:00
Paul Moore 1599cc2a36 Merge branch 'master' into nr_upgrade_strategy 2020-05-03 11:01:27 +01:00
Paul Moore 0058bb5212 Improve test 2020-04-29 14:55:15 +01:00
Paul Moore 5186f05bd7 Add tests for constraints 2020-04-29 12:16:09 +01:00
Tzu-ping Chung 06d9ea0952 Mark local install as xfail 2020-04-27 14:36:59 +08:00
Tzu-ping Chung 0104adb037 Add failing test for explicit requirement extras 2020-04-26 16:39:31 +08:00
Paul Moore 04bf571521 Ensure root requirement name is canonicalised 2020-04-24 14:30:34 +01:00
Paul Moore d605530b44 Implement upgrade strategies for the new resolver 2020-04-24 11:08:06 +01:00
Tzu-ping Chung 4fb7687fa7 Add failing tests 2020-04-18 22:47:44 +08:00
Pradyun Gedam 97f639057e
Merge pull request #8014 from uranusjr/always-return-installed-candidate 2020-04-18 16:15:14 +05:30
Paul Moore 8c118c8f3a Fix the test to check for canonical name 2020-04-14 15:18:24 +01:00
Paul Moore ea391b2aab Merge with master 2020-04-14 11:27:10 +01:00
Paul Moore 3642589903 Make message more user friendly when unable to resolve 2020-04-13 11:32:21 +01:00
Tzu-ping Chung d2028e9538 Implement RequiresPythonRequirement with context
This specialized class is able to carry more context information than
the previous implementation (which reuses ExplicitRequirement). Error
reports can thus provide better messages by introspecting.
2020-04-10 23:17:29 +08:00
Tzu-ping Chung cfac6aebdd Always return an install candidate last if matches
This rewrites how a SpecifierRequirement generates candidates, so it

* Always return an AlreadyInstalledCandidate (as long as the version
  satisfies the specifier), even if PackageFinder does not return a
  candidate for the same version.
* Always put the AlreadyInstalledCandidate last, so it's preferred over
  LinkCandidate, preventing version changes if possible.
2020-04-10 20:51:06 +08:00
Tzu-ping Chung be60eaaa4f Uninstall existing dist before reinstallation 2020-04-08 17:17:25 +08:00
Tzu-ping Chung e714b5cf84 Add failing tests for reinstall and upgrade 2020-04-08 17:16:47 +08:00
Tzu-ping Chung aaa82cddcc isort 2020-04-04 20:52:39 +08:00
Tzu-ping Chung 2430aba879 Implement editable candidate 2020-04-04 17:51:43 +08:00
Paul Moore 037791d170 Add a test demonstrating #7966 2020-04-03 11:18:44 +01:00
Tzu-ping Chung f061f3f691 Fetch install dist for a candidate if available
The candidate creation logic is further moved into the factory. The
factory would use pkg_resources.get_distribution() to find a matching
distribution for a givan InstallationCandidate. If found, the Candidate
would be created based on that found distribution, instead of the link.

--ignore-installed is implemented as to always use the link to create
candidates, even if an installed distribution is found.
2020-04-03 00:36:26 +08:00
Tzu-ping Chung 557f7670ea Typo in comment 2020-04-02 21:44:54 +08:00
Tzu-ping Chung 34c24f6e79 Switch to create_basic_wheel_for_package 2020-04-02 18:40:48 +08:00
Tzu-ping Chung 630339e577 Add new resolver test for Requires-Python 2020-04-02 18:36:08 +08:00