8000 bpo-34136: Make test_do_not_recreate_annotations more reliable. (GH-8… · python/cpython@06ca3f0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 06ca3f0

Browse files
bpo-34136: Make test_do_not_recreate_annotations more reliable. (GH-8364)
1 parent f2626ce commit 06ca3f0

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

Lib/test/test_opcodes.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Python test set -- part 2, opcodes
22

33
import unittest
4-
from test import ann_module
4+
from test import ann_module, support
55

66
class OpcodeTest(unittest.TestCase):
77

@@ -42,10 +42,14 @@ def test_use_existing_annotations(self):
4242
self.assertEqual(ns['__annotations__'], {'x': int, 1: 2})
4343

4444
def test_do_not_recreate_annotations(self):
45-
class C:
46-
del __annotations__
47-
with self.assertRaises(NameError):
48-
x: int
45+
annotations = {}
46+
# Don't rely on the existence of the '__annotations__' global.
47+
with support.swap_item(globals(), '__annotations__', annotations):
48+
class C:
49+
del __annotations__
50+
x: int # Updates the '__annotations__' global.
51+
self.assertIn('x', annotations)
52+
self.assertIs(annotations['x'], int)
4953

5054
def test_raise_class_exceptions(self):
5155

0 commit comments

Comments
 (0)
0