Repository navigation
Escape unencodable names in PYTEST_CURRENT_TEST - #15197
Open
jinchuntan wants to merge 1 commit into
Open
jinchuntan wants to merge 1 commit into
jinchuntan wants to merge 1 commit into
Conversation
A Unicode test name can stop setup and teardown when pytest sets PYTEST_CURRENT_TEST under an ASCII locale. Retry a failed environment assignment with readable backslash escapes using the filesystem encoding. Another process under the same locale can read the value. Add subprocess coverage for ASCII and UTF8 modes through all test phases and environment cleanup. Fixes pytest-dev#7786 Co-authored-by: Codex <noreply@openai.com>
This branch has not been deployed
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.
Tests with Unicode names can now run when the environment cannot encode them. If setting
PYTEST_CURRENT_TESTraisesUnicodeEncodeErrorpytest retries with readable backslash escapes using the environment encoding.This follows the encoding concerns discussed in #7787. A child process using the same locale can read the value.
Added subprocess regressions for ASCII and UTF8 modes. They check all three test phases plus cleanup and the inherited value. The new cases require zero warnings.
Validated with the full Python 3.13 suite and the runner suite on Python 3.10 and Python 3.15rc3. The full run has no failing tests. All project lint checks pass.
Fixes #7786
Prepared with Codex assistance.