From e51fe8d0a3d2a3fc83fd4f02521b0808c073bf50 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 29 May 2001 17:10:51 +0000 Subject: [PATCH] runtest(): When generating output, if the result is a single line with the name of the test, only write the output file if it already exists (and tell the user to consider removing it). This avoids the generation of unnecessary turds. --- Lib/test/regrtest.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 9c832215e4d..45880366ad3 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():