-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Closed
Labels
Description
Describe the bug
The documentation for doctest_test_doctest_blocks
claims that If this is a nonempty string, standard reStructuredText doctest blocks will be tested too. They will be assigned to the group name given.
.
It does not. Regardless of the configuration value, the doctest blocks are assigned to the default
group.
How to Reproduce
index.rst
bug-demo documentation
======================
.. testsetup:: Custom
from module import *
.. autoclass:: module.MyClass
conf.py
import sys
sys.path.append(".")
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.doctest",
]
doctest_test_doctest_blocks = "Custom"
module.py
class MyClass:
"""
MyClass docstring
Examples
--------
>>> instance = MyClass("value")
"""
def __init__(self, value: str):
self._value = value
When running sphinx-build -M doctest
, observe failure:
**********************************************************************
1 item had failures:
1 of 1 in default
1 test in 1 item.
0 passed and 1 failed.
***Test Failed*** 1 failure.
Doctest summary
===============
1 test
1 failure in tests
0 failures in setup code
0 failures in cleanup code
build finished with problems.
Changing the ..testsetup
directive group to default
makes the build succeed, even though doctest_test_doctest_blocks
specifies that doctest blocks should be added to a Custom
group
Environment Information
Platform: win32; (Windows-11-10.0.26100-SP0)
Python version: 3.13.0 (tags/v3.13.0:60403a5, Oct 7 2024, 09:38:07) [MSC v.1941 64 bit (AMD64)])
Python implementation: CPython
Sphinx version: 8.2.3
Docutils version: 0.21.2
Jinja2 version: 3.1.6
Pygments version: 2.19.2
Sphinx extensions
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.doctest",
]
Additional context
It seems to me that the configuration variable simply isn't wired through:
Line 463 in 9a08711
node_groups = node.get('groups', ['default']) # type: ignore[attr-defined] |