[Python-checkins] Doctest cleanups (GH-95436)

zware webhook-mailer at python.org
Sat Jul 30 18:21:26 EDT 2022


https://github.com/python/cpython/commit/82814624bf4049e4692a85d7973e62e469e6e5f5
commit: 82814624bf4049e4692a85d7973e62e469e6e5f5
branch: main
author: Zachary Ware <zach at python.org>
committer: zware <zachary.ware at gmail.com>
date: 2022年07月30日T17:21:08-05:00
summary:
Doctest cleanups (GH-95436)
* GHA: Don't hide doctest output
* Enable doctests in math.rst
* Squash warnings in nntplib.rst doctests
* Squash warning in turtle.rst doctest
* Squash warnings in whatsnew/3.2.rst doctests
* Treat warnings as errors in Doc/ doctests
files:
M .github/workflows/doc.yml
M Doc/conf.py
M Doc/library/math.rst
M Doc/library/nntplib.rst
M Doc/library/turtle.rst
M Doc/whatsnew/3.2.rst
diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
index e06f21671b5a5..d95d089ed6675 100644
--- a/.github/workflows/doc.yml
+++ b/.github/workflows/doc.yml
@@ -78,4 +78,4 @@ jobs:
 run: make -C Doc/ PYTHON=../python venv
 # Use "xvfb-run" since some doctest tests open GUI windows
 - name: 'Run documentation doctest'
- run: xvfb-run make -C Doc/ PYTHON=../python SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" doctest
+ run: xvfb-run make -C Doc/ PYTHON=../python SPHINXERRORHANDLING="-W --keep-going" doctest
diff --git a/Doc/conf.py b/Doc/conf.py
index 0c7deb59d130d..bf0af6a663c8b 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -22,6 +22,11 @@
 import _tkinter
 except ImportError:
 _tkinter = None
+# Treat warnings as errors, done here to prevent warnings in Sphinx code from
+# causing spurious test failures.
+import warnings
+warnings.simplefilter('error')
+del warnings
 '''
 
 manpages_url = 'https://manpages.debian.org/{path}'
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index 6d9a992f73131..e338959ffbe4b 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -108,7 +108,7 @@ Number-theoretic and representation functions
 .. function:: fsum(iterable)
 
 Return an accurate floating point sum of values in the iterable. Avoids
- loss of precision by tracking multiple intermediate partial sums::
+ loss of precision by tracking multiple intermediate partial sums:
 
 >>> sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
 0.9999999999999999
@@ -371,7 +371,7 @@ Power and logarithmic functions
 logarithms. For small floats *x*, the subtraction in ``exp(x) - 1``
 can result in a `significant loss of precision
 <https://en.wikipedia.org/wiki/Loss_of_significance>`_\; the :func:`expm1`
- function provides a way to compute this quantity to full precision::
+ function provides a way to compute this quantity to full precision:
 
 >>> from math import exp, expm1
 >>> exp(1e-5) - 1 # gives result accurate to 11 places
@@ -654,7 +654,7 @@ Constants
 not considered to equal to any other numeric value, including themselves. To check
 whether a number is a NaN, use the :func:`isnan` function to test
 for NaNs instead of ``is`` or ``==``.
- Example::
+ Example:
 
 >>> import math
 >>> math.nan == math.nan
diff --git a/Doc/library/nntplib.rst b/Doc/library/nntplib.rst
index 2a996e451bf7c..5aad44d929e87 100644
--- a/Doc/library/nntplib.rst
+++ b/Doc/library/nntplib.rst
@@ -14,6 +14,23 @@
 .. deprecated:: 3.11
 The :mod:`nntplib` module is deprecated (see :pep:`594` for details).
 
+.. testsetup::
+
+ import warnings
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore', category=DeprecationWarning)
+ import nntplib
+
+.. testcleanup::
+
+ try:
+ s.quit()
+ except NameError:
+ pass
+ import sys
+ # Force a warning if any other file imports nntplib
+ sys.modules.pop('nntplib')
+
 --------------
 
 This module defines the class :class:`NNTP` which implements the client side of
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index 17bf8829a9fed..5add61c759ea8 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -1279,7 +1279,7 @@ Appearance
 (direction of movement).
 
 .. doctest::
- :skipif: _tkinter is None
+ :skipif: _tkinter is None or 'always; deprecated method'
 
 >>> turtle.reset()
 >>> turtle.shape("circle")
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index 31f2ea85ffd23..c7b42ef0ed739 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -322,7 +322,7 @@ aspects that are visible to the programmer:
 * The tag that is unique to each interpreter is accessible from the :mod:`imp`
 module:
 
- >>> import imp
+ >>> import imp # doctest: +SKIP
 >>> imp.get_tag() # doctest: +SKIP
 'cpython-32'
 
@@ -330,7 +330,7 @@ aspects that are visible to the programmer:
 be smarter. It is no longer sufficient to simply strip the "c" from a ".pyc"
 filename. Instead, use the new functions in the :mod:`imp` module:
 
- >>> imp.source_from_cache('c:/py32/lib/__pycache__/collections.cpython-32.pyc')
+ >>> imp.source_from_cache('c:/py32/lib/__pycache__/collections.cpython-32.pyc') # doctest: +SKIP
 'c:/py32/lib/collections.py'
 >>> imp.cache_from_source('c:/py32/lib/collections.py') # doctest: +SKIP
 'c:/py32/lib/__pycache__/collections.cpython-32.pyc'


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /