Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.4k
Closed
Description
Feature or enhancement
The doctest output looks likethis:
Document: howto/ipaddress-------------------------1 items passed all tests: 10 tests in default10 tests in 1 items.10 passed and 0 failed.Test passed.Document: howto/functional--------------------------1 items passed all tests: 50 tests in default50 tests in 1 items.50 passed and 0 failed.Test passed.Document: whatsnew/3.2----------------------1 items passed all tests: 81 tests in default81 tests in 1 items.81 passed and 0 failed.Test passed.Document: tutorial/inputoutput------------------------------1 items passed all tests: 4 tests in default4 tests in 1 items.4 passed and 0 failed.Test passed.Document: library/configparser------------------------------1 items passed all tests: 82 tests in default82 tests in 1 items.82 passed and 0 failed.Test passed.1 items passed all tests: 1 tests in default (cleanup code)1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/weakref-------------------------1 items passed all tests: 31 tests in default31 tests in 1 items.31 passed and 0 failed.Test passed.Document: library/multiprocessing.shared_memory-----------------------------------------------1 items passed all tests: 79 tests in default79 tests in 1 items.79 passed and 0 failed.Test passed.Document: library/base64------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: howto/sorting-----------------------1 items passed all tests: 42 tests in default42 tests in 1 items.42 passed and 0 failed.Test passed.Document: whatsnew/2.7----------------------1 items passed all tests: 39 tests in default39 tests in 1 items.39 passed and 0 failed.Test passed.Document: reference/executionmodel----------------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: tutorial/floatingpoint--------------------------------1 items passed all tests: 35 tests in default35 tests in 1 items.35 passed and 0 failed.Test passed.Document: library/binascii--------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: library/decimal-------------------------2 items passed all tests: 66 tests in default 42 tests in newcontext108 tests in 2 items.108 passed and 0 failed.Test passed.2 items passed all tests: 1 tests in default (cleanup code) 1 tests in newcontext (cleanup code)2 tests in 2 items.2 passed and 0 failed.Test passed.Document: library/inspect-------------------------**********************************************************************File "library/inspect.rst", line 438, in defaultFailed example: inspect.isasyncgenfunction(agen)Expected: FalseGot: True**********************************************************************1 items had failures: 1 of 35 in default35 tests in 1 items.34 passed and 1 failed.***Test Failed*** 1 failures.Document: library/glob----------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: library/email.policy------------------------------1 items passed all tests: 10 tests in default10 tests in 1 items.10 passed and 0 failed.Test passed.1 items passed all tests: 1 tests in default (cleanup code)1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/datetime--------------------------1 items passed all tests: 36 tests in default36 tests in 1 items.36 passed and 0 failed.Test passed.Document: library/fractions---------------------------1 items passed all tests: 8 tests in default8 tests in 1 items.8 passed and 0 failed.Test passed.Document: reference/datamodel-----------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: library/functools---------------------------1 items passed all tests: 4 tests in default4 tests in 1 items.4 passed and 0 failed.Test passed.Document: library/random------------------------1 items passed all tests: 1 tests in import random1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/traceback---------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: faq/programming-------------------------1 items passed all tests: 34 tests in default34 tests in 1 items.34 passed and 0 failed.Test passed.Document: library/shlex-----------------------1 items passed all tests: 23 tests in default23 tests in 1 items.23 passed and 0 failed.Test passed.Document: library/urllib.parse------------------------------1 items passed all tests: 26 tests in default26 tests in 1 items.26 passed and 0 failed.Test passed.Document: library/unittest.mock-examples----------------------------------------1 items passed all tests: 200 tests in default200 tests in 1 items.200 passed and 0 failed.Test passed.Document: library/collections.abc---------------------------------1 items passed all tests: 9 tests in default9 tests in 1 items.9 passed and 0 failed.Test passed.Document: library/fnmatch-------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: library/graphlib--------------------------1 items passed all tests: 11 tests in default11 tests in 1 items.11 passed and 0 failed.Test passed.Document: library/email.message-------------------------------1 items passed all tests: 4 tests in default4 tests in 1 items.4 passed and 0 failed.Test passed.Document: library/exceptions----------------------------1 items passed all tests: 11 tests in default11 tests in 1 items.11 passed and 0 failed.Test passed.Document: library/unicodedata-----------------------------1 items passed all tests: 7 tests in default7 tests in 1 items.7 passed and 0 failed.Test passed.Document: library/re--------------------1 items passed all tests: 12 tests in default12 tests in 1 items.12 passed and 0 failed.Test passed.Document: whatsnew/3.13-----------------------1 items passed all tests: 1 tests in default1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/http.cookies------------------------------1 items passed all tests: 30 tests in default30 tests in 1 items.30 passed and 0 failed.Test passed.Document: library/ftplib------------------------1 items passed all tests: 2 tests in default2 tests in 1 items.2 passed and 0 failed.Test passed.Document: library/pprint------------------------1 items passed all tests: 16 tests in default16 tests in 1 items.16 passed and 0 failed.Test passed.Document: howto/descriptor--------------------------1 items passed all tests: 183 tests in default183 tests in 1 items.183 passed and 0 failed.Test passed.1 items passed all tests: 1 tests in default (cleanup code)1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/turtle------------------------1 items passed all tests: 314 tests in default314 tests in 1 items.314 passed and 0 failed.Test passed.Document: library/difflib-------------------------1 items passed all tests: 43 tests in default43 tests in 1 items.43 passed and 0 failed.Test passed.Document: library/math----------------------1 items passed all tests: 8 tests in default8 tests in 1 items.8 passed and 0 failed.Test passed.Document: library/pathlib-------------------------1 items passed all tests: 5 tests in default5 tests in 1 items.5 passed and 0 failed.Test passed.Document: library/unittest.mock-------------------------------1 items passed all tests: 462 tests in default462 tests in 1 items.462 passed and 0 failed.Test passed.Document: library/email.compat32-message----------------------------------------1 items passed all tests: 3 tests in default3 tests in 1 items.3 passed and 0 failed.Test passed.Document: library/copyreg-------------------------1 items passed all tests: 7 tests in default7 tests in 1 items.7 passed and 0 failed.Test passed.Document: library/getopt------------------------1 items passed all tests: 12 tests in default12 tests in 1 items.12 passed and 0 failed.Test passed.Document: reference/simple_stmts--------------------------------1 items passed all tests: 1 tests in default1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/typing------------------------1 items passed all tests: 58 tests in default58 tests in 1 items.58 passed and 0 failed.Test passed.Document: whatsnew/3.8----------------------1 items passed all tests: 6 tests in default6 tests in 1 items.6 passed and 0 failed.Test passed.Document: library/argparse--------------------------1 items passed all tests: 11 tests in default11 tests in 1 items.11 passed and 0 failed.Test passed.Document: library/stdtypes--------------------------1 items passed all tests: 59 tests in default59 tests in 1 items.59 passed and 0 failed.Test passed.Document: library/secrets-------------------------1 items passed all tests: 7 tests in default7 tests in 1 items.7 passed and 0 failed.Test passed.Document: tutorial/introduction-------------------------------1 items passed all tests: 3 tests in default3 tests in 1 items.3 passed and 0 failed.Test passed.Document: library/codecs------------------------1 items passed all tests: 2 tests in default2 tests in 1 items.2 passed and 0 failed.Test passed.Document: library/statistics----------------------------1 items passed all tests: 117 tests in default117 tests in 1 items.117 passed and 0 failed.Test passed.Document: library/enum----------------------1 items passed all tests: 19 tests in default19 tests in 1 items.19 passed and 0 failed.Test passed.Document: library/multiprocessing---------------------------------1 items passed all tests: 48 tests in default48 tests in 1 items.48 passed and 0 failed.Test passed.Document: library/ast---------------------1 items passed all tests: 74 tests in default74 tests in 1 items.74 passed and 0 failed.Test passed.Document: library/doctest-------------------------1 items passed all tests: 9 tests in default9 tests in 1 items.9 passed and 0 failed.Test passed.Document: library/email.iterators---------------------------------1 items passed all tests: 2 tests in default2 tests in 1 items.2 passed and 0 failed.Test passed.1 items passed all tests: 1 tests in default (cleanup code)1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/bz2---------------------1 items passed all tests: 17 tests in default17 tests in 1 items.17 passed and 0 failed.Test passed.1 items passed all tests: 1 tests in default (cleanup code)1 tests in 1 items.1 passed and 0 failed.Test passed.Document: library/functions---------------------------1 items passed all tests: 29 tests in default29 tests in 1 items.29 passed and 0 failed.Test passed.Document: library/struct------------------------1 items passed all tests: 4 tests in default4 tests in 1 items.4 passed and 0 failed.Test passed.Document: library/time----------------------1 items passed all tests: 2 tests in default2 tests in 1 items.2 passed and 0 failed.Test passed.Document: library/itertools---------------------------1 items passed all tests: 268 tests in default268 tests in 1 items.268 passed and 0 failed.Test passed.Document: library/ipaddress---------------------------1 items passed all tests: 50 tests in default50 tests in 1 items.50 passed and 0 failed.Test passed.Document: library/sqlite3-------------------------4 items passed all tests: 71 tests in default 3 tests in sqlite3.cursor 3 tests in sqlite3.limits 8 tests in sqlite3.trace85 tests in 4 items.85 passed and 0 failed.Test passed.Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Document: library/collections-----------------------------1 items passed all tests: 121 tests in default121 tests in 1 items.121 passed and 0 failed.Test passed.Document: library/reprlib-------------------------2 items passed all tests: 7 tests in default 8 tests in indent15 tests in 2 items.15 passed and 0 failed.Test passed.Document: library/dis---------------------1 items passed all tests: 3 tests in default3 tests in 1 items.3 passed and 0 failed.Test passed.Exception ignored in sys.unraisablehook: <function debug at 0x7fbdb071bc50>Traceback (most recent call last): File "<doctest sqlite3.trace[4]>", line 2, in debugAttributeError: 'sqlite3.Connection' object has no attribute '__name__'Document: library/operator--------------------------1 items passed all tests: 15 tests in default15 tests in 1 items.15 passed and 0 failed.Test passed.Document: whatsnew/3.12-----------------------1 items passed all tests: 12 tests in default12 tests in 1 items.12 passed and 0 failed.Test passed.Document: library/hashlib-------------------------1 items passed all tests: 58 tests in default58 tests in 1 items.58 passed and 0 failed.Test passed.Document: library/ssl---------------------2 items passed all tests: 3 tests in default 5 tests in newcontext8 tests in 2 items.8 passed and 0 failed.Test passed.Document: library/ctypes------------------------1 items passed all tests: 6 tests in default6 tests in 1 items.6 passed and 0 failed.Test passed.Doctest summary=============== 3222 tests 1 failure in tests 0 failures in setup code 0 failures in cleanup code
When you know a doctest run has failed on the CI, you might search the logs for "failed" to find it. But when 81 of 84 results are for "0 failed" it's not so helpful.
There's no need to print "0 failed" in the logs, we should only print that when there's 1+ failed.
There are lots of logs with "1 items" or "1 tests". Let's skip the "s" when only one.
And now we havecolour handling in 3.13, it would also help to add some colour to the output.
I'll open some PRs.