_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:
\begin{verbatim}
def _test():
import doctest, sys
- doctest.testmod(sys.modules["__main__"])
+ doctest.testmod()
\end{verbatim}
\end{enumerate}
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;
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:
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