Fix pytest when pyfakefs + future is installed#441
Merged
mrbean-bremen merged 1 commit intopytest-dev:masterfrom Oct 11, 2018
asottile:fix_when_future_installed
Merged
Fix pytest when pyfakefs + future is installed#441mrbean-bremen merged 1 commit intopytest-dev:masterfrom asottile:fix_when_future_installed
mrbean-bremen merged 1 commit intopytest-dev:masterfrom
asottile:fix_when_future_installed
Conversation
`python-future` is notorious for breaking modules which use `try:` / `except:` to import modules based on version. In this case, `pyfakefs` imported the backported `builtins` module which changes the semantics of the `open()` function. `pyfakefs` then monkeypatches `linecache` which breaks any module which attempts to use `linecache` (in this case `pytest`). The downstream issue is pytest-dev/pytest#4074
Member
|
Thanks - wouldn't have expected that! Is this something that could cause problems in other places? We use try/except for import in other places in pyfakefs, too. |
Member
Author
|
I did an audit of the other imports while implementing this and you should be good (they were (essentially) all for |
Member
|
Ok, thank you! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
python-futureis notorious for breaking modules which usetry:/except:to import modules based on version. In this case,
pyfakefsimported thebackported
builtinsmodule which changes the semantics of theopen()function.
pyfakefsthen monkeypatcheslinecachewhich breaks any modulewhich attempts to use
linecache(in this casepytest).The downstream issue is pytest-dev/pytest#4074