Print final report, either all tests OK, or list of failed and missing
tests.
diff --git a/Lib/test/autotest.py b/Lib/test/autotest.py
index 0506fa2..060fd82 100644
--- a/Lib/test/autotest.py
+++ b/Lib/test/autotest.py
@@ -46,6 +46,7 @@
# Exception raised when the test failed (not the same as in test_support)
TestFailed = 'autotest.TestFailed'
+TestMissing = 'autotest.TestMissing'
# defaults
generate = 0
@@ -96,8 +97,7 @@
try:
fake_stdout = Compare(filename)
except IOError:
- print 'Could not find output file for test:', t
- return
+ raise TestMissing
try:
sys.stdout = fake_stdout
print t
@@ -139,12 +139,26 @@
else:
import testall
tests = testall.tests
+ failed = []
+ missing = []
for test in tests:
try:
do_one_test(test, outdir)
except TestFailed, msg:
- print 'Failure of test:', test
traceback.print_exc()
- print 'All tests OK.'
-
+ failed.append(test)
+ except TestMissing:
+ missing.append(test)
+ print '**********\n* Report *\n**********'
+ if not failed and not missing:
+ print 'All tests OK.'
+ if failed:
+ print 'Failed tests:'
+ for t in failed:
+ print ' ', t
+ if missing:
+ print 'Missing tests:'
+ for t in missing:
+ print ' ', t
+
main()