summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLib/test/regrtest.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 9c83221..4588036 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -230,7 +230,7 @@ def runtest(test, generate, verbose, quiet, testdir = None):
outputfile = os.path.join(outputdir, test)
try:
if generate:
- cfp = open(outputfile, "w")
+ cfp = StringIO.StringIO()
elif verbose:
cfp = sys.stdout
else:
@@ -273,6 +273,24 @@ def runtest(test, generate, verbose, quiet, testdir = None):
traceback.print_exc(file=sys.stdout)
return 0
else:
+ if generate:
+ output = cfp.getvalue()
+ if output == test + "\n":
+ if os.path.exists(outputfile):
+ # Write it since it already exists (and the contents
+ # may have changed), but let the user know it isn't
+ # needed:
+ fp = open(outputfile, "w")
+ fp.write(output)
+ fp.close()
+ print "output file", outputfile, \
+ "is no longer needed; consider removing it"
+ # else:
+ # We don't need it, so don't create it.
+ else:
+ fp = open(outputfile, "w")
+ fp.write(output)
+ fp.close()
return 1
def findtestdir():