diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-07-31 19:33:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-31 19:33:06 +0300 |
commit | e75f6e43050594c77a09eb7b27ee3ec0b0d0898f (patch) | |
tree | e89968d5d63109721a11cb385b77d2f7d69a232c /run_tests.py | |
parent | a5d0a501fd27a7a68675f5ca6b371ee3c0234016 (diff) | |
parent | e8dae2b966498207867cb07d58f4404b76c087ce (diff) | |
download | meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.zip meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.tar.gz meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.tar.bz2 |
Merge pull request #3850 from mesonbuild/nirbheek/exe-wrapper-compiler-fallbacks
Be more permissive about not-found exe_wrapper
Diffstat (limited to 'run_tests.py')
-rwxr-xr-x | run_tests.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/run_tests.py b/run_tests.py index af20ba2..6e441d3 100755 --- a/run_tests.py +++ b/run_tests.py @@ -29,6 +29,7 @@ from pathlib import Path import mesonbuild from mesonbuild import mesonlib from mesonbuild import mesonmain +from mesonbuild import mtest from mesonbuild import mlog from mesonbuild.environment import detect_ninja @@ -156,8 +157,17 @@ def get_fake_options(prefix): opts.cmd_line_options = {} return opts -def should_run_linux_cross_tests(): - return shutil.which('arm-linux-gnueabihf-gcc') and not platform.machine().lower().startswith('arm') +def run_mtest_inprocess(commandlist): + old_stdout = sys.stdout + sys.stdout = mystdout = StringIO() + old_stderr = sys.stderr + sys.stderr = mystderr = StringIO() + try: + returncode = mtest.run(commandlist) + finally: + sys.stdout = old_stdout + sys.stderr = old_stderr + return returncode, mystdout.getvalue(), mystderr.getvalue() def run_configure_inprocess(commandlist): old_stdout = sys.stdout @@ -203,7 +213,7 @@ if __name__ == '__main__': # Iterate over list in reverse order to find the last --backend arg backend = Backend.ninja cross = False - # FIXME: Convert to argparse + # FIXME: PLEASE convert to argparse for arg in reversed(sys.argv[1:]): if arg.startswith('--backend'): if arg.startswith('--backend=vs'): @@ -212,6 +222,10 @@ if __name__ == '__main__': backend = Backend.xcode if arg.startswith('--cross'): cross = True + if arg == '--cross=mingw': + cross = 'mingw' + elif arg == '--cross=arm': + cross = 'arm' # 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) @@ -249,10 +263,12 @@ if __name__ == '__main__': 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'] - 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) - 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) + if cross is True or 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) + if cross is True or 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) |