Show More
@@ -619,6 +619,11 b' class Test(object):' | |||
|
619 | 619 | if not self._options.keep_tmpdir: |
|
620 | 620 | shutil.rmtree(testtmp) |
|
621 | 621 | |
|
622 | def describe(ret): | |
|
623 | if ret < 0: | |
|
624 | return 'killed by signal: %d' % -ret | |
|
625 | return 'returned error code %d' % ret | |
|
626 | ||
|
622 | 627 | if ret == SKIPPED_STATUS: |
|
623 | 628 | if out is None: # Debug mode, nothing to parse. |
|
624 | 629 | missing = ['unknown'] |
@@ -637,6 +642,26 b' class Test(object):' | |||
|
637 | 642 | return self.skip(missing[-1]) |
|
638 | 643 | elif ret == 'timeout': |
|
639 | 644 | return self.fail('timed out', ret) |
|
645 | elif out != self._refout: | |
|
646 | info = {} | |
|
647 | if not self._options.nodiff: | |
|
648 | iolock.acquire() | |
|
649 | if self._options.view: | |
|
650 | os.system("%s %s %s" % (self._options.view, self._refpath, | |
|
651 | self._errpath)) | |
|
652 | else: | |
|
653 | info = showdiff(self._refout, out, self._refpath, | |
|
654 | self._errpath) | |
|
655 | iolock.release() | |
|
656 | msg = '' | |
|
657 | if info.get('servefail'): | |
|
658 | msg += 'serve failed and ' | |
|
659 | if ret: | |
|
660 | msg += 'output changed and ' + describe(ret) | |
|
661 | else: | |
|
662 | msg += 'output changed' | |
|
663 | ||
|
664 | return self.fail(msg, ret) | |
|
640 | 665 | |
|
641 | 666 | def _run(self, testtmp, replacements, env): |
|
642 | 667 | raise NotImplemented('Subclasses must implement Test.run()') |
@@ -1079,11 +1104,6 b' def runone(options, test, count):' | |||
|
1079 | 1104 | def ignore(msg): |
|
1080 | 1105 | return 'i', test, msg |
|
1081 | 1106 | |
|
1082 | def describe(ret): | |
|
1083 | if ret < 0: | |
|
1084 | return 'killed by signal %d' % -ret | |
|
1085 | return 'returned error code %d' % ret | |
|
1086 | ||
|
1087 | 1107 | testpath = os.path.join(TESTDIR, test) |
|
1088 | 1108 | err = os.path.join(TESTDIR, test + ".err") |
|
1089 | 1109 | lctest = test.lower() |
@@ -1145,22 +1165,6 b' def runone(options, test, count):' | |||
|
1145 | 1165 | |
|
1146 | 1166 | if result: |
|
1147 | 1167 | pass |
|
1148 | elif out != refout: | |
|
1149 | info = {} | |
|
1150 | if not options.nodiff: | |
|
1151 | iolock.acquire() | |
|
1152 | if options.view: | |
|
1153 | os.system("%s %s %s" % (options.view, ref, err)) | |
|
1154 | else: | |
|
1155 | info = showdiff(refout, out, ref, err) | |
|
1156 | iolock.release() | |
|
1157 | msg = "" | |
|
1158 | if info.get('servefail'): msg += "serve failed and " | |
|
1159 | if ret: | |
|
1160 | msg += "output changed and " + describe(ret) | |
|
1161 | else: | |
|
1162 | msg += "output changed" | |
|
1163 | result = t.fail(msg, ret) | |
|
1164 | 1168 | elif ret: |
|
1165 | 1169 | result = t.fail(describe(ret), ret) |
|
1166 | 1170 | else: |
General Comments 0
You need to be logged in to leave comments.
Login now