{% block test_content scoped %} {% if test.item.function and test.item.function.__doc__ %}
{{ test.item.function.__doc__|cleandoc|rst|safe }}
{% endif %} {% block test_metadata scoped %} {# TODO: Use keywords from TestReport to support dynamically added markers with xdist #} {% set markers = test.item.iter_markers()|rejectattr('name', '==', 'parametrize')|list|unique(attribute='name') %} {% if markers %} {% endif %} {% if test.item.fixturenames %} {% endif %} {% for phase in test.phases %} {% for extra in phase.report.extras|default([]) %} {% endfor %} {% endfor %} {% endblock %}
Started {{ test.started|strftime(time_format) }}
Ended {{ test.ended|strftime(time_format) }}
Duration {{ test.phases|sum(attribute='report.duration')|timedelta }}
Markers {% for marker in markers %}
{{ marker.name }} {% for value in marker.args %} {{ value|repr }} {% endfor %} {% for key, value in marker.kwargs.items() %} {{ key }}={{ value|repr }} {% endfor %}
{% endfor %}
Fixtures {% for fixturename in test.item.fixturenames if not fixturename.startswith('_') %} {{ fixturename }} {% endfor %}
{{ extra.name|default(extra.format_type, true) }} {% if extra.format_type == 'image' %} {{ extra.name|default('', true) }} {% elif extra.format_type == 'video' %} {% elif extra.format_type == 'html' %} {{ extra.content|safe }} {% elif extra.format_type == 'text' %}
{{ extra.content|escape }}
{% elif extra.format_type == 'json' %}
{{ extra.content|tojson(indent=2) }}
{% elif extra.format_type == 'url' %} {{ extra.content|urlize }} {% else %} ? {% endif %}
{% for phase in test.phases if phase.call and phase.call.excinfo %}
{{ phase.call.excinfo.exconly(tryshort=True)|ansi|safe }}
{% endfor %} {% set test_plots = plots_data.get(test.item.nodeid, []) if plots_data else [] %} {% if test_plots %}

Plots ({{ test_plots|length }})

{% for plot in test_plots %}
{{ plot.name }}
{% if plot.type == 'image' %} {{ plot.name }} {% elif plot.type == 'html' %} {{ plot.data|safe }} {% elif plot.type == 'plotly' %}
{% if self_contained %} {% endif %}
{% else %}

Unsupported plot type: {{ plot.type }}

{% endif %}
{% endfor %}
{% endif %}
{% for phase in test.phases %}

{% if phase.status.category %} {% endif %} {{ phase.report.when|title }}

{% if phase.report.longrepr %}
{{ phase.report.longreprtext|ansi|safe }}
{% endif %} {% for section, content in phase.sections %}
{{ section }}
{{ content|escape|replace('\r\n', '\n')|ansi|safe }}
{% endfor %}
{% endfor %}
{% endblock %}