[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-30T17: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