aboutsummaryrefslogtreecommitdiff
path: root/run_cross_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'run_cross_test.py')
-rwxr-xr-xrun_cross_test.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/run_cross_test.py b/run_cross_test.py
index 7191402..6e04fa2 100755
--- a/run_cross_test.py
+++ b/run_cross_test.py
@@ -25,14 +25,16 @@ Eventually migrate to something fancier.'''
import sys
import os
from pathlib import Path
+import argparse
from run_project_tests import gather_tests, run_tests, StopException, setup_commands
from run_project_tests import failing_logs
-def runtests(cross_file):
+def runtests(cross_file, failfast):
commontests = [('common', gather_tests(Path('test cases', 'common')), False)]
try:
- (passing_tests, failing_tests, skipped_tests) = run_tests(commontests, 'meson-cross-test-run', ['--cross', cross_file])
+ (passing_tests, failing_tests, skipped_tests) = \
+ run_tests(commontests, 'meson-cross-test-run', failfast, ['--cross', cross_file])
except StopException:
pass
print('\nTotal passed cross tests:', passing_tests)
@@ -40,11 +42,17 @@ def runtests(cross_file):
print('Total skipped cross tests:', skipped_tests)
if failing_tests > 0 and ('TRAVIS' in os.environ or 'APPVEYOR' in os.environ):
print('\nMesonlogs of failing tests\n')
- for l in failing_logs:
- print(l, '\n')
- sys.exit(failing_tests)
+ for log in failing_logs:
+ print(log, '\n')
+ return failing_tests
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--failfast', action='store_true')
+ parser.add_argument('cross_file')
+ options = parser.parse_args()
+ setup_commands('ninja')
+ return runtests(options.cross_file, options.failfast)
if __name__ == '__main__':
- setup_commands('ninja')
- cross_file = sys.argv[1]
- runtests(cross_file)
+ sys.exit(main())