diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -191,8 +191,9 @@ logging.basicConfig(format='%(message)s', level=logging_level) # Create base test directory - tmpdir = os.path.join("{}", "bitcoin_test_runner_{:%Y%m%d_%H%M%S}").format( - args.tmpdirprefix, datetime.datetime.now()) + runner_id = "bitcoin_test_runner_{:%Y%m%d_%H%M%S}".format( + datetime.datetime.now()) + tmpdir = os.path.join("{}", "{}").format(args.tmpdirprefix, runner_id) os.makedirs(tmpdir) logging.debug("Temporary test directory at {}".format(tmpdir)) @@ -302,10 +303,10 @@ "cache"), ignore_errors=True) run_tests(test_list, build_dir, tests_dir, args.junitoutput, - tmpdir, args.jobs, args.coverage, passon_args, args.combinedlogslen, build_timings) + tmpdir, args.jobs, runner_id, args.coverage, passon_args, args.combinedlogslen, build_timings) -def run_tests(test_list, build_dir, tests_dir, junitoutput, tmpdir, num_jobs, enable_coverage=False, args=[], combined_logs_len=0, build_timings=None): +def run_tests(test_list, build_dir, tests_dir, junitoutput, tmpdir, num_jobs, runner_id, enable_coverage=False, args=[], combined_logs_len=0, build_timings=None): # Warn if bitcoind is already running (unix only) try: pidofOutput = subprocess.check_output(["pidof", "bitcoind"]) @@ -349,7 +350,7 @@ max_len_name = len(max(test_list, key=len)) print_results(test_results, tests_dir, max_len_name, runtime, combined_logs_len) - save_results_as_junit(test_results, junitoutput, runtime) + save_results_as_junit(test_results, junitoutput, runtime, runner_id) if (build_timings is not None): build_timings.save_timings(test_results) @@ -677,14 +678,14 @@ return all_cmds - covered_cmds -def save_results_as_junit(test_results, file_name, time): +def save_results_as_junit(test_results, file_name, time, runner_id): """ Save tests results to file in JUnit format See http://llg.cubic.org/docs/junit/ for specification of format """ e_test_suite = ET.Element("testsuite", - {"name": "bitcoin_abc_tests", + {"name": runner_id, "tests": str(len(test_results)), # "errors": "failures": str(len([t for t in test_results if t.status == "Failed"])),