[Python-checkins] gh-96478: Fix new test when run in refleak mode (GH-96615)

miss-islington webhook-mailer at python.org
Tue Sep 27 10:50:44 EDT 2022


https://github.com/python/cpython/commit/f391b3c6ab7f9940c942535ebcfabf87eb122bf7
commit: f391b3c6ab7f9940c942535ebcfabf87eb122bf7
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-09-27T07:50:36-07:00
summary:

gh-96478: Fix new test when run in refleak mode (GH-96615)


./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 at gmail.com>

files:
M Lib/test/test_typing.py

diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 7df7e3ceb68..0fce96b76e0 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -4379,19 +4379,19 @@ def blah():
 
         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():



More information about the Python-checkins mailing list