From e522a9f2684e38955aefda3b4413a78997ccdbc9 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 1 Apr 2016 23:27:50 +0300 Subject: [PATCH] Fix Windows. Again. --- mesonbuild/environment.py | 1 + run_tests.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index c381ab506..8db0b0c37 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -58,6 +58,7 @@ class Environment(): log_dir = 'meson-logs' coredata_file = os.path.join(private_dir, 'coredata.dat') version_regex = '\d+(\.\d+)+(-[a-zA-Z0-9]+)?' + def __init__(self, source_dir, build_dir, main_script_file, options, original_cmd_line_args): assert(os.path.isabs(main_script_file)) assert(not os.path.islink(main_script_file)) diff --git a/run_tests.py b/run_tests.py index 978625ac4..52111ac41 100755 --- a/run_tests.py +++ b/run_tests.py @@ -309,10 +309,20 @@ def run_tests(extra_args): # and getting it wrong by not doing logical number sorting. (testnum, testbase) = os.path.split(t)[-1].split(' ', 1) testname = '%.3d %s' % (int(testnum), testbase) - result = executor.submit(run_test, skipped, t, extra_args, name != 'failing') + # Windows errors out when calling result.result() below with + # a bizarre error about appending None to an array that comes + # from the standard library. This is probably either because I use + # XP or the Python version is old. Anyhow, fall back to immediate + # evaluation. This causes output not to be printed until the end, + # which is unfortunate but least it works. + if mesonlib.is_windows(): + result = run_test(skipped, t, extra_args, name != 'failing') + else: + result = executor.submit(run_test, skipped, t, extra_args, name != 'failing') futures.append((testname, t, result)) for (testname, t, result) in futures: - result = result.result() + if not mesonlib.is_windows(): # See above. + result = result.result() if result is None: print('Skipping:', t) current_test = ET.SubElement(current_suite, 'testcase', {'name' : testname,