Skip to content

Commit f3a8e02

Browse files
committed
Add new sub-section to the Test Summary called Test Overview
The new Test Overview sub-section shows the number of tests to have passed, failed, and have been skipped, along with the full details from write_report_result_tree(). Signed-off-by: Joachim Wiberg <[email protected]>
1 parent bc90629 commit f3a8e02

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

9pm.py

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,13 +387,55 @@ def write_report_project_info(file, config):
387387

388388
file.write(f"\n=== {name} Info\n\n")
389389

390-
file.write('[cols="1h,2"]\n')
390+
file.write('[cols="1h,2", width=30%]\n')
391391
file.write("|===\n")
392392
file.write(f"| Version | {version}\n")
393393
file.write(f"| SHA | {sha}\n")
394394

395395
file.write("|===\n")
396396

397+
def write_report_test_info(file, data):
398+
pass_count = 0
399+
fail_count = 0
400+
skip_count = 0
401+
masked_fail_count = 0
402+
masked_skip_count = 0
403+
404+
def count_tests(suite_data):
405+
nonlocal pass_count, fail_count, skip_count, masked_fail_count, masked_skip_count
406+
for test in suite_data['suite']:
407+
if 'result' in test:
408+
if test['result'] == 'pass':
409+
pass_count += 1
410+
elif test['result'] == 'fail':
411+
fail_count += 1
412+
elif test['result'] == 'skip':
413+
skip_count += 1
414+
elif test['result'] == 'masked-fail':
415+
masked_fail_count += 1
416+
elif test['result'] == 'masked-skip':
417+
masked_skip_count += 1
418+
if 'suite' in test:
419+
count_tests(test)
420+
421+
count_tests(data)
422+
423+
file.write("\n=== Test Overview\n\n")
424+
file.write('[cols="1h,2", width=30%]\n')
425+
file.write("|===\n")
426+
file.write(f"| {resultfmt({'result': 'pass'})} | {pass_count}\n")
427+
file.write(f"| {resultfmt({'result': 'fail'})} | {fail_count}\n")
428+
file.write(f"| {resultfmt({'result': 'skip'})} | {skip_count}\n")
429+
file.write(f"| {resultfmt({'result': 'masked-fail'})} | {masked_fail_count}\n")
430+
file.write(f"| {resultfmt({'result': 'masked-skip'})} | {masked_skip_count}\n")
431+
432+
total_count = pass_count + fail_count + skip_count + masked_fail_count + masked_skip_count
433+
file.write(f"| *TOTAL* | *{total_count}*\n")
434+
file.write("|===\n")
435+
436+
includes = []
437+
write_report_result_tree(file, includes, data, 0)
438+
397439
def write_report(data, config):
398440
with open(os.path.join(LOGDIR, 'report.adoc'), 'a') as file:
399441
current_date = datetime.now().strftime("%Y-%m-%d")
@@ -412,6 +454,7 @@ def write_report(data, config):
412454
file.write("\n<<<\n")
413455
file.write("\n== Test Summary\n\n")
414456
write_report_project_info(file, config)
457+
write_report_test_info(file, data)
415458

416459
file.write("\n<<<\n")
417460
file.write("\n== Test Result\n\n")

0 commit comments

Comments
 (0)