]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix test_compile with -O mode (GH-115346)
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 19 Feb 2024 17:02:29 +0000 (19:02 +0200)
committerGitHub <noreply@github.com>
Mon, 19 Feb 2024 17:02:29 +0000 (19:02 +0200)
Lib/test/test_compile.py

index 4d8647be6a14f158bae4d031dc632a4a49b08f7b..0126780982059a3b33a056ea16aafb289dec6a44 100644 (file)
@@ -749,7 +749,7 @@ class TestSpecifics(unittest.TestCase):
                 return "unused"
 
         self.assertEqual(f.__code__.co_consts,
-                         ("docstring", "used"))
+                         (f.__doc__, "used"))
 
     @support.cpython_only
     def test_remove_unused_consts_no_docstring(self):
@@ -794,7 +794,7 @@ class TestSpecifics(unittest.TestCase):
         def f1():
             "docstring"
             return 42
-        self.assertEqual(f1.__code__.co_consts, ("docstring", 42))
+        self.assertEqual(f1.__code__.co_consts, (f1.__doc__, 42))
 
     # This is a regression test for a CPython specific peephole optimizer
     # implementation bug present in a few releases.  It's assertion verifies
@@ -1047,6 +1047,8 @@ class TestSpecifics(unittest.TestCase):
 
         for func in (no_code1, no_code2):
             with self.subTest(func=func):
+                if func is no_code1 and no_code1.__doc__ is None:
+                    continue
                 code = func.__code__
                 [(start, end, line)] = code.co_lines()
                 self.assertEqual(start, 0)
@@ -1524,6 +1526,7 @@ class TestSourcePositions(unittest.TestCase):
         self.assertOpcodeSourcePositionIs(compiled_code, 'POP_JUMP_IF_TRUE',
             line=4, end_line=4, column=8, end_column=13, occurrence=2)
 
+    @unittest.skipIf(sys.flags.optimize, "Assertions are disabled in optimized mode")
     def test_multiline_assert(self):
         snippet = textwrap.dedent("""\
             assert (a > 0 and