mirror of https://github.com/python/cpython
Patch #486438: Make module argument to testmod optional.
This commit is contained in:
parent
f86e8ef33e
commit
4581cfa326
|
@ -152,6 +152,10 @@ if __name__ == "__main__":
|
|||
_test()
|
||||
\end{verbatim}
|
||||
|
||||
If you want to test the module as the main module, you don't need to
|
||||
pass M to \function{testmod}; in this case, it will test the current
|
||||
module.
|
||||
|
||||
Then running the module as a script causes the examples in the docstrings
|
||||
to get executed and verified:
|
||||
|
||||
|
@ -392,7 +396,7 @@ definition of \function{_test()} is
|
|||
\begin{verbatim}
|
||||
def _test():
|
||||
import doctest, sys
|
||||
doctest.testmod(sys.modules["__main__"])
|
||||
doctest.testmod()
|
||||
\end{verbatim}
|
||||
\end{enumerate}
|
||||
|
||||
|
|
|
@ -1044,12 +1044,13 @@ see its docs for details.
|
|||
|
||||
master = None
|
||||
|
||||
def testmod(m, name=None, globs=None, verbose=None, isprivate=None,
|
||||
def testmod(m=None, name=None, globs=None, verbose=None, isprivate=None,
|
||||
report=1):
|
||||
"""m, name=None, globs=None, verbose=None, isprivate=None, report=1
|
||||
"""m=None, name=None, globs=None, verbose=None, isprivate=None, report=1
|
||||
|
||||
Test examples in docstrings in functions and classes reachable from
|
||||
module m, starting with m.__doc__. Private names are skipped.
|
||||
Test examples in docstrings in functions and classes reachable
|
||||
from module m (or the current module if m is not supplied), starting
|
||||
with m.__doc__. Private names are skipped.
|
||||
|
||||
Also test examples reachable from dict m.__test__ if it exists and is
|
||||
not None. m.__dict__ maps names to functions, classes and strings;
|
||||
|
@ -1090,6 +1091,13 @@ def testmod(m, name=None, globs=None, verbose=None, isprivate=None,
|
|||
|
||||
global master
|
||||
|
||||
if m is None:
|
||||
import sys
|
||||
# DWA - m will still be None if this wasn't invoked from the command
|
||||
# line, in which case the following TypeError is about as good an error
|
||||
# as we should expect
|
||||
m = sys.modules.get('__main__')
|
||||
|
||||
if not _ismodule(m):
|
||||
raise TypeError("testmod: module required; " + `m`)
|
||||
if name is None:
|
||||
|
|
|
@ -389,6 +389,9 @@ Extension modules
|
|||
Library
|
||||
-------
|
||||
|
||||
- doctest.testmod can now be called without argument, which means to
|
||||
test the current module.
|
||||
|
||||
- When cancelling a server that implemented threading with a keyboard
|
||||
interrupt, the server would shut down but not terminate (waiting on
|
||||
client threads). A new member variable, daemon_threads, was added to
|
||||
|
|
Loading…
Reference in New Issue