From c46a151cd46341b7f5ffd7fdd2dbe45e4946ccbf Mon Sep 17 00:00:00 2001 From: sobolevn Date: Sun, 21 Jan 2024 10:56:55 +0300 Subject: [PATCH 1/2] gh-108303: Remove `Lib/test/shadowed_super.py` --- Lib/test/shadowed_super.py | 7 ------- Lib/test/test_super.py | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 8 deletions(-) delete mode 100644 Lib/test/shadowed_super.py diff --git a/Lib/test/shadowed_super.py b/Lib/test/shadowed_super.py deleted file mode 100644 index 2a62f667e93818..00000000000000 --- a/Lib/test/shadowed_super.py +++ /dev/null @@ -1,7 +0,0 @@ -class super: - msg = "truly super" - - -class C: - def method(self): - return super().msg diff --git a/Lib/test/test_super.py b/Lib/test/test_super.py index f8e968b9b56f82..cd259aad4c7a64 100644 --- a/Lib/test/test_super.py +++ b/Lib/test/test_super.py @@ -1,8 +1,9 @@ """Unit tests for zero-argument super() & related machinery.""" +import textwrap import unittest from unittest.mock import patch -from test import shadowed_super +from test.support import import_helper ADAPTIVE_WARMUP_DELAY = 2 @@ -342,6 +343,18 @@ def test_super_argtype(self): super(1, int) def test_shadowed_global(self): + source = textwrap.dedent( + """ + class super: + msg = "truly super" + + class C: + def method(self): + return super().msg + """, + ) + with import_helper.ready_to_import(name="shadowed_super", source=source): + import shadowed_super self.assertEqual(shadowed_super.C().method(), "truly super") def test_shadowed_local(self): From b7c8540c78b166a29a0c0f4a836b6e298293cc7a Mon Sep 17 00:00:00 2001 From: sobolevn Date: Mon, 22 Jan 2024 16:53:44 +0300 Subject: [PATCH 2/2] Unload import --- Lib/test/test_super.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Lib/test/test_super.py b/Lib/test/test_super.py index cd259aad4c7a64..256b416caaa584 100644 --- a/Lib/test/test_super.py +++ b/Lib/test/test_super.py @@ -356,6 +356,7 @@ def method(self): with import_helper.ready_to_import(name="shadowed_super", source=source): import shadowed_super self.assertEqual(shadowed_super.C().method(), "truly super") + import_helper.unload("shadowed_super") def test_shadowed_local(self): class super: