Kaydet (Commit) f58ed259 authored tarafından Guido van Rossum's avatar Guido van Rossum

Add "extra-verbose" mode, triggered by specifying two -v flags. In

this mode, all tests are run in verbose mode with their output to
stdout.  No comparing of output is done.
üst e69be3eb
...@@ -16,6 +16,9 @@ Command line options: ...@@ -16,6 +16,9 @@ Command line options:
If non-option arguments are present, they are names for tests to run, If non-option arguments are present, they are names for tests to run,
unless -x is given, in which case they are names for tests not to run. unless -x is given, in which case they are names for tests not to run.
If no test names are given, all tests are run. If no test names are given, all tests are run.
If -v is given *twice*, the tests themselves are run in verbose mode.
This is incompatible with -g and does not compare test output files.
""" """
import sys import sys
...@@ -37,10 +40,13 @@ def main(): ...@@ -37,10 +40,13 @@ def main():
generate = 0 generate = 0
exclude = 0 exclude = 0
for o, a in opts: for o, a in opts:
if o == '-v': verbose = 1 if o == '-v': verbose = verbose+1
if o == '-q': quiet = 1 if o == '-q': quiet = 1
if o == '-g': generate = 1 if o == '-g': generate = 1
if o == '-x': exclude = 1 if o == '-x': exclude = 1
if generate and verbose>1:
print "-g and more than one -v don't go together!"
sys.exit(2)
good = [] good = []
bad = [] bad = []
skipped = [] skipped = []
...@@ -48,11 +54,11 @@ def main(): ...@@ -48,11 +54,11 @@ def main():
nottests[:0] = args nottests[:0] = args
args = [] args = []
tests = args or findtests() tests = args or findtests()
test_support.verbose = 0 # Tell tests to be moderately quiet test_support.verbose = verbose>1 # Tell tests to be moderately quiet
for test in tests: for test in tests:
if verbose: if verbose:
print test print test
ok = runtest(test, generate) ok = runtest(test, generate, verbose>1)
if ok > 0: if ok > 0:
good.append(test) good.append(test)
elif ok == 0: elif ok == 0:
...@@ -102,7 +108,7 @@ def findtests(): ...@@ -102,7 +108,7 @@ def findtests():
tests.sort() tests.sort()
return stdtests + tests return stdtests + tests
def runtest(test, generate): def runtest(test, generate, verbose2):
test_support.unload(test) test_support.unload(test)
testdir = findtestdir() testdir = findtestdir()
outputdir = os.path.join(testdir, "output") outputdir = os.path.join(testdir, "output")
...@@ -110,6 +116,8 @@ def runtest(test, generate): ...@@ -110,6 +116,8 @@ def runtest(test, generate):
try: try:
if generate: if generate:
cfp = open(outputfile, "w") cfp = open(outputfile, "w")
elif verbose2:
cfp = sys.stdout
else: else:
cfp = Compare(outputfile) cfp = Compare(outputfile)
except IOError: except IOError:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment