diff options
author | Daniel Stone <daniels@collabora.com> | 2016-11-29 11:17:05 +0000 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-11-29 13:13:29 -0500 |
commit | 1cb9d2bc0da7ec8c9f37ebd7c2f929ab7afa9e91 (patch) | |
tree | 93f91082c90827160bcd2dcbaccfc75411b42899 /mesontest.py | |
parent | ac78ae47a9a27a3cf53f426fd304a0d822b4f163 (diff) | |
download | meson-1cb9d2bc0da7ec8c9f37ebd7c2f929ab7afa9e91.zip meson-1cb9d2bc0da7ec8c9f37ebd7c2f929ab7afa9e91.tar.gz meson-1cb9d2bc0da7ec8c9f37ebd7c2f929ab7afa9e91.tar.bz2 |
Support skipped tests
Knowing whether a test failed to run as its prerequisites were not
available, or whether those prerequisites were available and produced
unexpected/incorrect results, is a useful differentiation.
Add support for skipped tests by testing for exit code 77, used through
autotools/piglit/etc to denote a test which detected this and decided to
skip.
Diffstat (limited to 'mesontest.py')
-rwxr-xr-x | mesontest.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mesontest.py b/mesontest.py index 2834ec0..1a704f8 100755 --- a/mesontest.py +++ b/mesontest.py @@ -26,6 +26,10 @@ import concurrent.futures as conc import platform import signal +# GNU autotools interprets a return code of 77 from tests it executes to +# mean that the test should be skipped. +GNU_SKIP_RETURNCODE = 77 + def is_windows(): platname = platform.system().lower() return platname == 'windows' or 'mingw' in platname @@ -213,6 +217,8 @@ class TestHarness: stde = decode(stde) if timed_out: res = 'TIMEOUT' + if p.returncode == GNU_SKIP_RETURNCODE: + res = 'SKIP' elif (not test.should_fail and p.returncode == 0) or \ (test.should_fail and p.returncode != 0): res = 'OK' @@ -230,7 +236,8 @@ class TestHarness: (num, name, padding1, result.res, padding2, result.duration) print(result_str) result_str += "\n\n" + result.get_log() - if (result.returncode != 0) != result.should_fail: + if (result.returncode != GNU_SKIP_RETURNCODE) and \ + (result.returncode != 0) != result.should_fail: self.error_count += 1 if self.options.print_errorlogs: self.collected_logs.append(result_str) |