aboutsummaryrefslogtreecommitdiff
path: root/run_tests.py
diff options
context:
space:
mode:
authorNiklas Claesson <nicke.claesson@gmail.com>2018-05-24 23:37:57 +0200
committerNiklas Claesson <nicke.claesson@gmail.com>2018-10-10 21:19:06 +0200
commit4911a51aa248f46931b020cd1e08a3ffd9738472 (patch)
tree3cc8ef4d47edd155041147463385a40c274af605 /run_tests.py
parent4ef4edee2f460a354cca0c381d08604f6837c496 (diff)
downloadmeson-4911a51aa248f46931b020cd1e08a3ffd9738472.zip
meson-4911a51aa248f46931b020cd1e08a3ffd9738472.tar.gz
meson-4911a51aa248f46931b020cd1e08a3ffd9738472.tar.bz2
Add option to fail fast in tests
Diffstat (limited to 'run_tests.py')
-rwxr-xr-xrun_tests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/run_tests.py b/run_tests.py
index 103416d..8ecef30 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -226,6 +226,7 @@ def main():
parser.add_argument('--backend', default=None, dest='backend',
choices=backendlist)
parser.add_argument('--cross', default=False, dest='cross', action='store_true')
+ parser.add_argument('--failfast', action='store_true')
(options, _) = parser.parse_known_args()
# Enable coverage early...
enable_coverage = options.cov
@@ -286,9 +287,17 @@ def main():
env['PYTHONPATH'] = os.pathsep.join([temp_dir] + env.get('PYTHONPATH', []))
if not cross:
cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v']
+ if options.failfast:
+ cmd += ['--failfast']
returncode += subprocess.call(cmd, env=env)
+ if options.failfast and returncode != 0:
+ return returncode
cmd = mesonlib.python_command + ['run_unittests.py', '-v']
+ if options.failfast:
+ cmd += ['--failfast']
returncode += subprocess.call(cmd, env=env)
+ if options.failfast and returncode != 0:
+ return returncode
cmd = mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:]
returncode += subprocess.call(cmd, env=env)
else:
@@ -296,11 +305,17 @@ def main():
print(mlog.bold('Running armhf cross tests.').get_text(mlog.colorize_console))
print()
cmd = cross_test_args + ['cross/ubuntu-armhf.txt']
+ if options.failfast:
+ cmd += ['--failfast']
returncode += subprocess.call(cmd, env=env)
+ if options.failfast and returncode != 0:
+ return returncode
print(mlog.bold('Running mingw-w64 64-bit cross tests.')
.get_text(mlog.colorize_console))
print()
cmd = cross_test_args + ['cross/linux-mingw-w64-64bit.txt']
+ if options.failfast:
+ cmd += ['--failfast']
returncode += subprocess.call(cmd, env=env)
return returncode