[Python-checkins] python/dist/src/Lib/test test_re.py,1.51,1.52

niemeyer at users.sourceforge.net niemeyer at users.sourceforge.net
Fri Sep 3 20:12:03 CEST 2004


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

Modified Files:
	test_re.py 
Log Message:
Fixing bug #817234, which made SRE get into an infinite loop on
empty final matches with finditer(). New test cases included
for this bug and for #581080.


Index: test_re.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_re.py,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- test_re.py	3 Sep 2004 17:06:10 -0000	1.51
+++ test_re.py	3 Sep 2004 18:11:59 -0000	1.52
@@ -567,6 +567,22 @@
         self.assertEqual(re.compile(pattern).split("a.b.c"),
                          ['a','b','c'])
 
+    def test_bug_581080(self):
+        iter = re.finditer(r"\s", "a b")
+        self.assertEqual(iter.next().span(), (1,2))
+        self.assertRaises(StopIteration, iter.next)
+
+        scanner = re.compile(r"\s").scanner("a b")
+        self.assertEqual(scanner.search().span(), (1, 2))
+        self.assertEqual(scanner.search(), None)
+
+    def test_bug_817234(self):
+        iter = re.finditer(r".*", "asdf")
+        self.assertEqual(iter.next().span(), (0, 4))
+        self.assertEqual(iter.next().span(), (4, 4))
+        self.assertRaises(StopIteration, iter.next)
+
+
 def run_re_tests():
     from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR
     if verbose:



More information about the Python-checkins mailing list