Coverage
{% set coverage = summary.coverage %}
{% if coverage.overall %}
{% set overall = coverage.overall %}
Coverage: {{'{:.2f}'.format(overall.percentage)}} (reached {{overall.hit}} of {{overall.total}} reachable lines)
{% endif %}
{% if coverage.function %}
{% set function = coverage.function %}
Coverage |
Function |
File |
{% for func in function|sort(attribute="func_name")|sort(attribute="file_name")|sort(attribute="percentage", reverse=True) %}
{{'{:.2f}'.format(func.percentage)}} ({{func.hit}}/{{func.total}}) |
{{link.to_line(func.file_name, func.line_num, func.func_name)}} |
{{link.to_file(func.file_name, func.file_name)}} |
{% endfor %}
{% endif %}
{% if not coverage.overall and not coverage.function %}
None
{% endif %}
Warnings
{% set warnings = summary.warnings %}
{% if warnings.expected_missing_function %}
Functions omitted from test (expected):
{% for func in warnings.expected_missing_function|sort %}
- {{func}}
{% endfor %}
{% endif %}
{% if warnings.unexpected_missing_function %}
Functions omitted from test (unexpected):
{% for func in warnings.unexpected_missing_function|sort %}
- {{func}}
{% endfor %}
{% endif %}
{% if warnings.other %}
Other warnings:
{% for warning in warnings.other|sort %}
- {{warning}}
{% endfor %}
{% endif %}
{% if not warnings.expected_missing_function and
not warnings.unexpected_missing_function and
not warnings.other %}
None
{% endif %}
Errors
{% set errors = summary.failures %}
{% if errors.loop %}
- Loop unwinding failures
{% for error in errors.loop %}
- [{{link.to_trace(error.loop_name)}}]
{{error.loop_name}}
in line
{{link.to_line(error.file_name, error.line_num, error.line_num)}}
in file
{{link.to_file(error.file_name, error.file_name)}}
{% endfor %}
{% endif %}
{% if errors.other %}
- Other failures
{% for error in errors.other %}
- {{error}}
{% endfor %}
{% endif %}
{% if errors.property %}
{% for file_name, file_errors in errors.property|groupby("file_name") %}
- File {{link.to_file(file_name, file_name)}}
{% for func_name, func_errors in file_errors|groupby("func_name") %}
{% set func_line = func_errors[0]["func_line"] %}
-
Function {{link.to_line(file_name, func_line, func_name)}}
{% for line_num, line_errors in func_errors|groupby("line_num") %}
-
Line {{link.to_line(file_name, line_num, line_num)}}
{% for error in line_errors|sort(attribute="prop_name") %}
-
[{{link.to_trace(error.prop_name)}}]
{{error.prop_desc}}
{% endfor %} {# end for error #}
{% endfor %} {# end for line number #}
{% endfor %} {# end for function #}
{% endfor %} {# end for file #}
{% endif %}
{% if not errors.loop and
not errors.other and
not errors.property %}
None
{% endif %}