aboutsummaryrefslogtreecommitdiff
path: root/run_tests.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-12-04 20:12:20 +0000
committerJon Turney <jon.turney@dronecode.org.uk>2020-01-28 21:41:22 +0000
commit26d1c2a52d57616d3ae445dc486a67825fe2af98 (patch)
treef022e9d980a9664132a90c98b93e9a98a1f6b513 /run_tests.py
parent0fe485a100ee556bf1d600e6bb87640641b67a76 (diff)
downloadmeson-26d1c2a52d57616d3ae445dc486a67825fe2af98.zip
meson-26d1c2a52d57616d3ae445dc486a67825fe2af98.tar.gz
meson-26d1c2a52d57616d3ae445dc486a67825fe2af98.tar.bz2
Specify crossfile use in CI job configuration
Pull the crossfile specification out of run_test.py so it can be specified in the CI job configuration. Also make some fixes to output ordering in run_test.py.
Diffstat (limited to 'run_tests.py')
-rwxr-xr-xrun_tests.py32
1 files changed, 14 insertions, 18 deletions
diff --git a/run_tests.py b/run_tests.py
index 4a1d271..535c792 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -312,6 +312,7 @@ def print_system_info():
print('Processor:', platform.processor())
print('System:', platform.system())
print('')
+ print(flush=True)
def main():
print_system_info()
@@ -319,7 +320,7 @@ def main():
parser.add_argument('--cov', action='store_true')
parser.add_argument('--backend', default=None, dest='backend',
choices=backendlist)
- parser.add_argument('--cross', default=False, dest='cross', action='store_true')
+ parser.add_argument('--cross', default=[], dest='cross', action='append')
parser.add_argument('--failfast', action='store_true')
parser.add_argument('--no-unittests', action='store_true', default=False)
(options, _) = parser.parse_known_args()
@@ -352,8 +353,6 @@ def main():
if 'APPVEYOR' in os.environ and os.environ['arch'] == 'x86':
os.environ.pop('platform')
# Run tests
- print(mlog.bold('Running unittests.').get_text(mlog.colorize_console))
- print(flush=True)
# Can't pass arguments to unit tests, so set the backend to use in the environment
env = os.environ.copy()
env['MESON_UNIT_TEST_BACKEND'] = backend.name
@@ -377,8 +376,11 @@ def main():
return returncode
if no_unittests:
print('Skipping all unit tests.')
+ print(flush=True)
returncode = 0
else:
+ print(mlog.bold('Running unittests.').get_text(mlog.colorize_console))
+ print(flush=True)
cmd = mesonlib.python_command + ['run_unittests.py', '-v']
if options.failfast:
cmd += ['--failfast']
@@ -389,21 +391,15 @@ def main():
returncode += subprocess.call(cmd, env=env)
else:
cross_test_args = mesonlib.python_command + ['run_cross_test.py']
- print(mlog.bold('Running armhf cross tests.').get_text(mlog.colorize_console))
- print(flush=True)
- 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(flush=True)
- cmd = cross_test_args + ['cross/linux-mingw-w64-64bit.txt']
- if options.failfast:
- cmd += ['--failfast']
- returncode += subprocess.call(cmd, env=env)
+ for cf in options.cross:
+ print(mlog.bold('Running {} cross tests.'.format(cf)).get_text(mlog.colorize_console))
+ print(flush=True)
+ cmd = cross_test_args + ['cross/' + cf]
+ if options.failfast:
+ cmd += ['--failfast']
+ returncode += subprocess.call(cmd, env=env)
+ if options.failfast and returncode != 0:
+ return returncode
return returncode
if __name__ == '__main__':