https://github.com/python/cpython/commit/04091c083340dde7d4eeb6d945c70f3b37d88f85
commit: 04091c083340dde7d4eeb6d945c70f3b37d88f85
branch: main
author: Chris Withers <[email protected]>
committer: cjw296 <[email protected]>
date: 2025-03-03T11:44:59Z
summary:
`unittest.mock` test and coverage fixup (#130787)
* Mark functions that will never be called with # pragma: no cover
* Fix testpatch.PatchTest.test_exit_idempotent
.stop() and __exit__ have subtly different code paths, so to really test
__exit__ idempotency, we need to call it specifically twice.
files:
M Lib/test/test_unittest/testmock/testhelpers.py
M Lib/test/test_unittest/testmock/testmock.py
M Lib/test/test_unittest/testmock/testpatch.py
diff --git a/Lib/test/test_unittest/testmock/testhelpers.py
b/Lib/test/test_unittest/testmock/testhelpers.py
index 8d0f3ebc5cba88..d1e48bde982040 100644
--- a/Lib/test/test_unittest/testmock/testhelpers.py
+++ b/Lib/test/test_unittest/testmock/testhelpers.py
@@ -1080,7 +1080,7 @@ def test_dataclass_with_method(self):
class WithMethod:
a: int
def b(self) -> int:
- return 1
+ return 1 # pragma: no cover
for mock in [
create_autospec(WithMethod, instance=True),
diff --git a/Lib/test/test_unittest/testmock/testmock.py
b/Lib/test/test_unittest/testmock/testmock.py
index 5d1bf4258afacd..386d53bf5a5c63 100644
--- a/Lib/test/test_unittest/testmock/testmock.py
+++ b/Lib/test/test_unittest/testmock/testmock.py
@@ -316,7 +316,7 @@ def
test_explicit_return_value_even_if_mock_wraps_object(self):
passed to the wrapped object and the return_value is returned instead.
"""
def my_func():
- return None
+ return None # pragma: no cover
func_mock = create_autospec(spec=my_func, wraps=my_func)
return_value = "explicit return value"
func_mock.return_value = return_value
diff --git a/Lib/test/test_unittest/testmock/testpatch.py
b/Lib/test/test_unittest/testmock/testpatch.py
index 7c5fc3deed2ca2..bd85fdcfc472a6 100644
--- a/Lib/test/test_unittest/testmock/testpatch.py
+++ b/Lib/test/test_unittest/testmock/testpatch.py
@@ -748,7 +748,7 @@ def test_stop_idempotent(self):
def test_exit_idempotent(self):
patcher = patch(foo_name, 'bar', 3)
with patcher:
- patcher.stop()
+ patcher.__exit__(None, None, None)
def test_second_start_failure(self):
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]