[Python-checkins] python/dist/src/Lib/test test_doctest.py, 1.46, 1.47

edloper at users.sourceforge.net edloper at users.sourceforge.net
Sat Sep 18 22:27:07 CEST 2004


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

Modified Files:
	test_doctest.py 
Log Message:
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).


Index: test_doctest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_doctest.py,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- test_doctest.py	13 Sep 2004 14:53:28 -0000	1.46
+++ test_doctest.py	18 Sep 2004 20:27:04 -0000	1.47
@@ -1812,14 +1812,37 @@
          >>> 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',



More information about the Python-checkins mailing list