[Python-checkins] python/dist/src/Lib doctest.py,1.96,1.97

tim_one at users.sourceforge.net tim_one at users.sourceforge.net
Mon Aug 30 18:19:27 CEST 2004


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31048/Lib
Modified Files:
	doctest.py 
Log Message:
The distinction between comparison flags and reporting flags isn't unique
to unittest, so make it official: new module constants COMPARISON_FLAGS
and REPORTING_FLAGS, which are bitmasks or'ing together the relevant
individual option flags.
set_unittest_reportflags(): Reworked to use REPORTING_FLAGS, and
simplified overly complicated flag logic.
class FakeModule: Removed this; neither documented nor used.
Index: doctest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/doctest.py,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -d -r1.96 -r1.97
--- doctest.py	29 Aug 2004 00:38:16 -0000	1.96
+++ doctest.py	30 Aug 2004 16:19:24 -0000	1.97
@@ -248,6 +248,7 @@
 # +---------+
 
 # Option constants.
+
 OPTIONFLAGS_BY_NAME = {}
 def register_optionflag(name):
 flag = 1 << len(OPTIONFLAGS_BY_NAME)
@@ -258,11 +259,22 @@
 DONT_ACCEPT_BLANKLINE = register_optionflag('DONT_ACCEPT_BLANKLINE')
 NORMALIZE_WHITESPACE = register_optionflag('NORMALIZE_WHITESPACE')
 ELLIPSIS = register_optionflag('ELLIPSIS')
+
+COMPARISON_FLAGS = (DONT_ACCEPT_TRUE_FOR_1 |
+ DONT_ACCEPT_BLANKLINE |
+ NORMALIZE_WHITESPACE |
+ ELLIPSIS)
+
 REPORT_UDIFF = register_optionflag('REPORT_UDIFF')
 REPORT_CDIFF = register_optionflag('REPORT_CDIFF')
 REPORT_NDIFF = register_optionflag('REPORT_NDIFF')
 REPORT_ONLY_FIRST_FAILURE = register_optionflag('REPORT_ONLY_FIRST_FAILURE')
 
+REPORTING_FLAGS = (REPORT_UDIFF |
+ REPORT_CDIFF |
+ REPORT_NDIFF |
+ REPORT_ONLY_FIRST_FAILURE)
+
 # Special string markers for use in `want` strings:
 BLANKLINE_MARKER = '<BLANKLINE>'
 ELLIPSIS_MARKER = '...'
@@ -1993,14 +2005,9 @@
 ######################################################################
 
 _unittest_reportflags = 0
-valid_unittest_reportflags = (
- REPORT_CDIFF |
- REPORT_UDIFF |
- REPORT_NDIFF |
- REPORT_ONLY_FIRST_FAILURE
- )
+
 def set_unittest_reportflags(flags):
- """Sets the unit test option flags
+ """Sets the unittest option flags.
 
 The old flag is returned so that a runner could restore the old
 value if it wished to:
@@ -2020,37 +2027,21 @@
 >>> set_unittest_reportflags(ELLIPSIS)
 Traceback (most recent call last):
 ...
- ValueError: ('Invalid flags passed', 8)
+ ValueError: ('Only reporting flags allowed', 8)
 
 >>> set_unittest_reportflags(old) == (REPORT_NDIFF |
 ... REPORT_ONLY_FIRST_FAILURE)
 True
-
 """
-
- # extract the valid reporting flags:
- rflags = flags & valid_unittest_reportflags
-
- # Now remove these flags from the given flags
- nrflags = flags ^ rflags
-
- if nrflags:
- raise ValueError("Invalid flags passed", flags)
-
 global _unittest_reportflags
+
+ if (flags & REPORTING_FLAGS) != flags:
+ raise ValueError("Only reporting flags allowed", flags)
 old = _unittest_reportflags
 _unittest_reportflags = flags
 return old
 
 
-class FakeModule:
- """Fake module created by tests
- """
-
- def __init__(self, dict, name):
- self.__dict__ = dict
- self.__name__ = name
-
 class DocTestCase(unittest.TestCase):
 
 def __init__(self, test, optionflags=0, setUp=None, tearDown=None,
@@ -2083,7 +2074,7 @@
 new = StringIO()
 optionflags = self._dt_optionflags
 
- if not (optionflags & valid_unittest_reportflags):
+ if not (optionflags & REPORTING_FLAGS):
 # The option flags don't include any reporting flags,
 # so add the default reporting flags
 optionflags |= _unittest_reportflags


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /