{{ file.name }}
{{ "%.1f"|format(file.coverage.ratio * 100) }}%
Coverage
{{ file.coverage.hits }}/{{ file.coverage.total }}
{% for item in file.members recursive %}
{% endfor %}
{% if item.kind == 'class' %}class{% else %}def{% endif %}
{{ item.name }}
{% if item.kind == 'function' %}
{% if item.signature %}
{{ render_signature(item.signature) }}
{% else %}
(...)
{% endif %}
{% endif %}
{% if item.lineno %}
L{{ item.lineno }}
{% endif %}
{% if item.coverage %}
{{ render_coverage_indicator(item.coverage) }}
{% endif %}
{% if item.kind == 'class' %}
{% if item.members %}
{{ loop(item.members) }}
{% else %}
{% endif %}
{% endfor %}
{% else %}
This class has no members.
{% endif %}
{% else %}
{% if item.call_details %}
{% for title, class, calls in [
("⚡️ Matched runtime calls", "matched", item.call_details.matched),
("⚠️ Unmatched return value", "unmatched_ret", item.call_details.unmatched_ret),
("💥 Exceptions", "unmatched_ret", item.call_details.exceptions),
("❗️ Signature mismatch", "unmatched_sig", item.call_details.unmatched_calls),
] %}
{% if calls %}
{{ title }} ({{ calls | length }})
{% for call in calls %}
{{ render_call_signature(call) }}
{% endfor %}
No calls were traced for this function.
{% endif %}
{% endif %}
No coverage data available
Run your tests with tracing enabled to generate coverage data.