From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 24 Jul 2018 12:05:57 +0000 (-0700) Subject: [3.7] bpo-34136: Make test_do_not_recreate_annotations more reliable. (GH-8364) ... X-Git-Tag: v3.7.1rc1~244 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=23a3297ff1076d91ca6d70caadf9606f1fee0776;p=thirdparty%2FPython%2Fcpython.git [3.7] bpo-34136: Make test_do_not_recreate_annotations more reliable. (GH-8364) (GH-8365) (cherry picked from commit 06ca3f0c09d017b9d741553818459cca2d5da587) Co-authored-by: Serhiy Storchaka --- diff --git a/Lib/test/test_opcodes.py b/Lib/test/test_opcodes.py index 6806c616cbef..b2a22861880f 100644 --- a/Lib/test/test_opcodes.py +++ b/Lib/test/test_opcodes.py @@ -1,7 +1,7 @@ # Python test set -- part 2, opcodes import unittest -from test import ann_module +from test import ann_module, support class OpcodeTest(unittest.TestCase): @@ -42,10 +42,13 @@ class OpcodeTest(unittest.TestCase): self.assertEqual(ns['__annotations__'], {'x': int, 1: 2}) def test_do_not_recreate_annotations(self): - class C: - del __annotations__ - with self.assertRaises(NameError): - x: int + # Don't rely on the existence of the '__annotations__' global. + with support.swap_item(globals(), '__annotations__', {}): + del globals()['__annotations__'] + class C: + del __annotations__ + with self.assertRaises(NameError): + x: int def test_raise_class_exceptions(self):