]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #3158: Relax new doctests a bit.
authorZachary Ware <zachary.ware@gmail.com>
Sun, 24 Nov 2013 08:21:57 +0000 (02:21 -0600)
committerZachary Ware <zachary.ware@gmail.com>
Sun, 24 Nov 2013 08:21:57 +0000 (02:21 -0600)
Apparently, the number of objects with docstrings in builtins varies
with --with-pydebug (non-debug has one fewer).

Also, skip the new tests entirely if built --without-doc-strings.

Lib/test/test_doctest.py

index d99a16a47928941d3c79f0eb278878bdf521852a..5b53ca8e02fd1f97321112f769e8e40b25310034 100644 (file)
@@ -409,7 +409,8 @@ Compare `DocTestCase`:
 
 """
 
-def test_DocTestFinder(): r"""
+class test_DocTestFinder:
+    def basics(): r"""
 Unit tests for the `DocTestFinder` class.
 
 DocTestFinder is used to extract DocTests from an object's docstring
@@ -644,6 +645,10 @@ DocTestFinder finds the line number of each example:
     >>> test = doctest.DocTestFinder().find(f)[0]
     >>> [e.lineno for e in test.examples]
     [1, 9, 12]
+"""
+
+    if int.__doc__: # simple check for --without-doc-strings, skip if lacking
+        def non_Python_modules(): r"""
 
 Finding Doctests in Modules Not Written in Python
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -653,10 +658,10 @@ plain ol' Python and is guaranteed to be available.
 
     >>> import builtins
     >>> tests = doctest.DocTestFinder().find(builtins)
-    >>> len(tests) # how many objects checked for doctests
-    794
+    >>> 790 < len(tests) < 800 # approximate number of objects with docstrings
+    True
     >>> real_tests = [t for t in tests if len(t.examples) > 0]
-    >>> len(real_tests) # how many objects actually have doctests
+    >>> len(real_tests) # objects that actually have doctests
     8
     >>> for t in real_tests:
     ...     print('{}  {}'.format(len(t.examples), t.name))