diff options
author | MarcoFalke <falke.marco@gmail.com> | 2022-03-15 19:19:50 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2022-03-15 19:16:35 +0100 |
commit | fa76d8d4d71d844e217686881d4f630eac3a8e10 (patch) | |
tree | 9939fdff4a7387bf706efa6634a5a181a45c628b | |
parent | 7b83c7d609ba61c5726650208b53111eb11a4b0e (diff) |
test: Actually print TSan tracebacks
-rw-r--r-- | .cirrus.yml | 1 | ||||
-rwxr-xr-x | test/functional/test_runner.py | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index e07ff9796e..e0ab1536a0 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -2,6 +2,7 @@ env: # Global defaults PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y" MAKEJOBS: "-j10" TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache + CI_FAILFAST_TEST_LEAVE_DANGLING: "1" # Cirrus CI does not care about dangling process and setting this variable avoids killing the CI script itself on error CCACHE_SIZE: "200M" CCACHE_DIR: "/tmp/ccache_dir" CCACHE_NOHASHDIR: "1" # Debug info might contain a stale path if the build dir changes, but this is fine diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index b0f24e3b97..51c459002a 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -589,11 +589,12 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage= # Clean up dangling processes if any. This may only happen with --failfast option. # Killing the process group will also terminate the current process but that is # not an issue - if len(job_queue.jobs): + if not os.getenv("CI_FAILFAST_TEST_LEAVE_DANGLING") and len(job_queue.jobs): os.killpg(os.getpgid(0), signal.SIGKILL) sys.exit(not all_passed) + def print_results(test_results, max_len_name, runtime): results = "\n" + BOLD[1] + "%s | %s | %s\n\n" % ("TEST".ljust(max_len_name), "STATUS ", "DURATION") + BOLD[0] |