[PATCH 2 of 2] run-tests: write .err files earlier
Gregory Szorc
gregory.szorc at gmail.com
Tue May 27 21:21:33 CDT 2014
# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1401243672 25200
# Tue May 27 19:21:12 2014 -0700
# Node ID 1ac177bc77504f242ed9cee799f68ee48af60b9f
# Parent e5fa751068fd637301a48a43f642e2d8abb31fa4
run-tests: write .err files earlier
Earlier refactoring of run-tests.py accidentally broke --interactive
and external diff generation by not having .err files written before
they are consulted. This patch fixes that.
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -529,23 +529,24 @@ class Test(unittest.TestCase):
self.fail('timed out')
elif ret is False:
raise WarnTest('no result code from test')
elif out != self._refout:
+ # Diff generation may rely on written .err file.
+ if (ret != 0 or out != self._refout) and not self._skipped \
+ and not self._debug:
+ f = open(self.errpath, 'wb')
+ for line in out:
+ f.write(line)
+ f.close()
+
# The result object handles diff calculation for us.
self._result.addOutputMismatch(self, ret, out, self._refout)
if ret:
msg = 'output changed and ' + describe(ret)
else:
msg = 'output changed'
- if (ret != 0 or out != self._refout) and not self._skipped \
- and not self._debug:
- f = open(self.errpath, 'wb')
- for line in out:
- f.write(line)
- f.close()
-
self.fail(msg)
elif ret:
self.fail(describe(ret))
More information about the Mercurial-devel
mailing list