sphinx-doc / sphinx-doc/sphinx
8.0.2: pytest fails in 7 units
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Describe the bug
Looks like pytest test suite fails in 7 units related to typing checks.
How to Reproduce
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation- because I'm calling
buildwith--no-isolationI'm using during all processes only locally installed modules - install .whl file in </install/prefix> using
installermodule - run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
- build is performed in env which is
cut off from access to the public network(pytest is executed with-m "not network")
Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-sphinx-8.0.2-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-sphinx-8.0.2-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
libraries: Sphinx-8.0.2, docutils-0.20.1
base tmp_path: /tmp/pytest-of-tkloczko/pytest-27
rootdir: /home/tkloczko/rpmbuild/BUILD/sphinx-8.0.2
configfile: pyproject.toml
testpaths: tests
plugins: hypothesis-6.100.0, flaky-3.8.1
collected 2193 items
tests/test_addnodes.py . [ 0%]
tests/test_application.py ........ [ 0%]
tests/test_builders/test_build.py ........... [ 0%]
tests/test_builders/test_build_changes.py .. [ 1%]
tests/test_builders/test_build_dirhtml.py . [ 1%]
tests/test_builders/test_build_epub.py ..........s.. [ 1%]
tests/test_builders/test_build_gettext.py ........... [ 2%]
tests/test_builders/test_build_html.py ................................. [ 3%]
............................. [ 4%]
tests/test_builders/test_build_html_5_output.py ........................ [ 6%]
........................................................................ [ 9%]
....................................................................... [ 12%]
tests/test_builders/test_build_html_assets.py ..... [ 12%]
tests/test_builders/test_build_html_code.py ... [ 12%]
tests/test_builders/test_build_html_download.py .. [ 13%]
tests/test_builders/test_build_html_highlight.py ...... [ 13%]
tests/test_builders/test_build_html_image.py ...... [ 13%]
tests/test_builders/test_build_html_maths.py ....... [ 13%]
tests/test_builders/test_build_html_numfig.py .......................... [ 15%]
........................................................................ [ 18%]
........................................................................ [ 21%]
......................................................... [ 24%]
tests/test_builders/test_build_html_tocdepth.py ........................ [ 25%]
................................. [ 26%]
tests/test_builders/test_build_latex.py ssssss.......................... [ 28%]
........................s..................s........... [ 30%]
tests/test_builders/test_build_linkcheck.py ............................ [ 32%]
............. [ 32%]
tests/test_builders/test_build_manpage.py ...... [ 32%]
tests/test_builders/test_build_texinfo.py ......... [ 33%]
tests/test_builders/test_build_text.py ............... [ 34%]
tests/test_builders/test_build_warnings.py .... [ 34%]
tests/test_builders/test_builder.py .. [ 34%]
tests/test_config/test_config.py ....................................... [ 36%]
........................... [ 37%]
tests/test_config/test_correct_year.py ... [ 37%]
tests/test_directives/test_directive_code.py ........................... [ 38%]
.............. [ 39%]
tests/test_directives/test_directive_object_description.py .. [ 39%]
tests/test_directives/test_directive_only.py . [ 39%]
tests/test_directives/test_directive_option.py ... [ 39%]
tests/test_directives/test_directive_other.py .......... [ 40%]
tests/test_directives/test_directive_patch.py ... [ 40%]
tests/test_directives/test_directives_no_typesetting.py ..............ss [ 40%]
.....ss.........sss.............. [ 42%]
tests/test_domains/test_domain_c.py ................................... [ 44%]
tests/test_domains/test_domain_cpp.py .................................. [ 45%]
........................................................................ [ 48%]
.......... [ 49%]
tests/test_domains/test_domain_js.py ................... [ 50%]
tests/test_domains/test_domain_py.py ................................... [ 51%]
.............. [ 52%]
tests/test_domains/test_domain_py_canonical.py ..... [ 52%]
tests/test_domains/test_domain_py_fields.py ....... [ 52%]
tests/test_domains/test_domain_py_pyfunction.py .............. [ 53%]
tests/test_domains/test_domain_py_pyobject.py ................. [ 54%]
tests/test_domains/test_domain_rst.py ........ [ 54%]
tests/test_domains/test_domain_std.py ...................... [ 55%]
tests/test_environment/test_environment.py .... [ 55%]
tests/test_environment/test_environment_indexentries.py ........ [ 56%]
tests/test_environment/test_environment_record_dependencies.py . [ 56%]
tests/test_environment/test_environment_toctree.py ............ [ 56%]
tests/test_errors.py .. [ 56%]
tests/test_events.py ... [ 57%]
tests/test_extensions/test_ext_apidoc.py .......................... [ 58%]
tests/test_extensions/test_ext_autodoc.py .............................. [ 59%]
.............................F.........s............. [ 62%]
tests/test_extensions/test_ext_autodoc_autoattribute.py ..........F. [ 62%]
tests/test_extensions/test_ext_autodoc_autoclass.py ........F.F......... [ 63%]
.... [ 63%]
tests/test_extensions/test_ext_autodoc_autodata.py ....F. [ 64%]
tests/test_extensions/test_ext_autodoc_autofunction.py .........F.... [ 64%]
tests/test_extensions/test_ext_autodoc_automodule.py ...... [ 64%]
tests/test_extensions/test_ext_autodoc_autoproperty.py ...... [ 65%]
tests/test_extensions/test_ext_autodoc_configs.py ...................... [ 66%]
......F... [ 66%]
tests/test_extensions/test_ext_autodoc_events.py ...... [ 66%]
tests/test_extensions/test_ext_autodoc_mock.py ....... [ 67%]
tests/test_extensions/test_ext_autodoc_preserve_defaults.py .. [ 67%]
tests/test_extensions/test_ext_autodoc_private_members.py ..... [ 67%]
tests/test_extensions/test_ext_autosectionlabel.py ... [ 67%]
tests/test_extensions/test_ext_autosummary.py .......................... [ 68%]
. [ 68%]
tests/test_extensions/test_ext_autosummary_imports.py .. [ 69%]
tests/test_extensions/test_ext_coverage.py .... [ 69%]
tests/test_extensions/test_ext_doctest.py ...... [ 69%]
tests/test_extensions/test_ext_duration.py . [ 69%]
tests/test_extensions/test_ext_extlinks.py ... [ 69%]
tests/test_extensions/test_ext_githubpages.py ... [ 69%]
tests/test_extensions/test_ext_graphviz.py ..... [ 70%]
tests/test_extensions/test_ext_ifconfig.py .. [ 70%]
tests/test_extensions/test_ext_imgconverter.py s [ 70%]
tests/test_extensions/test_ext_imgmockconverter.py . [ 70%]
tests/test_extensions/test_ext_inheritance_diagram.py ...... [ 70%]
tests/test_extensions/test_ext_intersphinx.py ..................... [ 71%]
tests/test_extensions/test_ext_intersphinx_cache.py .... [ 71%]
tests/test_extensions/test_ext_math.py sss....................... [ 72%]
tests/test_extensions/test_ext_napoleon.py ................. [ 73%]
tests/test_extensions/test_ext_napoleon_docstring.py ................... [ 74%]
................................. [ 75%]
tests/test_extensions/test_ext_todo.py ... [ 76%]
tests/test_extensions/test_ext_viewcode.py ...... [ 76%]
tests/test_extensions/test_extension.py . [ 76%]
tests/test_highlighting.py ..... [ 76%]
tests/test_intl/test_catalogs.py ... [ 76%]
tests/test_intl/test_intl.py ........................................... [ 78%]
................. [ 79%]
tests/test_intl/test_locale.py .... [ 79%]
tests/test_markup/test_markup.py ..................................... [ 81%]
tests/test_markup/test_metadata.py . [ 81%]
tests/test_markup/test_parser.py . [ 81%]
tests/test_markup/test_smartquotes.py .......... [ 81%]
tests/test_project.py ....... [ 82%]
tests/test_pycode/test_pycode.py ....... [ 82%]
tests/test_pycode/test_pycode_ast.py ................................... [ 84%]
........... [ 84%]
tests/test_pycode/test_pycode_parser.py ............................ [ 85%]
tests/test_quickstart.py .......... [ 86%]
tests/test_roles.py . [ 86%]
tests/test_search.py ................. [ 87%]
tests/test_theming/test_html_theme.py ... [ 87%]
tests/test_theming/test_templating.py ... [ 87%]
tests/test_theming/test_theming.py ....................... [ 88%]
tests/test_toctree.py ... [ 88%]
tests/test_transforms/test_transforms_move_module_targets.py .... [ 88%]
tests/test_transforms/test_transforms_post_transforms.py ............... [ 89%]
. [ 89%]
tests/test_transforms/test_transforms_post_transforms_code.py ... [ 89%]
tests/test_transforms/test_transforms_post_transforms_images.py . [ 89%]
tests/test_transforms/test_transforms_reorder_nodes.py ... [ 89%]
tests/test_util/test_util.py .... [ 90%]
tests/test_util/test_util_console.py ... [ 90%]
tests/test_util/test_util_display.py ..... [ 90%]
tests/test_util/test_util_docstrings.py ... [ 90%]
tests/test_util/test_util_docutils.py ... [ 90%]
tests/test_util/test_util_docutils_sphinx_directive.py ........ [ 91%]
tests/test_util/test_util_fileutil.py ..... [ 91%]
tests/test_util/test_util_i18n.py ....... [ 91%]
tests/test_util/test_util_images.py .... [ 91%]
tests/test_util/test_util_inspect.py ................................... [ 93%]
............ [ 93%]
tests/test_util/test_util_inventory.py ..... [ 94%]
tests/test_util/test_util_logging.py ................... [ 95%]
tests/test_util/test_util_matching.py ........... [ 95%]
tests/test_util/test_util_nodes.py ........................... [ 96%]
tests/test_util/test_util_rst.py .......... [ 97%]
tests/test_util/test_util_template.py .. [ 97%]
tests/test_util/test_util_typing.py .................................. [ 98%]
tests/test_versioning.py .......... [ 99%]
tests/test_writers/test_api_translator.py ........... [ 99%]
tests/test_writers/test_docutilsconf.py .. [ 99%]
tests/test_writers/test_writer_latex.py . [100%]
=================================== FAILURES ===================================
__________________________ test_autodoc_GenericAlias ___________________________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autodoc_GenericAlias(app):
options = {"members": None,
"undoc-members": None}
actual = do_autodoc(app, 'module', 'target.genericalias', options)
> assert list(actual) == [
'',
'.. py:module:: target.genericalias',
'',
'',
'.. py:class:: Class()',
' :module: target.genericalias',
'',
'',
' .. py:attribute:: Class.T',
' :module: target.genericalias',
'',
' A list of int',
'',
' alias of :py:class:`~typing.List`\\ [:py:class:`int`]',
'',
'',
'.. py:data:: L',
' :module: target.genericalias',
'',
' A list of Class',
'',
' alias of :py:class:`~typing.List`\\ '
'[:py:class:`~target.genericalias.Class`]',
'',
'',
'.. py:data:: T',
' :module: target.genericalias',
'',
' A list of int',
'',
' alias of :py:class:`~typing.List`\\ [:py:class:`int`]',
'',
]
E AssertionError: assert ['', '.. py:m...icalias', ...] == ['', '.. py:m...icalias', ...]
E
E At index 13 diff: ' alias of :py:class:`list`\\ [:py:class:`int`]' != ' alias of :py:class:`~typing.List`\\ [:py:class:`int`]'
E Right contains 5 more items, first extra item: ''
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc.py:2206: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
# warning:
_______________________ test_autoattribute_GenericAlias ________________________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autoattribute_GenericAlias(app):
actual = do_autodoc(app, 'attribute', 'target.genericalias.Class.T')
> assert list(actual) == [
'',
'.. py:attribute:: Class.T',
' :module: target.genericalias',
'',
' A list of int',
'',
' alias of :py:class:`~typing.List`\\ [:py:class:`int`]',
'',
]
E AssertionError: assert ['', '.. py:a...int', '', ...] == ['', '.. py:a...int', '', ...]
E
E At index 6 diff: ' alias of :py:class:`list`\\ [:py:class:`int`]' != ' alias of :py:class:`~typing.List`\\ [:py:class:`int`]'
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_autoattribute.py:142: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
______________ test_show_inheritance_for_subclass_of_generic_type ______________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_show_inheritance_for_subclass_of_generic_type(app):
options = {'show-inheritance': None}
actual = do_autodoc(app, 'class', 'target.classes.Quux', options)
> assert list(actual) == [
'',
'.. py:class:: Quux(iterable=(), /)',
' :module: target.classes',
'',
' Bases: :py:class:`~typing.List`\\ [:py:class:`int` | :py:class:`float`]',
'',
' A subclass of List[Union[int, float]]',
'',
]
E AssertionError: assert ['', '.. py:c...t`]', '', ...] == ['', '.. py:c...t`]', '', ...]
E
E At index 4 diff: ' Bases: :py:class:`list`\\ [:py:class:`int` | :py:class:`float`]' != ' Bases: :py:class:`~typing.List`\\ [:py:class:`int` | :py:class:`float`]'
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_autoclass.py:273: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
__________________________ test_autodoc_process_bases __________________________
app = <SphinxTestApp buildername='html'>, name = 'target.classes.Quux'
obj = <class 'target.classes.Quux'>
options = {'show-inheritance': True, 'members': []}
bases = [list[typing.Union[int, float]]]
def autodoc_process_bases(app, name, obj, options, bases):
assert name == 'target.classes.Quux'
assert obj.__module__ == 'target.classes'
assert obj.__name__ == 'Quux'
assert options == {'show-inheritance': True,
'members': []}
> assert bases == [typing.List[typing.Union[int, float]]] # NoQA: UP006, UP007
E assert [list[typing....[int, float]]] == [typing.List[...[int, float]]]
E
E At index 0 diff: list[typing.Union[int, float]] != typing.List[typing.Union[int, float]]
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_autoclass.py:307: AssertionError
The above exception was the direct cause of the following exception:
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autodoc_process_bases(app):
def autodoc_process_bases(app, name, obj, options, bases):
assert name == 'target.classes.Quux'
assert obj.__module__ == 'target.classes'
assert obj.__name__ == 'Quux'
assert options == {'show-inheritance': True,
'members': []}
assert bases == [typing.List[typing.Union[int, float]]] # NoQA: UP006, UP007
bases.pop()
bases.extend([int, str])
app.connect('autodoc-process-bases', autodoc_process_bases)
options = {'show-inheritance': None}
> actual = do_autodoc(app, 'class', 'target.classes.Quux', options)
tests/test_extensions/test_ext_autodoc_autoclass.py:315:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_extensions/autodoc_util.py:32: in do_autodoc
documenter.generate()
sphinx/ext/autodoc/__init__.py:1872: in generate
return super().generate(more_content=more_content,
sphinx/ext/autodoc/__init__.py:933: in generate
self.add_directive_header(sig)
sphinx/ext/autodoc/__init__.py:1707: in add_directive_header
self.env.events.emit('autodoc-process-bases',
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <sphinx.events.EventManager object at 0x7f38717f4b20>
name = 'autodoc-process-bases', allowed_exceptions = ()
args = ('target.classes.Quux', <class 'target.classes.Quux'>, {'show-inheritance': True, 'members': []}, [list[typing.Union[int, float]]])
results = []
listeners = [EventListener(id=66, handler=<function test_autodoc_process_bases.<locals>.autodoc_process_bases at 0x7f3876994820>, priority=500)]
def emit(
self, name: str, *args: Any, allowed_exceptions: tuple[type[Exception], ...] = ()
) -> list:
"""Emit a Sphinx event."""
# not every object likes to be repr()'d (think
# random stuff coming via autodoc)
with contextlib.suppress(Exception):
logger.debug('[app] emitting event: %r%s', name, repr(args)[:100])
results = []
listeners = sorted(self.listeners[name], key=attrgetter('priority'))
for listener in listeners:
try:
results.append(listener.handler(self.app, *args))
except allowed_exceptions:
# pass through the errors specified as *allowed_exceptions*
raise
except SphinxError:
raise
except Exception as exc:
if self.app.pdb:
# Just pass through the error, so that it can be debugged.
raise
modname = safe_getattr(listener.handler, '__module__', None)
> raise ExtensionError(
__('Handler %r for event %r threw an exception')
% (listener.handler, name),
exc,
modname=modname,
) from exc
E sphinx.errors.ExtensionError: Handler <function test_autodoc_process_bases.<locals>.autodoc_process_bases at 0x7f3876994820> for event 'autodoc-process-bases' threw an exception (exception: assert [list[typing....[int, float]]] == [typing.List[...[int, float]]]
E
E At index 0 diff: list[typing.Union[int, float]] != typing.List[typing.Union[int, float]]
E Use -v to get more diff)
sphinx/events.py:111: ExtensionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
__________________________ test_autodata_GenericAlias __________________________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autodata_GenericAlias(app):
actual = do_autodoc(app, 'data', 'target.genericalias.T')
> assert list(actual) == [
'',
'.. py:data:: T',
' :module: target.genericalias',
'',
' A list of int',
'',
' alias of :py:class:`~typing.List`\\ [:py:class:`int`]',
'',
]
E AssertionError: assert ['', '.. py:d...int', '', ...] == ['', '.. py:d...int', '', ...]
E
E At index 6 diff: ' alias of :py:class:`list`\\ [:py:class:`int`]' != ' alias of :py:class:`~typing.List`\\ [:py:class:`int`]'
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_autodata.py:72: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
_____________________ test_wrapped_function_contextmanager _____________________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_wrapped_function_contextmanager(app):
actual = do_autodoc(app, 'function', 'target.wrappedfunction.feeling_good')
> assert list(actual) == [
'',
'.. py:function:: feeling_good(x: int, y: int) -> ~typing.Generator',
' :module: target.wrappedfunction',
'',
" You'll feel better in this context!",
'',
]
E assert ['', '.. py:f...context!", ''] == ['', '.. py:f...context!", '']
E
E At index 1 diff: '.. py:function:: feeling_good(x: int, y: int) -> ~collections.abc.Generator' != '.. py:function:: feeling_good(x: int, y: int) -> ~typing.Generator'
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_autofunction.py:159: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
_______ test_autodoc_typehints_format_fully_qualified_for_generic_alias ________
app = <SphinxTestApp buildername='html'>
@pytest.mark.sphinx('html', testroot='ext-autodoc',
confoverrides={'autodoc_typehints_format': "fully-qualified"})
def test_autodoc_typehints_format_fully_qualified_for_generic_alias(app):
actual = do_autodoc(app, 'data', 'target.genericalias.L')
> assert list(actual) == [
'',
'.. py:data:: L',
' :module: target.genericalias',
'',
' A list of Class',
'',
' alias of :py:class:`~typing.List`\\ [:py:class:`target.genericalias.Class`]',
'',
]
E AssertionError: assert ['', '.. py:d...ass', '', ...] == ['', '.. py:d...ass', '', ...]
E
E At index 6 diff: ' alias of :py:class:`list`\\ [:py:class:`target.genericalias.Class`]' != ' alias of :py:class:`~typing.List`\\ [:py:class:`target.genericalias.Class`]'
E Use -v to get more diff
tests/test_extensions/test_ext_autodoc_configs.py:1568: AssertionError
--------------------------- Captured stdout teardown ---------------------------
# testroot: root
# builder: html
# srcdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc
# outdir: /tmp/pytest-of-tkloczko/pytest-27/ext-autodoc/_build/html
# status:
Running Sphinx v8.0.2
loading translations [en]... done
loading pickled environment... done
# warning:
=========================== short test summary info ============================
SKIPPED [1] tests/test_builders/test_build_epub.py:375: Skipped because DO_EPUBCHECK is not set
SKIPPED [6] tests/test_builders/test_build_latex.py:107: not running latex, the required styles do not seem to be installed
SKIPPED [1] tests/test_builders/test_build_latex.py:1198: not running latex, the required styles do not seem to be installed
SKIPPED [1] tests/test_builders/test_build_latex.py:1612: not running latex, the required styles do not seem to be installed
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:44: c:function does not support :no-index: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:44: cpp:function does not support :no-index: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:56: c:function does not support :no-index: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:56: cpp:function does not support :no-index: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:71: rst:directive does not support :no-index-entry: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:71: cmdoption does not support :no-index-entry: option
SKIPPED [1] tests/test_directives/test_directives_no_typesetting.py:71: envvar does not support :no-index-entry: option
SKIPPED [1] tests/test_extensions/test_ext_autodoc.py:2536: cython is not installed
SKIPPED [1] tests/test_extensions/test_ext_imgconverter.py:22: image_converter "convert" is not available
SKIPPED [1] tests/test_extensions/test_ext_math.py:25: Requires dvipng" binary
SKIPPED [1] tests/test_extensions/test_ext_math.py:45: Requires dvisvgm" binary
SKIPPED [1] tests/test_extensions/test_ext_math.py:66: Requires dvisvgm" binary
FAILED tests/test_extensions/test_ext_autodoc.py::test_autodoc_GenericAlias
FAILED tests/test_extensions/test_ext_autodoc_autoattribute.py::test_autoattribute_GenericAlias
FAILED tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
FAILED tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
FAILED tests/test_extensions/test_ext_autodoc_autodata.py::test_autodata_GenericAlias
FAILED tests/test_extensions/test_ext_autodoc_autofunction.py::test_wrapped_function_contextmanager
FAILED tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified_for_generic_alias
============ 7 failed, 2165 passed, 21 skipped in 170.92s (0:02:50) ============
Environment Information
Python 3.10.14.
List of installed modules in build env:
Package Version
----------------------------- -----------
alabaster 0.7.16
attrs 24.2.0
Babel 2.15.0
build 1.2.1
charset-normalizer 3.3.2
defusedxml 0.7.1
distro 1.9.0
docutils 0.20.1
exceptiongroup 1.1.3
filelock 3.15.4
flaky 3.8.1
html5lib 1.1
hypothesis 6.100.0
imagesize 1.4.1
importlib_metadata 8.0.0
iniconfig 2.0.0
installer 0.7.0
Jinja2 3.1.4
lxml 5.2.2
MarkupSafe 2.1.5
packaging 24.0
pluggy 1.5.0
Pygments 2.18.0
pyproject_hooks 1.0.0
pytest 8.2.2
python-dateutil 2.9.0.post0
requests 2.32.3
setuptools 70.2.0
snowballstemmer 2.2.0
sortedcontainers 2.4.0
Sphinx 7.3.7
sphinxcontrib-applehelp 1.0.8
sphinxcontrib-devhelp 1.0.6
sphinxcontrib-htmlhelp 2.0.5
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.7
sphinxcontrib-serializinghtml 2.0.0
sphinxcontrib-websupport 1.2.7
tokenize_rt 5.2.0
tomli 2.0.1
typing_extensions 4.12.2
urllib3 2.2.2
webencodings 0.5.1
wheel 0.44.0
zipp 3.19.2
Sphinx extensions
N/A
Additional context
N/A
Please let me know if you need more details or want me to perform some diagnostics.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the non-network pytest command described in the issue and inspect the failures in tests/test_extensions/test_ext_autodoc.py and its autoattribute, autoclass, autodata, autofunction, and configs test files. Trace the typing-related failures to their reported behavior and confirm that all seven failing units pass without introducing new failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100