diff --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py --- a/llvm/utils/lit/lit/formats/googletest.py +++ b/llvm/utils/lit/lit/formats/googletest.py @@ -133,17 +133,19 @@ shard_header = get_shard_header(shard_env) try: - _, _, exitCode = lit.util.executeCommand( + out, err, exitCode = lit.util.executeCommand( cmd, env=test.config.environment, timeout=litConfig.maxIndividualTestTime) - except lit.util.ExecuteCommandTimeoutException: - return (lit.Test.TIMEOUT, f'{shard_header}Reached timeout of ' - f'{litConfig.maxIndividualTestTime} seconds') + except lit.util.ExecuteCommandTimeoutException as e: + stream_msg = f"\n{e.out}\n--\n{e.err}\n--\nexit: {e.exitCode}\n--\n" + return (lit.Test.TIMEOUT, f'{shard_header}{stream_msg}Reached ' + f'timeout of {litConfig.maxIndividualTestTime} seconds') + stream_msg = f"\n{out}\n--\n{err}\n--\nexit: {exitCode}\n--\n" if not os.path.exists(test.gtest_json_file): errmsg = f"shard JSON output does not exist: %s" % ( test.gtest_json_file) - return lit.Test.FAIL, shard_header + errmsg + return lit.Test.FAIL, shard_header + stream_msg + errmsg if exitCode == 0: return lit.Test.PASS, '' @@ -153,7 +155,7 @@ if use_shuffle: shard_env['GTEST_RANDOM_SEED'] = str(jf['random_seed']) - output = get_shard_header(shard_env) + '\n' + output = get_shard_header(shard_env) + stream_msg + '\n' for testcase in jf['testsuites']: for testinfo in testcase['testsuite']: