aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rwxr-xr-xrun_tests.py32
2 files changed, 16 insertions, 20 deletions
diff --git a/.travis.yml b/.travis.yml
index 3c66670..ed59a85 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,10 +33,10 @@ matrix:
# Test cross builds separately, they do not use the global compiler
- os: linux
compiler: gcc
- env: RUN_TESTS_ARGS="--cross"
+ env: RUN_TESTS_ARGS="--cross ubuntu-armhf.txt --cross linux-mingw-w64-64bit.txt"
- os: linux
compiler: gcc
- env: RUN_TESTS_ARGS="--cross" MESON_ARGS="--unity=on"
+ env: RUN_TESTS_ARGS="--cross ubuntu-armhf.txt --cross linux-mingw-w64-64bit.txt" MESON_ARGS="--unity=on"
before_install:
- python ./skip_ci.py --base-branch-env=TRAVIS_BRANCH --is-pull-env=TRAVIS_PULL_REQUEST
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__':