summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2008-12-15 12:01:34 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2008-12-15 12:01:34 (GMT)
commit386220068c3032e244d52ee6c94864a47508506c (patch)
tree64365139c1baef6b31eb9e00f413608516cc0711 /Lib/test
parent8f9cd6a9358f217a5ce4ae8d12fde82443125d93 (diff)
downloadcpython-386220068c3032e244d52ee6c94864a47508506c.zip
cpython-386220068c3032e244d52ee6c94864a47508506c.tar.gz
cpython-386220068c3032e244d52ee6c94864a47508506c.tar.bz2
Merged revisions 67790 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r67790 | nick.coghlan | 2008-12-15 21:41:05 +1000 (Mon, 15 Dec 2008) | 1 line Issue #4197: Fix the remaining part of the doctest-in-zipfile problem by giving linecache access to the module globals when available ........
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_zipimport_support.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/test_zipimport_support.py b/Lib/test/test_zipimport_support.py
index 7942e37..3f4cd3f 100644
--- a/Lib/test/test_zipimport_support.py
+++ b/Lib/test/test_zipimport_support.py
@@ -169,6 +169,35 @@ class ZipSupportTests(ImportHooksBaseTestCase):
for obj in known_good_tests:
_run_object_doctest(obj, test_zipped_doctest)
+ def test_doctest_main_issue4197(self):
+ test_src = textwrap.dedent("""\
+ class Test:
+ ">>> 'line 2'"
+ pass
+
+ import doctest
+ doctest.testmod()
+ """)
+ pattern = 'File "%s", line 2, in %s'
+ with temp_dir() as d:
+ script_name = _make_test_script(d, 'script', test_src)
+ exit_code, data = _run_python(script_name)
+ expected = pattern % (script_name, "__main__.Test")
+ if verbose:
+ print ("Expected line", expected)
+ print ("Got stdout:")
+ print (data)
+ self.assert_(expected in data)
+ zip_name, run_name = _make_test_zip(d, "test_zip",
+ script_name, '__main__.py')
+ exit_code, data = _run_python(zip_name)
+ expected = pattern % (run_name, "__main__.Test")
+ if verbose:
+ print ("Expected line", expected)
+ print ("Got stdout:")
+ print (data)
+ self.assert_(expected in data)
+
def test_pdb_issue4201(self):
test_src = textwrap.dedent("""\
def f():