From 04091c083340dde7d4eeb6d945c70f3b37d88f85 Mon Sep 17 00:00:00 2001 From: Chris Withers Date: Mon, 3 Mar 2025 11:44:59 +0000 Subject: `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. --- Lib/test/test_unittest/testmock/testhelpers.py | 2 +- Lib/test/test_unittest/testmock/testmock.py | 2 +- Lib/test/test_unittest/testmock/testpatch.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_unittest/testmock/testhelpers.py b/Lib/test/test_unittest/testmock/testhelpers.py index 8d0f3eb..d1e48bd 100644 --- a/Lib/test/test_unittest/testmock/testhelpers.py +++ b/Lib/test/test_unittest/testmock/testhelpers.py @@ -1080,7 +1080,7 @@ class SpecSignatureTest(unittest.TestCase): 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 5d1bf42..386d53b 100644 --- a/Lib/test/test_unittest/testmock/testmock.py +++ b/Lib/test/test_unittest/testmock/testmock.py @@ -316,7 +316,7 @@ class MockTest(unittest.TestCase): 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 7c5fc3d..bd85fdc 100644 --- a/Lib/test/test_unittest/testmock/testpatch.py +++ b/Lib/test/test_unittest/testmock/testpatch.py @@ -748,7 +748,7 @@ class PatchTest(unittest.TestCase): 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): -- cgit v0.12