]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96478: Fix new test when run in refleak mode (#96615)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Tue, 6 Sep 2022 16:33:09 +0000 (09:33 -0700)
committerGitHub <noreply@github.com>
Tue, 6 Sep 2022 16:33:09 +0000 (09:33 -0700)
./python.exe -m test -R : test.test_typing would fail, apparently
because the dictionary used in the @patch decorator was modified.

Lib/test/test_typing.py

index a3a6b4e2274aa36c2b6070ea670e7309083b2a80..d68c3259699598d0f8ee1cc4354967d1e1def391 100644 (file)
@@ -4391,19 +4391,19 @@ class OverloadTests(BaseTestCase):
 
         blah()
 
-    @patch("typing._overload_registry",
-        defaultdict(lambda: defaultdict(dict)))
     def test_overload_on_compiled_functions(self):
-        # The registry starts out empty:
-        self.assertEqual(typing._overload_registry, {})
-
-        # This should just not fail:
-        overload(sum)
-        overload(print)
-
-        # No overloads are recorded (but, it still has a side-effect):
-        self.assertEqual(typing.get_overloads(sum), [])
-        self.assertEqual(typing.get_overloads(print), [])
+        with patch("typing._overload_registry",
+                   defaultdict(lambda: defaultdict(dict))):
+            # The registry starts out empty:
+            self.assertEqual(typing._overload_registry, {})
+
+            # This should just not fail:
+            overload(sum)
+            overload(print)
+
+            # No overloads are recorded (but, it still has a side-effect):
+            self.assertEqual(typing.get_overloads(sum), [])
+            self.assertEqual(typing.get_overloads(print), [])
 
     def set_up_overloads(self):
         def blah():