Skip to content

Commit

Permalink
Tweaks to doctest_show_successes (#11535)
Browse files Browse the repository at this point in the history
  • Loading branch information
AA-Turner committed Jul 28, 2023
1 parent aef5445 commit ff20efc
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
2 changes: 2 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Features added
Patch by Latosha Maltba.
* #11221: C++: Support domain objects in the table of contents.
Patch by Rouslan Korneychuk.
* 10938: doctest: Add :confval:`doctest_show_successes` option.
Patch by Trey Hunner.

Bugs fixed
----------
Expand Down
10 changes: 10 additions & 0 deletions doc/usage/extensions/doctest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,16 @@ The doctest extension uses the following configuration values:

.. versionadded:: 1.5

.. confval:: doctest_show_successes

Defaults to ``True``.
Controls whether successes are reported.

For a project with many doctests,
it may be useful to set this to ``False`` to only highlight failures.

.. versionadded:: 7.2

.. confval:: doctest_path

A list of directories that will be added to :data:`sys.path` when the doctest
Expand Down
14 changes: 8 additions & 6 deletions sphinx/ext/doctest.py
Original file line number Diff line number Diff line change
Expand Up @@ -454,9 +454,11 @@ def condition(node: Node) -> bool:
if not groups:
return

if self.config.doctest_show_successes:
self._out('\nDocument: %s\n----------%s\n' %
(docname, '-' * len(docname)))
show_successes = self.config.doctest_show_successes
if show_successes:
self._out('\n'
f'Document: {docname}\n'
f'----------{"-" * len(docname)}\n')
for group in groups.values():
self.test_group(group)
# Separately count results from setup code
Expand All @@ -465,12 +467,12 @@ def condition(node: Node) -> bool:
self.setup_tries += res_t
if self.test_runner.tries:
res_f, res_t = self.test_runner.summarize(
self._out, verbose=self.config.doctest_show_successes)
self._out, verbose=show_successes)
self.total_failures += res_f
self.total_tries += res_t
if self.cleanup_runner.tries:
res_f, res_t = self.cleanup_runner.summarize(
self._out, verbose=self.config.doctest_show_successes)
self._out, verbose=show_successes)
self.cleanup_failures += res_f
self.cleanup_tries += res_t

Expand Down Expand Up @@ -557,7 +559,7 @@ def setup(app: Sphinx) -> dict[str, Any]:
app.add_directive('testoutput', TestoutputDirective)
app.add_builder(DocTestBuilder)
# this config value adds to sys.path
app.add_config_value('doctest_show_successes', True, False)
app.add_config_value('doctest_show_successes', True, False, (bool,))
app.add_config_value('doctest_path', [], False)
app.add_config_value('doctest_test_doctest_blocks', 'default', False)
app.add_config_value('doctest_global_setup', '', False)
Expand Down

0 comments on commit ff20efc

Please sign in to comment.