]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96478: Fix new test when run in refleak mode (GH-96615)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 27 Sep 2022 14:50:36 +0000 (07:50 -0700)
committerGitHub <noreply@github.com>
Tue, 27 Sep 2022 14:50:36 +0000 (07:50 -0700)
./python.exe -m test -R : test.test_typing would fail, apparently
because the dictionary used in the @patch decorator was modified.
(cherry picked from commit f0d9136c69b4ed32bfb3096f926da098623a7072)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Lib/test/test_typing.py

index 7df7e3ceb6803d3e56e4e9e600a467d7952794e5..0fce96b76e089b4543464df09e9b165f6ca425bf 100644 (file)
@@ -4379,19 +4379,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():