]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-136438: Make sure `test_compile` pass with all optimization levels (GH-136478)
authorSemyon Moroz <donbarbos@proton.me>
Thu, 28 Aug 2025 09:30:15 +0000 (09:30 +0000)
committerGitHub <noreply@github.com>
Thu, 28 Aug 2025 09:30:15 +0000 (11:30 +0200)
Lib/test/test_compile.py

index 8a66be9b3312624c4275c2eced9bddb43827743c..e4483c26cfd41befacee83e37d04876baa2fc3f4 100644 (file)
@@ -823,8 +823,10 @@ class TestSpecifics(unittest.TestCase):
             else:
                 return "unused"
 
-        self.assertEqual(f.__code__.co_consts,
-                         (f.__doc__, "used"))
+        if f.__doc__ is None:
+            self.assertEqual(f.__code__.co_consts, (True, "used"))
+        else:
+            self.assertEqual(f.__code__.co_consts, (f.__doc__, "used"))
 
     @support.cpython_only
     def test_remove_unused_consts_no_docstring(self):
@@ -869,7 +871,11 @@ class TestSpecifics(unittest.TestCase):
         def f1():
             "docstring"
             return 42
-        self.assertEqual(f1.__code__.co_consts, (f1.__doc__,))
+
+        if f1.__doc__ is None:
+            self.assertEqual(f1.__code__.co_consts, (42,))
+        else:
+            self.assertEqual(f1.__code__.co_consts, (f1.__doc__,))
 
     # This is a regression test for a CPython specific peephole optimizer
     # implementation bug present in a few releases.  It's assertion verifies