Status of getting pip's tests running on tox: it turns out that some of the remaining failures are because those test sessions are running in a virtualenv, which... I don't know what to do about that for local development, so I'll just push it off onto PyPA's CI.
So, now I need to start working on tests for a few different cases:
- Specifying a URL constraint but not requiring the package does not install the package.
- Specifying a URL constraint and installing the package installs the package
- Specifying multiple URL constraints causes resolution to fail
- Specifying one URL constraint and requiring the same URL installs the package
- Specifying one URL constraint and requiring a different URL causes resolution to fail
- Specifying a URL constraint and constraining/requiring a compatible version range installs the package (in the case of constraining, assuming there's a requirement)
- Specifying a URL constraint and constraining/requiring an incompatible version range causes resolution to fail (in the case of constraining, assuming there's a requirement)
- Should probably test that constraints properly do and don't apply when python_version is constrained, but that should Just Work.
- Specifying a URL constraint that is satisfied by an existing installation succeeds
- Specifying a URL constraint that is not satisfied by an existing installation attempts to satisfy the constraint by updating
- Test different URL protocols
- Confirm that pip freeze output can be used as a constraint file.
I spaced out and did other stuff, so compiling the list will have to do for now. I'll look over the existing tests later to see where these fit and what they'd look like.