[Python-checkins] python/dist/src/Lib doctest.py,1.101,1.102
tim_one at users.sourceforge.net
tim_one at users.sourceforge.net
Mon Sep 13 02:52:53 CEST 2004
Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17312/Lib
Modified Files:
doctest.py
Log Message:
Reluctantly, rehabilitate doctest.master.
Index: doctest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/doctest.py,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- doctest.py 12 Sep 2004 22:45:17 -0000 1.101
+++ doctest.py 13 Sep 2004 00:52:50 -0000 1.102
@@ -1531,6 +1531,20 @@
print "Test passed."
return totalf, totalt
+ #/////////////////////////////////////////////////////////////////
+ # Backward compatibility cruft to maintain doctest.master.
+ #/////////////////////////////////////////////////////////////////
+ def merge(self, other):
+ d = self._name2ft
+ for name, (f, t) in other._name2ft.items():
+ if name in d:
+ print "*** DocTestRunner.merge: '" + name + "' in both" \
+ " testers; summing outcomes."
+ f2, t2 = d[name]
+ f = f + f2
+ t = t + t2
+ d[name] = f, t
+
class OutputChecker:
"""
A class used to check the whether the actual output from a doctest
@@ -1810,6 +1824,10 @@
######################################################################
# These should be backwards compatible.
+# For backward compatibility, a global instance of a DocTestRunner
+# class, updated by testmod.
+master = None
+
def testmod(m=None, name=None, globs=None, verbose=None, isprivate=None,
report=True, optionflags=0, extraglobs=None,
raise_on_error=False):
@@ -1883,6 +1901,8 @@
displaying a summary. Invoke doctest.master.summarize(verbose)
when you're done fiddling.
"""
+ global master
+
if isprivate is not None:
warnings.warn("the isprivate argument is deprecated; "
"examine DocTestFinder.find() lists instead",
@@ -1917,6 +1937,11 @@
if report:
runner.summarize()
+ if master is None:
+ master = runner
+ else:
+ master.merge(runner)
+
return runner.failures, runner.tries
def run_docstring_examples(f, globs, verbose=False, name="NoName",
@@ -2007,15 +2032,7 @@
return self.testrunner.summarize(verbose)
def merge(self, other):
- d = self.testrunner._name2ft
- for name, (f, t) in other.testrunner._name2ft.items():
- if name in d:
- print "*** Tester.merge: '" + name + "' in both" \
- " testers; summing outcomes."
- f2, t2 = d[name]
- f = f + f2
- t = t + t2
- d[name] = f, t
+ self.testrunner.merge(other.testrunner)
######################################################################
## 8. Unittest Support
More information about the Python-checkins
mailing list