aboutsummaryrefslogtreecommitdiff
path: root/mesontest.py
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2016-11-29 11:17:05 +0000
committerJussi Pakkanen <jpakkane@gmail.com>2016-11-29 13:13:29 -0500
commit1cb9d2bc0da7ec8c9f37ebd7c2f929ab7afa9e91 (patch)
tree93f91082c90827160bcd2dcbaccfc75411b42899 /mesontest.py
parentac78ae47a9a27a3cf53f426fd304a0d822b4f163 (diff)
downloadmeson-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-xmesontest.py9
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)