gh-111922: Allow Using a Minimal Proxy for TracebackException.exc_type#112324
Closed
ericsnowcurrently wants to merge 7 commits intopython:mainfrom
Closed
gh-111922: Allow Using a Minimal Proxy for TracebackException.exc_type#112324ericsnowcurrently wants to merge 7 commits intopython:mainfrom
ericsnowcurrently wants to merge 7 commits intopython:mainfrom
Conversation
iritkatriel
reviewed
Nov 22, 2023
| self.addCleanup(sys.path.pop) | ||
|
|
||
| if not mod_name: | ||
| mod_name = ''.join(random.choices(string.ascii_letters, k=16)) |
Member
There was a problem hiding this comment.
Maybe assert that mod_name is not in sys.modules before we add it?
Lib/test/test_traceback.py
Outdated
| def __repr__(self) -> str: | ||
| raise Exception("Unrepresentable") | ||
|
|
||
|
|
iritkatriel
reviewed
Nov 22, 2023
Lib/traceback.py
Outdated
| raise ValueError(f'unsupported exc_type {exc_type!r}') | ||
|
|
||
|
|
||
| def _match_class(exc_type, *expected): |
Member
There was a problem hiding this comment.
nit: I'd pass expected as a tuple (single arg), same way that types are passed to isinstance, etc.
Member
Author
|
I'm closing this in favor of gh-112333. |
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.
Passing a proxy for exc_type is helpful when the
TracebackExceptionis going to be serialized (e.g. pickle) and you don't want to serialize user-defined types.(That's the concrete motivation for me. For the
_xxsubinterpretersmodule I'm propagating exceptions via a pickledTracebackExceptionand don't want to deal with unpickling a user-defined exception class in a different interpreter.)Note that most of this PR is tests, including a bunch of coverage of existing behavior.