diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-06-30 10:38:48 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-07-17 15:41:48 +0000 |
commit | eeb8ade6c25feacbccc6bfce3ad07077b668bd89 (patch) | |
tree | 61e4229b79fbd96d3edf7c00f025b4bacc089078 /tests | |
parent | 352c1ad7147bfb84a9c7aea57152e41c63d22397 (diff) | |
download | gem5-eeb8ade6c25feacbccc6bfce3ad07077b668bd89.tar.xz |
tests: Don't treat new stats as a cause for failures
We currently fail the stat diff stage of tests if there are new
stats. This is usually undesirable since this would require any change
that adds a stat to also update the regressions.
Change-Id: Ieadebac6fd17534e1b49b6b9a1d56f037a423325
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3962
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'tests')
-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: |