diff options
-rwxr-xr-x | tests/diff-out | 8 | ||||
-rw-r--r-- | tests/testing/units.py | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/diff-out b/tests/diff-out index c00d4f3de..1eeac8137 100755 --- a/tests/diff-out +++ b/tests/diff-out @@ -361,8 +361,12 @@ if ($added_stats) } cleanup(); -# Exit code is 0 if all stats are found (with no extras) & no stats error, 1 otherwise -$status = ($missing_stats == 0 && $added_stats == 0 && $max_err_mag == 0.0) ? 0 : 1; +# Exit codes: +# 0 if all stats are found (with no extras) & no stats error +# 1 if there are additional stats, but no stat errors +# 2 otherwise +$no_hard_errors = $missing_stats == 0 && $max_err_mag == 0.0; +$status = $no_hard_errors ? ($added_stats == 0 ? 0 : 1) : 2; exit $status; sub cleanup diff --git a/tests/testing/units.py b/tests/testing/units.py index e8b87a0b2..220cf61f6 100644 --- a/tests/testing/units.py +++ b/tests/testing/units.py @@ -270,6 +270,10 @@ class DiffStatFile(TestUnit): self.stat_diff = os.path.join(_test_base, "diff-out") def _run(self): + STATUS_OK = 0 + STATUS_NEW_STATS = 1 + STATUS_FAILED = 2 + stats = "stats.txt" cmd = [ @@ -281,9 +285,9 @@ class DiffStatFile(TestUnit): stderr=subprocess.PIPE) as p: status, stdout, stderr = p.call() - if status == 0: + if status in (STATUS_OK, STATUS_NEW_STATS): return self.ok(stdout=stdout, stderr=stderr) - if status == 1: + elif status == STATUS_FAILED: return self.failure("Statistics mismatch", stdout=stdout, stderr=stderr) else: |