mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #6508 from tk0miya/refactor_autosummary3
Fix #6507: autosummary: crashes without no autosummary_generate setting
This commit is contained in:
commit
64ca455c23
1
CHANGES
1
CHANGES
@ -42,6 +42,7 @@ Bugs fixed
|
||||
* #6439: Make generated download links reproducible
|
||||
* #6486: UnboundLocalError is raised if broken extension installed
|
||||
* #6498: autosummary: crashed with wrong autosummary_generate setting
|
||||
* #6507: autosummary: crashes without no autosummary_generate setting
|
||||
|
||||
Testing
|
||||
--------
|
||||
|
@ -257,19 +257,26 @@ class Autosummary(SphinxDirective):
|
||||
docname = posixpath.join(tree_prefix, real_name)
|
||||
docname = posixpath.normpath(posixpath.join(dirname, docname))
|
||||
if docname not in self.env.found_docs:
|
||||
location = self.state_machine.get_source_and_line(self.lineno)
|
||||
if excluded(self.env.doc2path(docname, None)):
|
||||
logger.warning(__('toctree references excluded document %r'), docname)
|
||||
msg = __('autosummary references excluded document %r. Ignored.')
|
||||
else:
|
||||
logger.warning(__('toctree references unknown document %r'), docname)
|
||||
msg = __('autosummary: stub file not found %r. '
|
||||
'Check your autosummary_generate setting.')
|
||||
|
||||
logger.warning(msg, real_name, location=location)
|
||||
continue
|
||||
|
||||
docnames.append(docname)
|
||||
|
||||
tocnode = addnodes.toctree()
|
||||
tocnode['includefiles'] = docnames
|
||||
tocnode['entries'] = [(None, docn) for docn in docnames]
|
||||
tocnode['maxdepth'] = -1
|
||||
tocnode['glob'] = None
|
||||
if docnames:
|
||||
tocnode = addnodes.toctree()
|
||||
tocnode['includefiles'] = docnames
|
||||
tocnode['entries'] = [(None, docn) for docn in docnames]
|
||||
tocnode['maxdepth'] = -1
|
||||
tocnode['glob'] = None
|
||||
|
||||
nodes.append(autosummary_toc('', '', tocnode))
|
||||
nodes.append(autosummary_toc('', '', tocnode))
|
||||
|
||||
return nodes
|
||||
|
||||
|
@ -304,7 +304,15 @@ def test_generate_autosummary_docs_property(app):
|
||||
".. autoproperty:: Base.prop")
|
||||
|
||||
|
||||
@pytest.mark.sphinx('dummy', testroot='ext-autosummary',
|
||||
confoverrides={'autosummary_generate': []})
|
||||
def test_empty_autosummary_generate(app, status, warning):
|
||||
app.build()
|
||||
assert ("WARNING: autosummary: stub file not found 'autosummary_importfail'"
|
||||
in warning.getvalue())
|
||||
|
||||
|
||||
@pytest.mark.sphinx('dummy', testroot='ext-autosummary',
|
||||
confoverrides={'autosummary_generate': ['unknown']})
|
||||
def test_invalid_autosummary_generate(app, status, warning):
|
||||
assert 'WARNING: autosummary_generate: file not found: unknown.rst' in warning.getvalue()
|
||||
assert 'WARNING: autosummary_generate: file not found: unknown.rst' in warning.getvalue()
|
Loading…
Reference in New Issue
Block a user