run_tests: Print stdo and stde in failing test logs

This is a superset of the mlog output, and also contains the ninja
output and the test output.
pull/863/head
Nirbheek Chauhan 8 years ago
parent 3b67e1e379
commit 81423270f5
  1. 6
      run_tests.py

@ -68,6 +68,7 @@ failing_tests = 0
skipped_tests = 0 skipped_tests = 0
failing_logs = [] failing_logs = []
print_debug = 'MESON_PRINT_TEST_OUTPUT' in os.environ print_debug = 'MESON_PRINT_TEST_OUTPUT' in os.environ
do_debug = not {'MESON_PRINT_TEST_OUTPUT', 'TRAVIS', 'APPVEYOR'}.isdisjoint(os.environ)
meson_command = os.path.join(os.getcwd(), 'meson') meson_command = os.path.join(os.getcwd(), 'meson')
if not os.path.exists(meson_command): if not os.path.exists(meson_command):
@ -117,7 +118,7 @@ def setup_commands(backend):
ninja_command = environment.detect_ninja() ninja_command = environment.detect_ninja()
if ninja_command is None: if ninja_command is None:
raise RuntimeError('Could not find Ninja v1.6 or newer') raise RuntimeError('Could not find Ninja v1.6 or newer')
if print_debug: if do_debug:
compile_commands = [ninja_command, '-v'] compile_commands = [ninja_command, '-v']
else: else:
compile_commands = [ninja_command] compile_commands = [ninja_command]
@ -378,7 +379,8 @@ def run_tests(extra_args):
print('Failed test%s: %s' % (without_install, t)) print('Failed test%s: %s' % (without_install, t))
print('Reason:', result.msg) print('Reason:', result.msg)
failing_tests += 1 failing_tests += 1
failing_logs.append(result.mlog) failing_logs.append(result.stdo)
failing_logs.append(result.stde)
else: else:
print('Succeeded test%s: %s' % (without_install, t)) print('Succeeded test%s: %s' % (without_install, t))
passing_tests += 1 passing_tests += 1

Loading…
Cancel
Save