diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-03-22 12:31:16 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-04-02 05:16:35 -0400 |
commit | a915466205e800927aaf99b999b73fc4414f34f1 (patch) | |
tree | aa44144991495ec37ee5662d6ae125539e9fe132 | |
parent | 78ca4a27fd960033dcb16f65f15a0007b1062cc0 (diff) | |
download | haskell-a915466205e800927aaf99b999b73fc4414f34f1.tar.gz |
testsuite: Check test stats only after test correctness
Ticket #19576 noted that a test that failed in correctness (e.g. due to
stderr mismatch) *and* failed due to a metrics change would report
misleading stats. This was due to the testsuite driver *first* checking
stats, before checking for correctness. Fix this.
Closes #19576.
-rw-r--r-- | testsuite/driver/testlib.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index e2818e4ab8..55be360d66 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -1626,11 +1626,6 @@ def simple_build(name: Union[TestName, str], # ToDo: if the sub-shell was killed by ^C, then exit - if isCompilerStatsTest(): - statsResult = check_stats(TestName(name), way, in_testdir(stats_file), opts.stats_range_fields) - if badResult(statsResult): - return statsResult - if should_fail: if exit_code == 0: stderr_contents = actual_stderr_path.read_text(encoding='UTF-8', errors='replace') @@ -1640,6 +1635,11 @@ def simple_build(name: Union[TestName, str], stderr_contents = actual_stderr_path.read_text(encoding='UTF-8', errors='replace') return failBecause('exit code non-0', stderr=stderr_contents) + if isCompilerStatsTest(): + statsResult = check_stats(TestName(name), way, in_testdir(stats_file), opts.stats_range_fields) + if badResult(statsResult): + return statsResult + return passed() # ----------------------------------------------------------------------------- |