]> granicus.if.org Git - python/commitdiff
Restore old behavior of autotest and testall, using regrtest.
authorGuido van Rossum <guido@python.org>
Fri, 7 Mar 1997 21:05:43 +0000 (21:05 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 7 Mar 1997 21:05:43 +0000 (21:05 +0000)
This is done for backward compatibility with Python 1.4.

Lib/test/autotest.py
Lib/test/testall.py

index 94ae9c11377f3a1710469954b878469574eae92c..ba85a0d70ce4c9401913aec5e458145691b195e4 100644 (file)
@@ -1,163 +1,3 @@
-"""
-Automatic Python regression test.
-
-The list of individual tests is contained in the `testall' module.
-These test some (but not all) essential parts of the Python
-interpreter and built-in modules.  When a test fails, an exception is
-raised and testing halts.  When a test succeeds, it can produce quite
-a lot of output, which is compared against the output from a previous
-run.  If a difference is noticed it raises an exception; if all is
-well, it prints nothing except 'All tests OK.' at the very end.
-
-The output from a previous run is supposed to be contained in separate
-files (one per test) in the `output' subdirectory somewhere on the
-search path for modules (sys.path, initialized from $PYTHONPATH plus
-some default places).
-
-Of course, if the normal output of the tests is changed because the
-tests have been changed (rather than a test producing the wrong
-output), 'autotest' will fail as well.  In this case, run 'autotest'
-with the -g option.
-
-Usage:
-
-    %s [-g] [-w] [-h] [test1 [test2 ...]]
-
-Options:
-
-    -g, --generate : generate the output files instead of verifying
-                     the results
-
-    -w, --warn     : warn about un-importable tests
-
-    -h, --help     : print this message
-
-If individual tests are provided on the command line, only those tests
-will be performed or generated.  Otherwise, all tests (as contained in
-testall.py) will be performed.
-
-"""
-
-import os
-import sys
-import getopt
-import traceback
-import test_support
-test_support.verbose = 0
-from test_support import *
-
-# Exception raised when the test failed (not the same as in test_support)
-TestFailed = 'autotest.TestFailed'
-TestMissing = 'autotest.TestMissing'
-
-# defaults
-generate = 0
-warn = 0
-
-
-\f
-# Function to find a file somewhere on sys.path
-def findfile(filename):
-       for dirname in sys.path:
-               fullname = os.path.join(dirname, filename)
-               if os.path.exists(fullname):
-                       return fullname
-       return filename # Will cause exception later
-
-
-\f
-# Class substituted for sys.stdout, to compare it with the given file
-class Compare:
-       def __init__(self, filename):
-               self.fp = open(filename, 'r')
-       def write(self, data):
-               expected = self.fp.read(len(data))
-               if data <> expected:
-                       raise TestFailed, \
-                               'Writing: '+`data`+', expected: '+`expected`
-       def close(self):
-               leftover = self.fp.read()
-               if leftover:
-                       raise TestFailed, 'Unread: '+`leftover`
-               self.fp.close()
-
-\f
-# The main program
-def usage(status):
-       print __doc__ % sys.argv[0]
-       sys.exit(status)
-
-
-\f
-def do_one_test(t, outdir):
-       filename = os.path.join(outdir, t)
-       real_stdout = sys.stdout
-       if generate:
-               print 'Generating:', filename
-               fake_stdout = open(filename, 'w')
-       else:
-               try:
-                       fake_stdout = Compare(filename)
-               except IOError:
-                       raise TestMissing
-       try:
-               sys.stdout = fake_stdout
-               print t
-               unload(t)
-               try:
-                       __import__(t, globals(), locals())
-               except ImportError, msg:
-                       if warn:
-                               sys.stderr.write(msg+': Un-installed'
-                                                ' optional module?\n')
-                       try:
-                               fake_stdout.close()
-                       except TestFailed:
-                               pass
-                       fake_stdout = None
-       finally:
-               sys.stdout = real_stdout
-               if fake_stdout:
-                       fake_stdout.close()
-
-
-\f
-def main():
-       global generate
-       global warn
-       try:
-               opts, args = getopt.getopt(
-                       sys.argv[1:], 'ghw',
-                       ['generate', 'help', 'warn'])
-       except getopt.error, msg:
-               print msg
-               usage(1)
-       for opt, val in opts:
-               if opt in ['-h', '--help']:
-                       usage(0)
-               elif opt in ['-g', '--generate']:
-                       generate = 1
-               elif opt in ['-w', '--warn']:
-                       warn = 1
-
-       # find the output directory
-       outdir = findfile('output')
-       if args:
-           tests = args
-       else:
-           import testall
-           tests = testall.tests
-       failed = 0
-       for test in tests:
-               print 'testing:', test
-               try:
-                       do_one_test(test, outdir)
-               except TestFailed, msg:
-                       print 'test', test, 'failed'
-                       failed = failed + 1
-       if not failed:
-               print 'All tests OK.'
-       else:
-               print failed, 'tests failed'
-                       
-main()
+# Backward compatibility -- you should use regrtest instead of this module.
+import regrtest
+regrtest.main()
index e410e8f8bba772fa83e6ad4dcd48ab75fb414a1f..23493940c7b8de274bf0c8d45b01222bfc09e250 100644 (file)
@@ -1,54 +1,4 @@
-# This file now contains only the list of separate regression tests.
-# All of the testing harness is now contained in autotest.py.
-
-tests = ['test_grammar',
-        'test_opcodes',
-        'test_operations',
-        'test_builtin',
-        'test_exceptions',
-        'test_types',
-        'test_math',
-        'test_time',
-        'test_array',
-        'test_strop',
-        'test_md5',
-        'test_cmath',
-        'test_crypt',
-        'test_dbm',
-        'test_new',
-        'test_nis',
-        'test_pwd',
-        'test_rgbimg',
-        'test_select',
-        'test_strftime',
-        'test_struct',
-        'test_errno',
-        'test_dl',
-        'test_thread',
-        'test_xdr',
-        'test_fcntl',
-        'test_gdbm',
-        'test_grp',
-        'test_operator',
-        'test_imageop',
-        'test_imgfile',
-        'test_regex',
-        'test_rotor',
-        ]
-
-if __name__ == '__main__':
-    # low-overhead testing, for cases where autotest.py harness
-    # doesn't even work!
-    import sys
-    from test_support import *
-
-    for t in tests:
-        print t
-       unload(t)
-       try:
-           __import__(t, globals(), locals())
-       except ImportError, msg:
-##         sys.stderr.write('%s.  Uninstalled optional module?\n' % msg)
-           pass
-
-    print 'Passed all tests.'
+# Backward compatibility -- you should use regrtest instead of this module.
+import sys, regrtest
+sys.argv[1:] = ["-vv"]
+regrtest.main()