aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAurèle Oulès <aurele@oules.com>2022-09-07 11:19:38 +0200
committerAurèle Oulès <aurele@oules.com>2022-09-08 12:41:16 +0200
commit07b6e743147f410d8ceb4b6b3282e9fba4cafe50 (patch)
tree85c47ccc489a9995347c1bb930eee207c9a7bcb5 /test
parent0ebd4db32b39cb7c505148f090df4b7ac778c307 (diff)
downloadbitcoin-07b6e743147f410d8ceb4b6b3282e9fba4cafe50.tar.xz
test: Display skipped tests reason
Diffstat (limited to 'test')
-rwxr-xr-xtest/functional/test_runner.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py
index 267d8e2177..c47e4d9b84 100755
--- a/test/functional/test_runner.py
+++ b/test/functional/test_runner.py
@@ -555,14 +555,14 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=
while i < test_count:
if failfast and not all_passed:
break
- for test_result, testdir, stdout, stderr in job_queue.get_next():
+ for test_result, testdir, stdout, stderr, skip_reason in job_queue.get_next():
test_results.append(test_result)
i += 1
done_str = "{}/{} - {}{}{}".format(i, test_count, BOLD[1], test_result.name, BOLD[0])
if test_result.status == "Passed":
logging.debug("%s passed, Duration: %s s" % (done_str, test_result.time))
elif test_result.status == "Skipped":
- logging.debug("%s skipped" % (done_str))
+ logging.debug(f"{done_str} skipped ({skip_reason})")
else:
all_passed = False
print("%s failed, Duration: %s s\n" % (done_str, test_result.time))
@@ -686,10 +686,12 @@ class TestHandler:
log_out.seek(0), log_err.seek(0)
[stdout, stderr] = [log_file.read().decode('utf-8') for log_file in (log_out, log_err)]
log_out.close(), log_err.close()
+ skip_reason = None
if proc.returncode == TEST_EXIT_PASSED and stderr == "":
status = "Passed"
elif proc.returncode == TEST_EXIT_SKIPPED:
status = "Skipped"
+ skip_reason = re.search(r"Test Skipped: (.*)", stdout).group(1)
else:
status = "Failed"
self.num_running -= 1
@@ -698,7 +700,7 @@ class TestHandler:
clearline = '\r' + (' ' * dot_count) + '\r'
print(clearline, end='', flush=True)
dot_count = 0
- ret.append((TestResult(name, status, int(time.time() - start_time)), testdir, stdout, stderr))
+ ret.append((TestResult(name, status, int(time.time() - start_time)), testdir, stdout, stderr, skip_reason))
if ret:
return ret
if self.use_term_control: