-
Notifications
You must be signed in to change notification settings - Fork 12
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
Add tests #57
base: master
Are you sure you want to change the base?
Add tests #57
Conversation
563b45e
to
48b6449
Compare
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
@uranusjr I think this can use a look, the PR says it is adding tests but there is a bit more going on -- significantly
Also note I have a venv argument going around in a lot of places to make this virtualenv aware, it seems kind of important that we have some way of being aware of that but the approach I took is mainly for installation and will be able to live specifically in the installer package. If you have some thoughts about the implementation I am interested in that for sure. I have no real comments about the tests other than that they work, they use the virtualenv library I set up specifically for this purpose, we have about 65% code coverage (but not very thorough edge case testing) with this setup. Sorry for the long comments, but there is a lot of effort into the PRs and I know you're kind of busy, so I wanted to have things somewhat cleaned up before dragging you into it. Happy to hold off merging anything that will introduce substantial changes until you can give it a good look over |
Most of the things seem good to me (I didn’t read the changes to Edit: I read my comments again, and felt my wording is a bit off. The |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, the Venv design doesn’t feel natural to me. Instead of checking “am I in a venv, or is the venv is None which means this is global”, the project should just take an abstract idea of an “environment”, and use it. Whether that environment is virtual or global or even something else is irrelevant to it; it just needs to know where the interpreter is, where to install purelib, where to install platlib, where to install scripts, etc.
setup.cfg
Outdated
six | ||
virtualenv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don’t think this is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be correct, will fix
packaging | ||
pip-shims>=0.1.2 | ||
plette[validation]>=0.2.2 | ||
recursive-monkey-patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is necessary to patch distlib
in order to read metadata from version 2.1
for now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment needed too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if that ever got fixed but we can patch these manually. The library in question just does some runtime patching by looking for modules and swapping out functions
Agreed -- the plan is in the next PR to refactor that out into the other 2 libraries. Also it's an extra here I think? But I also like the ability to just specify a prefix |
I felt this way the entire time I was working on this but I wasn't sure exactly how that should look. Separate class? |
I feel a separate class would be best, or maybe a dict like what distlib.wheel accepts when it installs the wheel. |
I think mork lists virtualenv in |
Refactoring out the virtualenv stuff as is and trying to make an abstraction that handles any environment based on a prefix / set of paths is not really workable so far, everything works except for uninstalling and that is even after I patched uninstallation. Considering I am just going to remove this in the next PR I'm not totally sure it's worth holding the whole thing up over it, I can just combine the two (that is, split out the other two packages along with these changes) if you like |
- Implement it by default throughout - Implement it for testing - Monkeypatch `UninstallPathSet` to work properly with it Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
Signed-off-by: Dan Ryan <[email protected]>
sphinx = '*' | ||
sphinx-rtd-theme = '*' | ||
towncrier = '*' | ||
twine = '*' | ||
wheel = '*' | ||
coverage = "<5.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might want a comment explaining why 5.0+ does not work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure it doesn’t but I’ve had a lot of bad experiences leaving this unpinned lately as 5.x is still in alpha and doesn’t tend to play nice with xdist on Travis due to using SQLite as a shared backing store
Another piece of #55 plus #56 (2/4)