Kea2 Merged Test Report

Test Time: {{ timestamp }}

Test Summary

{{ bugs_found }} Property Violations
{{ total_crash_count|default(0) }} Crashes
{{ total_anr_count|default(0) }} ANRs
{{ "%.2f"|format(coverage_percent) }}% Activity Coverage
{{ all_properties_count }} All Properties
{{ executed_properties_count }} Executed Properties
{% if merge_info %}
Merged Directories
{% for dir_name in merge_info.source_directories %}
{{ loop.index }}. {{ dir_name }}
{% endfor %}
{% endif %}

Activities Coverage

{% if total_activities|length > 0 %} {% for activity in total_activities %} {% endfor %} {% else %} {% endif %}
Activity Name {{ tested_activities_count }}/{{ total_activities_count }} Visit Count
{% if activity in tested_activities %} {% else %} {% endif %} {{ activity }} {% if activity in activity_count_history %} {{ activity_count_history[activity] }} times {% else %} 0 times {% endif %}
No activities found
{% if crash_events or anr_events %}

Crash and ANR Events

{% for crash in crash_events %} {% endfor %} {% for anr in anr_events %} {% endfor %}
Type Time Exception Process Report Source Details
CRASH {{ crash.time }} {{ crash.exception_type }} {{ crash.process }} {% if crash.report_path %} {{ crash.source_directory or 'Unknown' }} {% elif crash.source_directory %} {{ crash.source_directory }} {% else %} N/A {% endif %}
Stack Trace:
{{ crash.stack_trace }}
ANR {{ anr.time }} {{ anr.reason }} {{ anr.process }} {% if anr.report_path %} {{ anr.source_directory or 'Unknown' }} {% elif anr.source_directory %} {{ anr.source_directory }} {% else %} N/A {% endif %}
ANR Details:
{{ anr.trace }}
{% else %}

Crash and ANR Events

No crash or ANR events detected in this test session.
{% endif %}

Property Checking Statistics

{% for property_name, test_result in property_stats.items() %} {% endfor %}
Index Property Name {{ property_stats_summary.total_properties if property_stats_summary is defined else property_stats|length }} Precondition Satisfied {{ property_stats_summary.total_precond_satisfied if property_stats_summary is defined else 0 }} Total Executions {{ property_stats_summary.total_executed if property_stats_summary is defined else 0 }} Passes {{ property_stats_summary.total_passes if property_stats_summary is defined else 0 }} Fails {{ property_stats_summary.total_fails if property_stats_summary is defined else 0 }} Errors {{ property_stats_summary.total_errors if property_stats_summary is defined else 0 }} Skipped {{ property_stats_summary.total_not_executed if property_stats_summary is defined else 0 }}
{{ loop.index }} {{ property_name }} {{ test_result.precond_satisfied|default(0) }} {{ test_result.executed_total|default(test_result.executed|default(0)) }} {{ test_result.pass_count|default(0) }} {{ test_result.fail|default(0) }} {{ test_result.error|default(0) }} {{ test_result.not_executed|default(0) }}
{% if property_source_mapping %}

Property Source Mapping

Source Directory Information:

This section shows which test directories contain properties with failures or errors. Use this information to locate the original test reports for detailed error analysis.

{% for property_name, source_dirs in property_source_mapping.items() %} {% endfor %}
Index Property Name Source Directories
{{ loop.index }} {{ property_name }} {% set max_visible = 3 %} {% if source_dirs|length <= max_visible %} {% for dir_info in source_dirs %} {% if dir_info.report_path %} {{ dir_info.dir_name }} {% else %} {{ dir_info.dir_name }} {% endif %} {% endfor %} {% else %}
{% for dir_info in source_dirs[:max_visible] %} {% if dir_info.report_path %} {{ dir_info.dir_name }} {% else %} {{ dir_info.dir_name }} {% endif %} {% endfor %}
{% endif %}
{% endif %}