diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-05-27 01:29:11 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-06-05 10:50:22 +0000 |
commit | bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90 (patch) | |
tree | e3e731dd2d18730a437c23ae2f48bb5809d28a25 /run_tests.py | |
parent | eb383ef4a2daad1766a8ace3164e6b083c388130 (diff) | |
download | meson-bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90.zip meson-bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90.tar.gz meson-bc4dd5e20163ef01f7fe3e518599f8bbd84c6f90.tar.bz2 |
.travis.yml: Add CI for armhf and mingw
Also split them out to their own jobs. Travis gives us 5 parallel jobs
now, so we can parallelize it a bit more.
Diffstat (limited to 'run_tests.py')
-rwxr-xr-x | run_tests.py | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/run_tests.py b/run_tests.py index da02a9b..1fd72b2 100755 --- a/run_tests.py +++ b/run_tests.py @@ -158,9 +158,6 @@ def get_fake_options(prefix): def should_run_linux_cross_tests(): return shutil.which('arm-linux-gnueabihf-gcc') and not platform.machine().lower().startswith('arm') -def should_run_mingw_cross_tests(): - return shutil.which('x86_64-w64-mingw32-gcc') - def run_configure_inprocess(commandlist): old_stdout = sys.stdout sys.stdout = mystdout = StringIO() @@ -204,13 +201,21 @@ if __name__ == '__main__': returncode = 0 # Iterate over list in reverse order to find the last --backend arg backend = Backend.ninja + cross = False + # FIXME: Convert to argparse for arg in reversed(sys.argv[1:]): if arg.startswith('--backend'): if arg.startswith('--backend=vs'): backend = Backend.vs elif arg == '--backend=xcode': backend = Backend.xcode - break + if arg.startswith('--cross'): + if arg == '--cross=arm': + cross = 'arm' + elif arg == '--cross=mingw': + cross = 'mingw' + else: + raise RuntimeError('Unknown cross tests selected') # Running on a developer machine? Be nice! if not mesonlib.is_windows() and not mesonlib.is_haiku() and 'TRAVIS' not in os.environ: os.nice(20) @@ -242,20 +247,18 @@ if __name__ == '__main__': 'coverage.process_startup()\n') env['COVERAGE_PROCESS_START'] = '.coveragerc' env['PYTHONPATH'] = os.pathsep.join([td] + env.get('PYTHONPATH', [])) - # Meson command tests - returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) - # Unit tests - returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env) - # Ubuntu packages do not have a binary without -6 suffix. - cross_test_args = mesonlib.python_command + ['run_cross_test.py'] - if should_run_linux_cross_tests(): - print(mlog.bold('Running armhf cross tests.').get_text(mlog.colorize_console)) - print() - returncode += subprocess.call(cross_test_args + ['cross/ubuntu-armhf.txt'], env=env) - if should_run_mingw_cross_tests(): - print(mlog.bold('Running mingw-w64 64-bit cross tests.').get_text(mlog.colorize_console)) - print() - returncode += subprocess.call(cross_test_args + ['cross/linux-mingw-w64-64bit.txt'], env=env) - # Project tests - returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env) + if not cross: + returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) + returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env) + returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env) + else: + cross_test_args = mesonlib.python_command + ['run_cross_test.py'] + if cross == 'arm': + print(mlog.bold('Running armhf cross tests.').get_text(mlog.colorize_console)) + print() + returncode += subprocess.call(cross_test_args + ['cross/ubuntu-armhf.txt'], env=env) + elif cross == 'mingw': + print(mlog.bold('Running mingw-w64 64-bit cross tests.').get_text(mlog.colorize_console)) + print() + returncode += subprocess.call(cross_test_args + ['cross/linux-mingw-w64-64bit.txt'], env=env) sys.exit(returncode) |