mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-06-02 15:32:34 +02:00
fuzz: Print coverage summary after run_once
This commit is contained in:
parent
e3b68b3b83
commit
fab97d81ce
@ -347,13 +347,18 @@ def run_once(*, fuzz_pool, corpus, test_list, src_dir, build_dir, using_libfuzze
|
|||||||
text=True,
|
text=True,
|
||||||
)
|
)
|
||||||
output += result.stderr
|
output += result.stderr
|
||||||
return output, result
|
return output, result, t
|
||||||
|
|
||||||
jobs.append(fuzz_pool.submit(job, t, args))
|
jobs.append(fuzz_pool.submit(job, t, args))
|
||||||
|
|
||||||
|
stats = []
|
||||||
for future in as_completed(jobs):
|
for future in as_completed(jobs):
|
||||||
output, result = future.result()
|
output, result, target = future.result()
|
||||||
logging.debug(output)
|
logging.debug(output)
|
||||||
|
if using_libfuzzer:
|
||||||
|
done_stat = [l for l in output.splitlines() if "DONE" in l]
|
||||||
|
assert len(done_stat) == 1
|
||||||
|
stats.append((target, done_stat[0]))
|
||||||
try:
|
try:
|
||||||
result.check_returncode()
|
result.check_returncode()
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
@ -364,6 +369,13 @@ def run_once(*, fuzz_pool, corpus, test_list, src_dir, build_dir, using_libfuzze
|
|||||||
logging.info(f"Target {result.args} failed with exit code {e.returncode}")
|
logging.info(f"Target {result.args} failed with exit code {e.returncode}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
if using_libfuzzer:
|
||||||
|
print("Summary:")
|
||||||
|
max_len = max(len(t[0]) for t in stats)
|
||||||
|
for t, s in sorted(stats):
|
||||||
|
t = t.ljust(max_len + 1)
|
||||||
|
print(f"{t}{s}")
|
||||||
|
|
||||||
|
|
||||||
def parse_test_list(*, fuzz_bin):
|
def parse_test_list(*, fuzz_bin):
|
||||||
test_list_all = subprocess.run(
|
test_list_all = subprocess.run(
|
||||||
|
Loading…
Reference in New Issue
Block a user