diff options
Diffstat (limited to 'Lib/test/regrtest.py')
-rwxr-xr-x | Lib/test/regrtest.py | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index abd40a6..41e750f 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -30,58 +30,58 @@ import test_support def main(): try: - opts, args = getopt.getopt(sys.argv[1:], 'vgqx') + opts, args = getopt.getopt(sys.argv[1:], 'vgqx') except getopt.error, msg: - print msg - print __doc__ - return 2 + print msg + print __doc__ + return 2 verbose = 0 quiet = 0 generate = 0 exclude = 0 for o, a in opts: - if o == '-v': verbose = verbose+1 - if o == '-q': quiet = 1; verbose = 0 - if o == '-g': generate = 1 - if o == '-x': exclude = 1 + if o == '-v': verbose = verbose+1 + if o == '-q': quiet = 1; verbose = 0 + if o == '-g': generate = 1 + if o == '-x': exclude = 1 if generate and verbose: - print "-g and -v don't go together!" - return 2 + print "-g and -v don't go together!" + return 2 good = [] bad = [] skipped = [] for i in range(len(args)): - # Strip trailing ".py" from arguments - if args[i][-3:] == '.py': - args[i] = args[i][:-3] + # Strip trailing ".py" from arguments + if args[i][-3:] == '.py': + args[i] = args[i][:-3] if exclude: - nottests[:0] = args - args = [] + nottests[:0] = args + args = [] tests = args or findtests() - test_support.verbose = verbose # Tell tests to be moderately quiet + test_support.verbose = verbose # Tell tests to be moderately quiet for test in tests: - if not quiet: - print test - ok = runtest(test, generate, verbose) - if ok > 0: - good.append(test) - elif ok == 0: - bad.append(test) - else: - if not quiet: - print "test", test, - print "skipped -- an optional feature could not be imported" - skipped.append(test) + if not quiet: + print test + ok = runtest(test, generate, verbose) + if ok > 0: + good.append(test) + elif ok == 0: + bad.append(test) + else: + if not quiet: + print "test", test, + print "skipped -- an optional feature could not be imported" + skipped.append(test) if good and not quiet: - if not bad and not skipped and len(good) > 1: - print "All", - print count(len(good), "test"), "OK." + if not bad and not skipped and len(good) > 1: + print "All", + print count(len(good), "test"), "OK." if bad: - print count(len(bad), "test"), "failed:", - print string.join(bad) + print count(len(bad), "test"), "failed:", + print string.join(bad) if skipped and not quiet: - print count(len(skipped), "test"), "skipped:", - print string.join(skipped) + print count(len(skipped), "test"), "skipped:", + print string.join(skipped) return len(bad) > 0 stdtests = [ @@ -105,10 +105,10 @@ def findtests(): names = os.listdir(testdir) tests = [] for name in names: - if name[:5] == "test_" and name[-3:] == ".py": - modname = name[:-3] - if modname not in stdtests and modname not in nottests: - tests.append(modname) + if name[:5] == "test_" and name[-3:] == ".py": + modname = name[:-3] + if modname not in stdtests and modname not in nottests: + tests.append(modname) tests.sort() return stdtests + tests @@ -118,76 +118,76 @@ def runtest(test, generate, verbose): outputdir = os.path.join(testdir, "output") outputfile = os.path.join(outputdir, test) try: - if generate: - cfp = open(outputfile, "w") - elif verbose: - cfp = sys.stdout - else: - cfp = Compare(outputfile) + if generate: + cfp = open(outputfile, "w") + elif verbose: + cfp = sys.stdout + else: + cfp = Compare(outputfile) except IOError: - cfp = None - print "Warning: can't open", outputfile + cfp = None + print "Warning: can't open", outputfile try: - save_stdout = sys.stdout - try: - if cfp: - sys.stdout = cfp - print test # Output file starts with test name - __import__(test, globals(), locals(), []) - finally: - sys.stdout = save_stdout + save_stdout = sys.stdout + try: + if cfp: + sys.stdout = cfp + print test # Output file starts with test name + __import__(test, globals(), locals(), []) + finally: + sys.stdout = save_stdout except ImportError, msg: - return -1 + return -1 except KeyboardInterrupt, v: - raise KeyboardInterrupt, v, sys.exc_info()[2] + raise KeyboardInterrupt, v, sys.exc_info()[2] except test_support.TestFailed, msg: - print "test", test, "failed --", msg - return 0 + print "test", test, "failed --", msg + return 0 except: - type, value = sys.exc_info()[:2] - print "test", test, "crashed --", type, ":", value - if verbose: - traceback.print_exc(file=sys.stdout) - return 0 + type, value = sys.exc_info()[:2] + print "test", test, "crashed --", type, ":", value + if verbose: + traceback.print_exc(file=sys.stdout) + return 0 else: - return 1 + return 1 def findtestdir(): if __name__ == '__main__': - file = sys.argv[0] + file = sys.argv[0] else: - file = __file__ + file = __file__ testdir = os.path.dirname(file) or os.curdir return testdir def count(n, word): if n == 1: - return "%d %s" % (n, word) + return "%d %s" % (n, word) else: - return "%d %ss" % (n, word) + return "%d %ss" % (n, word) class Compare: def __init__(self, filename): - self.fp = open(filename, 'r') + self.fp = open(filename, 'r') def write(self, data): - expected = self.fp.read(len(data)) - if data <> expected: - raise test_support.TestFailed, \ - 'Writing: '+`data`+', expected: '+`expected` + expected = self.fp.read(len(data)) + if data <> expected: + raise test_support.TestFailed, \ + 'Writing: '+`data`+', expected: '+`expected` def flush(self): - pass + pass def close(self): - leftover = self.fp.read() - if leftover: - raise test_support.TestFailed, 'Unread: '+`leftover` - self.fp.close() + leftover = self.fp.read() + if leftover: + raise test_support.TestFailed, 'Unread: '+`leftover` + self.fp.close() def isatty(self): - return 0 + return 0 if __name__ == '__main__': sys.exit(main()) |