From f914e0ab09adc56abbe4bc20a195d7dc332971e1 Mon Sep 17 00:00:00 2001 From: Semyon Moroz Date: Thu, 28 Aug 2025 09:30:15 +0000 Subject: [PATCH] gh-136438: Make sure `test_compile` pass with all optimization levels (GH-136478) --- Lib/test/test_compile.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index 8a66be9b3312..e4483c26cfd4 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -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 -- 2.47.3