diff options
author | Kirill Podoprigora <kirill.bast9@mail.ru> | 2024-08-16 07:14:53 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-16 07:14:53 (GMT) |
commit | 786cac0c64dc156dfee817e87f15ae56b7e3ed00 (patch) | |
tree | 0071c2b4f6316cc423951e47dfd372ce445be1c4 /Lib/test | |
parent | f84cce6f2588c6437d69a30856d7c4ba00b70ae0 (diff) | |
download | cpython-786cac0c64dc156dfee817e87f15ae56b7e3ed00.zip cpython-786cac0c64dc156dfee817e87f15ae56b7e3ed00.tar.gz cpython-786cac0c64dc156dfee817e87f15ae56b7e3ed00.tar.bz2 |
gh-123046: Fix regexp to catch cases where the module name is omitted from the weakref repr (#123047)
Co-authored-by: sobolevn <mail@sobolevn.me>
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_weakref.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 2b9b2a0..023df68 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -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() |