-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Changed importError to ModuleNotFoundError #12220
Merged
Merged
Changes from 6 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
3a26211
Changed importError to ModuleNotFoundError
shekhuverma 3f80fd7
Merge branch 'pytest-dev:main' into main
shekhuverma fd288e1
added testing for importorskip
shekhuverma 1fe14e0
Merge branch 'importorskip-ModuleNotFoundError'
shekhuverma 543262c
added exc_types parameter in importorskip
shekhuverma 1456b71
Merge branch 'importorskip-ModuleNotFoundError'
shekhuverma 9a9643d
Added warning and Test Cases
shekhuverma 3ca5036
Merge branch 'importorskip-ModuleNotFoundError'
shekhuverma 7de869d
Improve tests and docs
nicoddemus 3ca329b
Improve deprecation docs
nicoddemus f14d78d
Change exc_type to kw only
nicoddemus b59336a
Apply suggestions from code review
nicoddemus 76fd0e5
Fix check
nicoddemus a55abeb
Merge branch 'pytest-dev:main' into main
shekhuverma File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
pytest.importorskip will now skip both ImportError and ModuleNotFoundError. |
This file contains 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
This file contains 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
Oops, something went wrong.
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.
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.
Sorry I was not clearer.
I meant that we should only issue the warning if:
exc_type
.ImportError
.So something like:
So we will not be changing the behavior right now, only in the future.
Do you agree @The-Compiler?
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.
Yep, that sounds like a solid approach. We'll also need tests for the warning and the different argument behaviours.
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 think the function should be like this, showing a warning if the user doesn't pass any exc_type or when there is ImportError
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.
We do not want to issue the warning unless we actually caught
ImportError
.Most of the time the exception being raised is
ModuleNotFoundError
, which is OK and what users expect.The problem is when the library is found, but
ImportError
is raised because of a related problem (for example failure to load a required a shared library). In this case we want to issue a warning now, and in pytest 9.0, let the exception propagate upwards.The
exc_type
parameter will let users be explicit about what they want to capture.