{% comment "License" %} % Copyright (c) 2019 ISP RAS (http://www.ispras.ru) % Ivannikov Institute for System Programming of the Russian Academy of Sciences % % Licensed under the Apache License, Version 2.0 (the "License"); % you may not use this file except in compliance with the License. % You may obtain a copy of the License at % % http://www.apache.org/licenses/LICENSE-2.0 % % Unless required by applicable law or agreed to in writing, software % distributed under the License is distributed on an "AS IS" BASIS, % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % See the License for the specific language governing permissions and % limitations under the License. {% endcomment %} {% load i18n %} {% load static %} {# See reports.utils.ReportData.__get_type() for types #} {% if type == 'testing' %}
{% trans 'Testing results' %}
{% trans 'Passed tests' %} {{ stats|get_dict_val:"passed tests" }} ({% widthratio stats|get_dict_val:"passed tests" stats.tests 100 %}%)
{% trans 'Failed tests' %} {{ stats|get_dict_val:"failed tests" }} ({% widthratio stats|get_dict_val:"failed tests" stats.tests 100 %}%)
{% trans 'Total number of tests' %} {{ stats.tests }}
{% trans 'Missed comments' %} {{ stats|get_dict_val:"missed comments" }}
{% trans 'Excessive comments' %} {{ stats|get_dict_val:"excessive comments" }}
{% for test_result in data|sort_tests_list %} {% endfor %}
{% trans 'Test' %} {% trans 'Verdict' %}
{{ test_result.test }} {% with ideal_verdict=test_result|get_dict_val:"ideal verdict" %} {% if test_result.verdict != ideal_verdict %} {% trans 'Failed' %} {% else %} {% trans 'Passed' %} {% endif %} {% if test_result.comment %}*{% endif %} ({{ ideal_verdict }} → {{ test_result.verdict }}) {% endwith %}
{% elif type == 'validation' %}
{% trans 'Validation results' %}
{% trans "Found bug before fix and safe after fix" %} {{ stats|get_dict_val:"found bug before fix and safe after fix" }} ({% widthratio stats|get_dict_val:"found bug before fix and safe after fix" stats.bugs 100 %}%)
{% trans 'Found bug before fix and non-safe after fix' %} {{ stats|get_dict_val:"found bug before fix and non-safe after fix" }} ({% widthratio stats|get_dict_val:"found bug before fix and non-safe after fix" stats.bugs 100 %}%)
{% trans 'Found non-bug before fix and safe after fix' %} {{ stats|get_dict_val:"found non-bug before fix and safe after fix" }} ({% widthratio stats|get_dict_val:"found non-bug before fix and safe after fix" stats.bugs 100 %}%)
{% trans 'Found non-bug before fix and non-safe after fix' %} {{ stats|get_dict_val:"found non-bug before fix and non-safe after fix" }} ({% widthratio stats|get_dict_val:"found non-bug before fix and non-safe after fix" stats.bugs 100 %}%)
{% trans 'Total number of bugs' %} {{ stats.bugs }}
{% trans 'Missed comments' %} {{ stats|get_dict_val:"missed comments" }}
{% trans 'Excessive comments' %} {{ stats|get_dict_val:"excessive comments" }}
{% for validation_result in data|sort_bugs_list %} {% endfor %}
{% trans 'Bug' %} {% trans 'Before fix' %} {% trans 'After fix' %}
{{ validation_result.bug }} {% with result_before_fix=validation_result|get_dict_val:"before fix" %} {% if result_before_fix %} {{ result_before_fix.verdict }}{% if result_before_fix.comment %}*{% endif %} {% else %} - {% endif %} {% endwith %} {% with result_after_fix=validation_result|get_dict_val:"after fix" %} {% if result_after_fix %} {{ result_after_fix.verdict }}{% if result_after_fix.comment %}*{% endif %} {% else %} - {% endif %} {% endwith %}
{% elif type == 'PFG' %}
{% trans 'Program fragment contents and sizes' %}
{% for module, desc in data.items|sort_list %} {% if desc.files.length == 0 %} {% else %} {% for file in desc.files|slice:"1:" %} {% endfor %} {% endif %} {% endfor %}
{% trans 'Program fragments' %} {% trans 'Lines of code' %} {% trans 'Source files' %}
{{ module }} {{ desc.size }} "0"
{{ module }} {{ desc.size }} {{ desc.files.0 }}
{{ file }}
{% elif type == 'EMG' %} {% if data.envmodel_attrs.items|length > 1 %}
{% trans 'Environment model attributes' %}
{% for name, attrs in data.envmodel_attrs.items|sort_list %} {% endfor %}
{% trans 'Name' %} {% trans 'Attributes' %}
{{ name }}
{{ attrs }}
{% endif %}
{% trans 'User-defined environment model specification(s)' %}
{% if data.UDEMSes.items|length == 1 %} {% for name, desc in data.UDEMSes.items %}
{{ desc }}
{% endfor %} {% else %} {% for name, desc in data.UDEMSes.items|sort_list %} {% endfor %}
{% trans 'Name' %} {% trans 'Specification' %}
{{ name }}
{{ desc }}
{% endif %} {% else %}
{{ data }}
{% endif %}