{# -*- engine: jinja -*- #}
| Line | Branch | {% if SHOW_CONDITION_COVERAGE %}Condition | {% endif %} {% if SHOW_DECISION %}Decision | {% endif %} {% if SHOW_CALLS %}Call | {% endif %}Exec | Source | {% if USE_BLOCK_IDS %}Block IDs | {% endif %}
|---|---|---|---|---|---|---|---|
| {{row.lineno}} |
{% if row.line_branches %}
{{row.line_branches | sum(attribute='taken')}}/{{row.line_branches | sum(attribute='total')}}
{% for linebranch in row.line_branches %}
{% if loop.length > 1 %}
{{linebranch.function_name}}:
{% endif %}
{% for branch in linebranch.branches %}
{% if branch.branchno is defined %}
{% set branch_info = branch.branchno %}
{% else %}
{% set branch_info = "%d → %d" | format(branch.source_block_id, branch.destination_block_id) | safe %}
{% endif %}
{% if branch.excluded %}
– Branch {{branch_info}} excluded.
{% elif branch.taken %}
✓ Branch {{branch_info}} taken {{branch.count}} time{% if branch.count > 1 %}s{% endif %}.
{% else %}
✗ Branch {{branch_info}} not taken.
{% endif %}
{% endfor %}
{% endfor %}
|
{% if SHOW_CONDITION_COVERAGE %}
{% if row.line_conditions %}
{{row.line_conditions | sum(attribute='covered') }}/{{row.line_conditions | sum(attribute='count')}}
{% for linecondition in row.line_conditions %}
{% if loop.length > 1 %}
{{linecondition.function_name}}:
{% endif %}
{% for condition in linecondition.condition %}
{% if condition.excluded %}
– {{condition.prefix}}excluded.
{% elif condition.not_covered_true and condition.not_covered_false %}
✗ {{condition.prefix}}Not covered.
{% elif condition.not_covered_true %}
✗ {{condition.prefix}}True not covered.
{% elif condition.not_covered_false %}
✗ {{condition.prefix}}False not covered.
{% else %}
✓ {{condition.prefix}}Fully covered.
{% endif%}
{% endfor %}
{% endfor %}
|
{% endif %}
{% if SHOW_DECISION %}
{% if row.line_decisions %}
{{row.line_decisions | sum(attribute='taken')}}/{{row.line_decisions | sum(attribute='total')}}
{% for linedecision in row.line_decisions %}
{% if loop.length > 1 %}
{{linedecision.function_name}}:
{% endif %}
{% for decision in linedecision.decisions %}
{% if decision.uncheckable %}
? Decision couldn't be analyzed.
{% elif decision.taken %}
✓ Decision '{{decision.name}}' taken {{decision.count}} time{% if decision.count > 1 %}s{% endif %}.
{% else %}
✗ Decision '{{decision.name}}' not taken.
{% endif %}
{% endfor %}
{% endfor %}
|
{% endif %}
{% if SHOW_CALLS %}
{% if row.line_calls %}
{{row.line_calls | sum(attribute='invoked')}}/{{row.line_calls | sum(attribute='total')}}
{% for linecall in row.line_calls %}
{% if loop.length > 1 %}
{% endif %}
{{linecall.function_name}}:
{% endif %}
{% for call in linecall.calls %}
{% if call.excluded %}
– Call {{call.name}} excluded.
{% elif call.invoked %}
✓ Call {{call.name}} invoked.
{% else %}
✗ Call {{call.name}} not invoked.
{% endif%}
{% endfor %}
{% endfor %}
|
{% endif %}
{% if ( row.covclass == 'uncoveredLine' ) %}✗{% elif ( row.covclass == 'excludedLine' ) %}−{% else %}{{row.linecount}}{% endif %} | {{row.source}} | {% if USE_BLOCK_IDS %}{% if row.block_ids %}{{row.block_ids | join(', ')}}{% endif %} | {% endif %}