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