aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--authors.txt1
-rwxr-xr-xmesontest.py9
-rw-r--r--test cases/common/124 test skip/meson.build4
-rw-r--r--test cases/common/124 test skip/test_skip.c4
4 files changed, 17 insertions, 1 deletions
diff --git a/authors.txt b/authors.txt
index 9bf3e33..03e8478 100644
--- a/authors.txt
+++ b/authors.txt
@@ -56,3 +56,4 @@ Aurelien Jarno
Mark Schulte
Paulo Antonio Alvarez
Olexa Bilaniuk
+Daniel Stone
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)
diff --git a/test cases/common/124 test skip/meson.build b/test cases/common/124 test skip/meson.build
new file mode 100644
index 0000000..568527f
--- /dev/null
+++ b/test cases/common/124 test skip/meson.build
@@ -0,0 +1,4 @@
+project('test skip', 'c')
+
+exe_test_skip = executable('test_skip', 'test_skip.c')
+test('test_skip', exe_test_skip)
diff --git a/test cases/common/124 test skip/test_skip.c b/test cases/common/124 test skip/test_skip.c
new file mode 100644
index 0000000..d050a61
--- /dev/null
+++ b/test cases/common/124 test skip/test_skip.c
@@ -0,0 +1,4 @@
+int main(int argc, char *argv[])
+{
+ return 77;
+}