https://github.com/python/cpython/commit/cc39b19f0fca8db0f881ecaf02f88d72d9f93776
commit: cc39b19f0fca8db0f881ecaf02f88d72d9f93776
branch: main
author: sobolevn <m...@sobolevn.me>
committer: sobolevn <m...@sobolevn.me>
date: 2025-04-30T16:41:50+03:00
summary:

gh-133167: Fix compilation process with `--enable-optimizations` and 
`--without-docstrings` (#133187)

files:
A Misc/NEWS.d/next/Build/2025-04-30-10-23-18.gh-issue-133167.E0jrYJ.rst
M Lib/test/support/__init__.py
M Lib/test/test_functools.py
M Lib/test/test_operator.py

diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 82f881094982f6..24984ad81fff99 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1332,8 +1332,8 @@ def _check_docstrings():
                         sys.platform != 'win32' and
                         not sysconfig.get_config_var('WITH_DOC_STRINGS'))
 
-HAVE_DOCSTRINGS = (_check_docstrings.__doc__ is not None and
-                   not MISSING_C_DOCSTRINGS)
+HAVE_PY_DOCSTRINGS = _check_docstrings.__doc__ is not None
+HAVE_DOCSTRINGS = (HAVE_PY_DOCSTRINGS and not MISSING_C_DOCSTRINGS)
 
 requires_docstrings = unittest.skipUnless(HAVE_DOCSTRINGS,
                                           "test requires docstrings")
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index 4794a7465f0b66..e3b449f2d24a2b 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -2952,7 +2952,7 @@ def static_func(arg: int) -> str:
                 self.assertEqual(meth.__qualname__, prefix + meth.__name__)
                 self.assertEqual(meth.__doc__,
                                  ('My function docstring'
-                                  if support.HAVE_DOCSTRINGS
+                                  if support.HAVE_PY_DOCSTRINGS
                                   else None))
                 self.assertEqual(meth.__annotations__['arg'], int)
 
@@ -3107,7 +3107,7 @@ def decorated_classmethod(cls, arg: int) -> str:
             with self.subTest(meth=meth):
                 self.assertEqual(meth.__doc__,
                                  ('My function docstring'
-                                  if support.HAVE_DOCSTRINGS
+                                  if support.HAVE_PY_DOCSTRINGS
                                   else None))
                 self.assertEqual(meth.__annotations__['arg'], int)
 
@@ -3584,7 +3584,7 @@ def test_access_from_class(self):
     def test_doc(self):
         self.assertEqual(CachedCostItem.cost.__doc__,
                          ("The cost of the item."
-                          if support.HAVE_DOCSTRINGS
+                          if support.HAVE_PY_DOCSTRINGS
                           else None))
 
     def test_module(self):
diff --git a/Lib/test/test_operator.py b/Lib/test/test_operator.py
index 1757824580e416..1f89986c777ced 100644
--- a/Lib/test/test_operator.py
+++ b/Lib/test/test_operator.py
@@ -636,6 +636,7 @@ def test_dunder_is_original(self):
             if dunder:
                 self.assertIs(dunder, orig)
 
+    @support.requires_docstrings
     def test_attrgetter_signature(self):
         operator = self.module
         sig = inspect.signature(operator.attrgetter)
@@ -643,6 +644,7 @@ def test_attrgetter_signature(self):
         sig = inspect.signature(operator.attrgetter('x', 'z', 'y'))
         self.assertEqual(str(sig), '(obj, /)')
 
+    @support.requires_docstrings
     def test_itemgetter_signature(self):
         operator = self.module
         sig = inspect.signature(operator.itemgetter)
@@ -650,6 +652,7 @@ def test_itemgetter_signature(self):
         sig = inspect.signature(operator.itemgetter(2, 3, 5))
         self.assertEqual(str(sig), '(obj, /)')
 
+    @support.requires_docstrings
     def test_methodcaller_signature(self):
         operator = self.module
         sig = inspect.signature(operator.methodcaller)
diff --git 
a/Misc/NEWS.d/next/Build/2025-04-30-10-23-18.gh-issue-133167.E0jrYJ.rst 
b/Misc/NEWS.d/next/Build/2025-04-30-10-23-18.gh-issue-133167.E0jrYJ.rst
new file mode 100644
index 00000000000000..ee6d5a3b87995c
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2025-04-30-10-23-18.gh-issue-133167.E0jrYJ.rst
@@ -0,0 +1,2 @@
+Fix compilation process with ``--enable-optimizations`` and
+``--without-docstrings``.

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to