2 ''''exec python
-u "$0" "$@" #'''
5 # Author: David Goodger <goodger@python.org>
6 # Copyright: This module has been placed in the public domain.
10 All modules named 'test_*.py' in the current directory, and recursively in
11 subdirectories (packages) called 'test_*', are loaded and test suites within
16 # Start point for actual elapsed time, including imports
17 # and setup outside of unittest.
22 import DocutilsTestSupport
# must be imported before docutils
28 """Write to a file and a stream (default: stdout) simultaneously."""
30 def __init__
(self
, filename
, stream
=sys.__stdout__
):
31 self.
file = open
(filename
, 'w')
33 self.encoding
= getattr
(stream
, 'encoding', None
)
35 def
write(self
, string
):
36 self.stream.
write(string
)
37 self.
file.
write(string
)
46 suitestr
= repr
(suite
).replace
('=[<', '=[\n<').replace
(', ', ',\n')
49 for line
in suitestr.splitlines
():
50 output.append
(' ' * indent
+ line
)
54 if line
[-5:] == ']>]>,':
56 elif line
[-3:] == ']>,':
58 return '\n'.
join(output
)
61 path
, script = os.path.
split(sys.argv
[0])
62 suite
= package_unittest.loadTestModules
(DocutilsTestSupport.testroot
,
67 # must redirect stderr *before* first import of unittest
68 sys.stdout
= sys.stderr
= Tee
('alltests.out')
70 import package_unittest
73 if __name__
== '__main__':
75 print
('Testing Docutils %s [%s] with Python %s on %s at %s'
76 % (docutils.__version__
, docutils.__version_details__
,
77 sys.version.
split()[0],
78 time.strftime
('%Y-%m-%d'), time.strftime
('%H:%M:%S')))
79 print
'Working directory: %s' % os.getcwd
()
80 print
'Docutils package: %s' % os.path.
dirname(docutils.__file__
)
82 result
= package_unittest.main
(suite
)
83 #if package_unittest.verbosity > 1:
84 # print >>sys.stderr, pformat(suite) # check the test suite
86 print
'Elapsed time: %.3f seconds' % (finish
- start
)
87 sys.
exit(not result.wasSuccessful
())