Mercurial > hg
comparison tests/run-tests.py @ 21614:609a642dff61
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.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 27 May 2014 19:21:12 -0700 |
parents | b3213b9fafed |
children | 9ad11d5bcc2f |
comparison
equal
deleted
inserted
replaced
21613:b3213b9fafed | 21614:609a642dff61 |
---|---|
528 elif ret == 'timeout': | 528 elif ret == 'timeout': |
529 self.fail('timed out') | 529 self.fail('timed out') |
530 elif ret is False: | 530 elif ret is False: |
531 raise WarnTest('no result code from test') | 531 raise WarnTest('no result code from test') |
532 elif out != self._refout: | 532 elif out != self._refout: |
533 # The result object handles diff calculation for us. | 533 # Diff generation may rely on written .err file. |
534 self._result.addOutputMismatch(self, ret, out, self._refout) | |
535 | |
536 if ret: | |
537 msg = 'output changed and ' + describe(ret) | |
538 else: | |
539 msg = 'output changed' | |
540 | |
541 if (ret != 0 or out != self._refout) and not self._skipped \ | 534 if (ret != 0 or out != self._refout) and not self._skipped \ |
542 and not self._debug: | 535 and not self._debug: |
543 f = open(self.errpath, 'wb') | 536 f = open(self.errpath, 'wb') |
544 for line in out: | 537 for line in out: |
545 f.write(line) | 538 f.write(line) |
546 f.close() | 539 f.close() |
540 | |
541 # The result object handles diff calculation for us. | |
542 self._result.addOutputMismatch(self, ret, out, self._refout) | |
543 | |
544 if ret: | |
545 msg = 'output changed and ' + describe(ret) | |
546 else: | |
547 msg = 'output changed' | |
547 | 548 |
548 self.fail(msg) | 549 self.fail(msg) |
549 elif ret: | 550 elif ret: |
550 self.fail(describe(ret)) | 551 self.fail(describe(ret)) |
551 | 552 |