-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding Python-esque test cases #27
Comments
I suggest creating a script that fetches metadata from PyPI's JSON API for a package for all versions of that package, and dumps those details into a file (skipping packages without dependency metadata from the API). Then running this script for with all packages that get installed when you do |
Many of Monilino’s test cases are built this way (from RubyGems), and I’m 100% on board. It wouldn’t be a terrible idea to read from wheels even IMO since the spec generation is a one-off event. |
^ another simple-but-interesting case. :) |
/cc @pfmoore in case he's interested in taking a look at this. |
Note: There are some cases raised in pypa/pip#7406 as well. |
You can probably directly use https://github.com/chrahunt/packages. :) |
One more pypa/pip#7714 |
(BTW I started implementing this in the |
File a draft PR for the WIP branch? |
One place worth "mining" is... pypa/pip#988. A lot of issues related to dependency resolution on pip's issue tracker were closed by cross-linking to that issue -- if you're looking for additional test cases, that'd be a good place to dig up for them. |
List of cases to pull (growing):
|
To reproduce the virtualenv + pre-commit error:
Quoting @pfmoore from Zulip:
Quoting myself:
|
Two improvements (bugfixes?) are needed:
|
Another case: python-poetry/poetry#2094
|
We’d probably want to add a timeout to the new resolver for the initial rollout, to avoid users waiting indefinitely. (If the resolver takes too long, give up and tell them to report the issue.) |
I think we should keep track of number of backtracks done, which would allow us to be insensitive to network latency, and the "oh, it's taking too long" would be dependent on the graph, rather than other system/external characteristics. |
There’s currently not a hook to report how many backtrack steps were taken :p I think it would be acceptable to use “rounds” instead though, which counts forward steps. |
Pinging @sdispater for inputs here! @sdispater Do you have any suggestions for here, other than I see user reports for things like |
I’m closing this since the repo has acquired several tests from pip users now. We can always add more when they come up. |
One of the things that can be found in zazo's issue tracker, is a bunch of Python-specific failure cases for the current pip resolver.
It might be useful to add test cases for those situations. Another case that would be really handy would be to have test cases for some successful situations, like installing
https://libraries.io/github/aws/chalice
-- which depends on 35+ packages directly, including botocore, which has 900+ releases.The text was updated successfully, but these errors were encountered: