]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-123046: Fix regexp to catch cases where the module name is omitted from...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 16 Aug 2024 07:41:49 +0000 (09:41 +0200)
committerGitHub <noreply@github.com>
Fri, 16 Aug 2024 07:41:49 +0000 (07:41 +0000)
gh-123046: Fix regexp to catch cases where the module name is omitted from the weakref repr (GH-123047)
(cherry picked from commit 786cac0c64dc156dfee817e87f15ae56b7e3ed00)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: sobolevn <mail@sobolevn.me>
Lib/test/test_weakref.py

index ef2fe92cc219b639073878cccdf7756d93a78b9a..1a820d089d663dfb5f25142d9535279dec271c2c 100644 (file)
@@ -123,10 +123,12 @@ class ReferencesTestCase(TestBase):
     def test_ref_repr(self):
         obj = C()
         ref = weakref.ref(obj)
-        self.assertRegex(repr(ref),
-                         rf"<weakref at 0x[0-9a-fA-F]+; "
-                         rf"to '{C.__module__}.{C.__qualname__}' "
-                         rf"at 0x[0-9a-fA-F]+>")
+        regex = (
+            rf"<weakref at 0x[0-9a-fA-F]+; "
+            rf"to '{'' if __name__ == '__main__' else C.__module__ + '.'}{C.__qualname__}' "
+            rf"at 0x[0-9a-fA-F]+>"
+        )
+        self.assertRegex(repr(ref), regex)
 
         obj = None
         gc_collect()
@@ -141,10 +143,13 @@ class ReferencesTestCase(TestBase):
 
         obj2 = WithName()
         ref2 = weakref.ref(obj2)
-        self.assertRegex(repr(ref2),
-                         rf"<weakref at 0x[0-9a-fA-F]+; "
-                         rf"to '{WithName.__module__}.{WithName.__qualname__}' "
-                         rf"at 0x[0-9a-fA-F]+ \(custom_name\)>")
+        regex = (
+            rf"<weakref at 0x[0-9a-fA-F]+; "
+            rf"to '{'' if __name__ == '__main__' else WithName.__module__ + '.'}"
+            rf"{WithName.__qualname__}' "
+            rf"at 0x[0-9a-fA-F]+ +\(custom_name\)>"
+        )
+        self.assertRegex(repr(ref2), regex)
 
     def test_repr_failure_gh99184(self):
         class MyConfig(dict):
@@ -229,10 +234,12 @@ class ReferencesTestCase(TestBase):
     def test_proxy_repr(self):
         obj = C()
         ref = weakref.proxy(obj, self.callback)
-        self.assertRegex(repr(ref),
-                         rf"<weakproxy at 0x[0-9a-fA-F]+; "
-                         rf"to '{C.__module__}.{C.__qualname__}' "
-                         rf"at 0x[0-9a-fA-F]+>")
+        regex = (
+            rf"<weakproxy at 0x[0-9a-fA-F]+; "
+            rf"to '{'' if __name__ == '__main__' else C.__module__ + '.'}{C.__qualname__}' "
+            rf"at 0x[0-9a-fA-F]+>"
+        )
+        self.assertRegex(repr(ref), regex)
 
         obj = None
         gc_collect()