diff --git a/src/dvsim/sim/report.py b/src/dvsim/sim/report.py index 8fc08c45..c4caafa4 100644 --- a/src/dvsim/sim/report.py +++ b/src/dvsim/sim/report.py @@ -111,9 +111,16 @@ def render( file_name = results.block.variant_name() log.debug("Generating HTML report for '%s'", file_name) block_file = f"{file_name}.html" + sorted_buckets = dict( + sorted(results.failed_jobs.buckets.items(), key=lambda kv: len(kv[1]), reverse=True) + ) artifacts[block_file] = render_template( path="reports/block_report.html", - data={"results": results, "version": summary.version}, + data={ + "results": results, + "failed_jobs": sorted_buckets, + "version": summary.version, + }, ) if outdir is not None: (outdir / block_file).write_text(artifacts[block_file]) diff --git a/src/dvsim/templates/reports/block_report.html b/src/dvsim/templates/reports/block_report.html index 152bdef8..4f6177fd 100644 --- a/src/dvsim/templates/reports/block_report.html +++ b/src/dvsim/templates/reports/block_report.html @@ -11,7 +11,6 @@ {% set timestamp = results.timestamp %} {% set stages = results.stages %} {% set coverage = results.coverage %} -{% set failed_jobs = results.failed_jobs %} {% block content %}
@@ -204,7 +203,7 @@

Simulation Results: {{ block.variant_name(sep='/') }}

{% endif %} - {% if failed_jobs.buckets %} + {% if failed_jobs %}

Error Messages

@@ -219,9 +218,10 @@

Error Messages

- {% for msg, job_list in failed_jobs.buckets.items() %} + {% for msg, job_list in failed_jobs.items() %} - {{ msg }} + {{ msg }} + {{ job_list|length }} test run{{ "s" if job_list|length > 1 else "" }} {% for job in job_list %} @@ -230,8 +230,8 @@

Error Messages

{{ job.seed }} {{ job.line }} - {% for line in job.log_context %} -
{{ line }}
+ {% for context_line in job.log_context %} +
{{ context_line }}
{% endfor %}