[Python-checkins] r85496 - in python/branches/release27-maint: Lib/doctest.py Lib/test/test_doctest.py Misc/NEWS

florent.xicluna python-checkins at python.org
Thu Oct 14 23:10:45 CEST 2010


Author: florent.xicluna
Date: Thu Oct 14 23:10:45 2010
New Revision: 85496

Log:
Merged revisions 85495 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85495 | florent.xicluna | 2010-10-14 22:56:20 +0200 (jeu., 14 oct. 2010) | 3 lines
  
  Fix the regex to match all kind of filenames, for interactive debugging in doctests. (issue #9409)
........


Modified:
   python/branches/release27-maint/Lib/doctest.py
   python/branches/release27-maint/Lib/test/test_doctest.py
   python/branches/release27-maint/Misc/NEWS

Modified: python/branches/release27-maint/Lib/doctest.py
==============================================================================
--- python/branches/release27-maint/Lib/doctest.py	(original)
+++ python/branches/release27-maint/Lib/doctest.py	Thu Oct 14 23:10:45 2010
@@ -1327,7 +1327,7 @@
         self.tries += t
 
     __LINECACHE_FILENAME_RE = re.compile(r'<doctest '
-                                         r'(?P<name>[\w\.]+)'
+                                         r'(?P<name>.+)'
                                          r'\[(?P<examplenum>\d+)\]>$')
     def __patched_linecache_getlines(self, filename, module_globals=None):
         m = self.__LINECACHE_FILENAME_RE.match(filename)

Modified: python/branches/release27-maint/Lib/test/test_doctest.py
==============================================================================
--- python/branches/release27-maint/Lib/test/test_doctest.py	(original)
+++ python/branches/release27-maint/Lib/test/test_doctest.py	Thu Oct 14 23:10:45 2010
@@ -1724,7 +1724,7 @@
       ... >>> import pdb; pdb.set_trace()
       ... '''
       >>> parser = doctest.DocTestParser()
-      >>> test = parser.get_doctest(doc, {}, "foo", "foo.py", 0)
+      >>> test = parser.get_doctest(doc, {}, "foo-bär at baz", "foo-bär at baz.py", 0)
       >>> runner = doctest.DocTestRunner(verbose=False)
 
     To demonstrate this, we'll create a fake standard input that
@@ -1740,7 +1740,7 @@
       >>> try: runner.run(test)
       ... finally: sys.stdin = real_stdin
       --Return--
-      > <doctest foo[1]>(1)<module>()->None
+      > <doctest foo-bär at baz[1]>(1)<module>()->None
       -> import pdb; pdb.set_trace()
       (Pdb) print x
       42
@@ -1757,7 +1757,7 @@
       ... >>> x=1
       ... >>> calls_set_trace()
       ... '''
-      >>> test = parser.get_doctest(doc, globals(), "foo", "foo.py", 0)
+      >>> test = parser.get_doctest(doc, globals(), "foo-bär at baz", "foo-bär at baz.py", 0)
       >>> real_stdin = sys.stdin
       >>> sys.stdin = _FakeInput([
       ...    'print y',  # print data defined in the function
@@ -1776,7 +1776,7 @@
       (Pdb) print y
       2
       (Pdb) up
-      > <doctest foo[1]>(1)<module>()
+      > <doctest foo-bär at baz[1]>(1)<module>()
       -> calls_set_trace()
       (Pdb) print x
       1
@@ -1794,7 +1794,7 @@
       ... ...     import pdb; pdb.set_trace()
       ... >>> f(3)
       ... '''
-      >>> test = parser.get_doctest(doc, globals(), "foo", "foo.py", 0)
+      >>> test = parser.get_doctest(doc, globals(), "foo-bär at baz", "foo-bär at baz.py", 0)
       >>> real_stdin = sys.stdin
       >>> sys.stdin = _FakeInput([
       ...    'list',     # list source from example 2
@@ -1808,7 +1808,7 @@
       ... finally: sys.stdin = real_stdin
       ... # doctest: +NORMALIZE_WHITESPACE
       --Return--
-      > <doctest foo[1]>(3)g()->None
+      > <doctest foo-bär at baz[1]>(3)g()->None
       -> import pdb; pdb.set_trace()
       (Pdb) list
         1     def g(x):
@@ -1817,7 +1817,7 @@
       [EOF]
       (Pdb) next
       --Return--
-      > <doctest foo[0]>(2)f()->None
+      > <doctest foo-bär at baz[0]>(2)f()->None
       -> g(x*2)
       (Pdb) list
         1     def f(x):
@@ -1825,14 +1825,14 @@
       [EOF]
       (Pdb) next
       --Return--
-      > <doctest foo[2]>(1)<module>()->None
+      > <doctest foo-bär at baz[2]>(1)<module>()->None
       -> f(3)
       (Pdb) list
         1  -> f(3)
       [EOF]
       (Pdb) continue
       **********************************************************************
-      File "foo.py", line 7, in foo
+      File "foo-bär at baz.py", line 7, in foo-bär at baz
       Failed example:
           f(3)
       Expected nothing
@@ -1866,7 +1866,7 @@
     ... '''
     >>> parser = doctest.DocTestParser()
     >>> runner = doctest.DocTestRunner(verbose=False)
-    >>> test = parser.get_doctest(doc, globals(), "foo", "foo.py", 0)
+    >>> test = parser.get_doctest(doc, globals(), "foo-bär at baz", "foo-bär at baz.py", 0)
     >>> real_stdin = sys.stdin
     >>> sys.stdin = _FakeInput([
     ...    'print y',  # print data defined in the function
@@ -1918,7 +1918,7 @@
     (Pdb) print y
     1
     (Pdb) up
-    > <doctest foo[1]>(1)<module>()
+    > <doctest foo-bär at baz[1]>(1)<module>()
     -> calls_set_trace()
     (Pdb) print foo
     *** NameError: name 'foo' is not defined

Modified: python/branches/release27-maint/Misc/NEWS
==============================================================================
--- python/branches/release27-maint/Misc/NEWS	(original)
+++ python/branches/release27-maint/Misc/NEWS	Thu Oct 14 23:10:45 2010
@@ -51,6 +51,9 @@
 Library
 -------
 
+- Issue 9409: Fix the regex to match all kind of filenames, for interactive
+  debugging in doctests.
+
 - Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the
   current directory was deleted. Patch written by W. Trevor King.
 


More information about the Python-checkins mailing list