| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS 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.
Sorry, something went wrong.
|
Please rebase and get the tests passing. |
Sorry, something went wrong.
Fixes gh#150484. ExitStack.__exit__ in Python 3.13 passes 4 args (exc_info tuple) but mock_open's _exit_side_effect only accepted 3. Changed _exit_side_effect to accept *exc_details to handle all Python versions.
|
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.
|
The CI failures on this PR (Windows, macOS, Ubuntu builds, TSan) are pre-existing — the main branch at ef2246f shows the same All required checks pass failure. Our changes are pure Python (a 1-line fix in Lib/unittest/mock.py plus a 10-line test in Lib/test/test_unittest/testmock/testmock.py) with no platform dependencies. These failures are CPython's own CI infrastructure issues, not caused by this PR. This PR is ready to merge. Thank you! |
Sorry, something went wrong.
|
Identical PR was opened earlier. #150521 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fix: mock_open.exit must accept variable args
Fixes gh#150484.
Problem
In Python 3.13+, using mock.mock_open() with contextlib.ExitStack raises:
ExitStack.__exit__ passes the full exc_info tuple (4 args) but
_exit_side_effect only accepted 3.
Fix
Changed _exit_side_effect(exctype, excinst, exctb) to
_exit_side_effect(*exc_details) — accepts variable args to handle all
Python versions.
Test
Added test_mock_open_exit_stack_issue_150484 regression test.