From: Chris Withers Date: Mon, 3 Mar 2025 11:44:59 +0000 (+0000) Subject: `unittest.mock` test and coverage fixup (#130787) X-Git-Tag: v3.14.0a6~187 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=04091c083340dde7d4eeb6d945c70f3b37d88f85;p=thirdparty%2FPython%2Fcpython.git `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. --- diff --git a/Lib/test/test_unittest/testmock/testhelpers.py b/Lib/test/test_unittest/testmock/testhelpers.py index 8d0f3ebc5cba..d1e48bde9820 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 5d1bf4258afa..386d53bf5a5c 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 7c5fc3deed2c..bd85fdcfc472 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):