Report

{% set tcases_count = trun.progress.UNKN + trun.progress.PASS + trun.progress.FAIL %} {% set tcases_completed = trun.progress.PASS + trun.progress.FAIL %} {% set trun_bg_color = "secondary" %} {% set trun_bg_color = "success" if trun.status == "PASS" else trun_bg_color %} {% set trun_bg_color = "danger" if trun.status == "FAIL" else trun_bg_color %} {% set trun_color = "white" %} {% set trun_color = "black" if trun.status == "PASS" else trun_color %} {% set trun_color = "black" if trun.status == "FAIL" else trun_color %}

A total of {{ tcases_count }} testcases across {{ trun.testsuites | length }} testsuite(s).

Test execution is {{ ((tcases_completed / tcases_count) * 100)|int }}% complete {% if trun.stamp and trun.stamp.begin %} , started {{ trun.stamp.begin | stamp_to_datetime | strftime("%b. %d %Y") }} {% endif %} {% if trun.stamp and trun.stamp.end %} , ended {{ trun.stamp.end | stamp_to_datetime | strftime("%b. %d %Y") }} , spanning a wall-clock period of {{ "{0:0.2f}".format(((trun.stamp.end - trun.stamp.begin) / 60.0)/60.0) }} hours {% endif %}

Testcase Status Count
PASS {{ trun.progress.PASS }}
FAIL {{ trun.progress.FAIL }}
UNKN {{ trun.progress.UNKN }}
Input given to the runner in the form command-line arguments and environment variables
{% for key, value in trun.args.items() if key != "testsuites" %} {% endfor %}
Name Value
{{ key }} {{ value }}
{% for key, value in trun.evars.items() %} {% endfor %}
Name Value
{{ key }} {{ value }}

A total of {{ trun.aux_list | length }} auxilary files, produced by testplan hooks, are listed below

    {% for aux in trun.aux_list %}
  • {{ aux }}
  • {% endfor %}

Output produced by executing testplan hooks is provided below

{{ trun.log_content | ansi_to_html | safe }}

Results

{% for tsuite in trun.testsuites %} {% set tsuite_bg_color = "secondary" %} {% set tsuite_bg_color = "success" if tsuite.status == "PASS" else tsuite_bg_color %} {% set tsuite_bg_color = "danger" if tsuite.status == "FAIL" else tsuite_bg_color %} {% set tsuite_color = "white" %} {% set tsuite_color = "black" if tsuite.status == "PASS" else tsuite_color %} {% set tsuite_color = "black" if tsuite.status == "FAIL" else tsuite_color %}

The {{ tsuite.name }} testsuite contains {{ tsuite.testcases | length }} testcases.

The testcases are listed below along with testcase status UNKN/PASS/FAIL, descr, source definition, auxilary files, and run log.

    {% for tcase in tsuite.testcases %} {% set ident = tsuite.id + "_" + tcase.id %} {% set tcase_color = "secondary" %} {% set tcase_color = "success" if tcase.status == "PASS" else tcase_color %} {% set tcase_color = "danger" if tcase.status == "FAIL" else tcase_color %}
  • {{ tcase.descr_short if tcase.descr_short else "UNDOCUMENTED" }}
    {{ tcase.descr_long if tcase.descr_long else "UNDOCUMENTED" }}

    Source code for the testcase definition

    {{ tcase.src_content }}

    A total of {{ tcase.aux_list | length }} auxilary files produced by testcase hooks are listed below

      {% for aux in tcase.aux_list %}
    • {{ aux }}
    • {% endfor %}

    Log of output from testcase and hooks executed before and/or after the testcase

    {{ tcase.log_content | ansi_to_html | safe }}
  • {% endfor %}

A total of {{ tsuite.aux_list | length }} auxilary files produced by testsuite hooks are listed below

    {% for aux in tsuite.aux_list %}
  • {{ aux }}
  • {% endfor %}

Output produced by executing testsuite hooks is provided below

{{ tsuite.log_content | ansi_to_html | safe }}

{% endfor %}

EOL

In the presence of failure, recall, this too shall pass