summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorEdward Loper <edloper@gradient.cis.upenn.edu>2004-09-18 20:27:04 (GMT)
committerEdward Loper <edloper@gradient.cis.upenn.edu>2004-09-18 20:27:04 (GMT)
commit0273f5b6b29486629f74f184da84172cb43fe221 (patch)
treee9e40f3848892fe671b6595e5cc7b486eae517af /Lib/test
parentc9f53b4905c17deaee2ae9a2265602fccba123d4 (diff)
downloadcpython-0273f5b6b29486629f74f184da84172cb43fe221.zip
cpython-0273f5b6b29486629f74f184da84172cb43fe221.tar.gz
cpython-0273f5b6b29486629f74f184da84172cb43fe221.tar.bz2
In DocFileTest:
- Fixed bug in handling of absolute paths. - If run from an interactive session, make paths relative to the directory containing sys.argv[0] (since __main__ doesn't have a __file__ attribute).
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_doctest.py29
1 files changed, 26 insertions, 3 deletions
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
index 77b9ef5..8c96b21 100644
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -1812,14 +1812,37 @@ def test_DocFileSuite():
>>> suite.run(unittest.TestResult())
<unittest.TestResult run=2 errors=0 failures=2>
- Note that '/' should be used as a path separator. It will be
- converted to a native separator at run time:
-
+ '/' should be used as a path separator. It will be converted
+ to a native separator at run time:
>>> suite = doctest.DocFileSuite('../test/test_doctest.txt')
>>> suite.run(unittest.TestResult())
<unittest.TestResult run=1 errors=0 failures=1>
+ If DocFileSuite is used from an interactive session, then files
+ are resolved relative to the directory of sys.argv[0]:
+
+ >>> import new, os.path, test.test_doctest
+ >>> save_argv = sys.argv
+ >>> sys.argv = [test.test_doctest.__file__]
+ >>> suite = doctest.DocFileSuite('test_doctest.txt',
+ ... package=new.module('__main__'))
+ >>> sys.argv = save_argv
+
+ Absolute paths may also be used; they should use the native
+ path separator (*not* '/').
+
+ >>> # Get the absolute path of the test package.
+ >>> test_doctest_path = os.path.abspath(test.test_doctest.__file__)
+ >>> test_pkg_path = os.path.split(test_doctest_path)[0]
+
+ >>> # Use it to find the absolute path of test_doctest.txt.
+ >>> test_file = os.path.join(test_pkg_path, 'test_doctest.txt')
+
+ >>> suite = doctest.DocFileSuite(test_file)
+ >>> suite.run(unittest.TestResult())
+ <unittest.TestResult run=1 errors=0 failures=1>
+
You can specify initial global variables:
>>> suite = doctest.DocFileSuite('test_doctest.txt',