From: Florent Xicluna Date: Thu, 14 Oct 2010 21:10:45 +0000 (+0000) Subject: Merged revisions 85495 via svnmerge from X-Git-Tag: v2.7.1rc1~158 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b67660fcceabd6cac7d4dea593db34bffa52dc98;p=python 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) ........ --- diff --git a/Lib/doctest.py b/Lib/doctest.py index d47a60f3f5..dd579fd69c 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -1327,7 +1327,7 @@ class DocTestRunner: self.tries += t __LINECACHE_FILENAME_RE = re.compile(r'[\w\.]+)' + r'(?P.+)' r'\[(?P\d+)\]>$') def __patched_linecache_getlines(self, filename, module_globals=None): m = self.__LINECACHE_FILENAME_RE.match(filename) diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index b30bcabc69..84c0798719 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -1724,7 +1724,7 @@ def test_pdb_set_trace(): ... >>> 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@baz", "foo-bär@baz.py", 0) >>> runner = doctest.DocTestRunner(verbose=False) To demonstrate this, we'll create a fake standard input that @@ -1740,7 +1740,7 @@ def test_pdb_set_trace(): >>> try: runner.run(test) ... finally: sys.stdin = real_stdin --Return-- - > (1)()->None + > (1)()->None -> import pdb; pdb.set_trace() (Pdb) print x 42 @@ -1757,7 +1757,7 @@ def test_pdb_set_trace(): ... >>> x=1 ... >>> calls_set_trace() ... ''' - >>> test = parser.get_doctest(doc, globals(), "foo", "foo.py", 0) + >>> test = parser.get_doctest(doc, globals(), "foo-bär@baz", "foo-bär@baz.py", 0) >>> real_stdin = sys.stdin >>> sys.stdin = _FakeInput([ ... 'print y', # print data defined in the function @@ -1776,7 +1776,7 @@ def test_pdb_set_trace(): (Pdb) print y 2 (Pdb) up - > (1)() + > (1)() -> calls_set_trace() (Pdb) print x 1 @@ -1794,7 +1794,7 @@ def test_pdb_set_trace(): ... ... 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@baz", "foo-bär@baz.py", 0) >>> real_stdin = sys.stdin >>> sys.stdin = _FakeInput([ ... 'list', # list source from example 2 @@ -1808,7 +1808,7 @@ def test_pdb_set_trace(): ... finally: sys.stdin = real_stdin ... # doctest: +NORMALIZE_WHITESPACE --Return-- - > (3)g()->None + > (3)g()->None -> import pdb; pdb.set_trace() (Pdb) list 1 def g(x): @@ -1817,7 +1817,7 @@ def test_pdb_set_trace(): [EOF] (Pdb) next --Return-- - > (2)f()->None + > (2)f()->None -> g(x*2) (Pdb) list 1 def f(x): @@ -1825,14 +1825,14 @@ def test_pdb_set_trace(): [EOF] (Pdb) next --Return-- - > (1)()->None + > (1)()->None -> f(3) (Pdb) list 1 -> f(3) [EOF] (Pdb) continue ********************************************************************** - File "foo.py", line 7, in foo + File "foo-bär@baz.py", line 7, in foo-bär@baz Failed example: f(3) Expected nothing @@ -1866,7 +1866,7 @@ def test_pdb_set_trace_nested(): ... ''' >>> 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@baz", "foo-bär@baz.py", 0) >>> real_stdin = sys.stdin >>> sys.stdin = _FakeInput([ ... 'print y', # print data defined in the function @@ -1918,7 +1918,7 @@ def test_pdb_set_trace_nested(): (Pdb) print y 1 (Pdb) up - > (1)() + > (1)() -> calls_set_trace() (Pdb) print foo *** NameError: name 'foo' is not defined diff --git a/Misc/NEWS b/Misc/NEWS index 2db45e6999..d7f6d1f5bd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -51,6 +51,9 @@ Core and Builtins 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.