[Python-checkins] python/dist/src/Lib/test test_doctest.py, 1.21, 1.22

tim_one at users.sourceforge.net tim_one at users.sourceforge.net
Thu Aug 19 08:49:36 CEST 2004


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3017/Lib/test

Modified Files:
	test_doctest.py 
Log Message:
ELLIPSIS implementation:  an ellipsis couldn't match nothing if it
appeared at the end of a line.  Repaired that.  Also noted that it's
too easy to provoke this implementation into requiring exponential
time, and especially when a test fails.  I'll replace the implementation
with an always-efficient one later.


Index: test_doctest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_doctest.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** test_doctest.py	17 Aug 2004 16:37:12 -0000	1.21
--- test_doctest.py	19 Aug 2004 06:49:33 -0000	1.22
***************
*** 781,784 ****
--- 781,807 ----
      (0, 1)
  
+ ... should also match nothing gracefully:
+ XXX This can be provoked into requiring exponential time by adding more
+ XXX ellipses; the implementation should change.  It's much easier to
+ XXX provoke exponential time with expected output that doesn't match,
+ XXX BTW (then multiple regexp .* thingies each try all possiblities,
+ XXX multiplicatively, without hope of success).  That's the real danger,
+ XXX that a failing test will appear to be hung.
+ 
+     >>> for i in range(100):
+     ...     print i**2 #doctest: +ELLIPSIS
+     0
+     ...
+     1
+     ...
+     36
+     ...
+     ...
+     49
+     64
+     ......
+     9801
+     ...
+ 
  The UNIFIED_DIFF flag causes failures that involve multi-line expected
  and actual outputs to be displayed using a unified diff:



More information about the Python-checkins mailing list