GeezerVison is showing github.com — gh-94808: Add test coverage for the PyUnicodeError object and reason C API by ApparentlyPlus · Pull Request #156966 · python/cpython
Conversation
Add _testcapi bindings and tests for the object and reason accessors of the PyUnicodeError C API:
PyUnicode{Encode,Decode,Translate}Error_GetObject
PyUnicode{Encode,Decode,Translate}Error_GetReason
PyUnicode{Encode,Decode,Translate}Error_SetReason
The matching start and end accessors gained tests in gh-123378, which fixed the clamping of their return values. The object and reason accessors were not part of that change. Six of the functions above were never called by the test suite at all, and for the remaining three, every in-tree caller passes a genuine exception object, so the TypeError raised for a non UnicodeError argument was unreachable in all nine cases.
Objects/exceptions.c is already checked off in the gh-94808 checklist, but that predates the check_unicode_error_type() wrappers added in gh-127691 and gh-127787, which introduced the type check branch these tests exercise.
This adds only _testcapi bindings and tests. There is no behaviour change to Objects/exceptions.c.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
All commit authors signed the Contributor License Agreement.

|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool.
If this change has little impact on Python users, wait for a maintainer to apply the skip news label instead.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
CI is green apart from the NEWS entry. This is a test-only change, so I believe it qualifies for the skip news label. Could a maintainer confirm or let me know if a NEWS entry is wanted?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Oct 20, 2026
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.