---
layout: default
---

<div class="w-80 m-auto mt-2">
  <div class="d-md-flex">
    <div class="d-sm-none">
      <img class="logo" src="{{site.baseurl}}/assets/img/rust-python-logo.svg" alt="RustPython Logo">
    </div>
    <div class="pl-md-2">
      <div class="title">{{ site.title }}</div>
      <div class="section-title">{{ page.title }} </div>
    </div>
  </div>
</div>

<div class="w-80 m-auto mt-4">
  <div class="font-secondary section-title">Filters</div>
  <div class="d-md-flex mt-1 ">
    <div data-filter="all" class="filter active pr-2"> All </div>
    <div data-filter="passed" class="filter pr-2"> Passed </div>
    <div data-filter="skipped" class="filter pr-2"> Skipped </div>
    <div data-filter="expected_failure" class="filter pr-2"> Expected Failures </div>
    <div data-filter="" class="filter ml-auto"> Summary only </div>
    <div class="filter"><a target="_blank" class="text-decoration-none" href="https://github.com/RustPython/rustpython.github.io/blob/master/_data/regrtests_results.json">Json file</a></div>
  </div>
</div>

<!--  content -->
{% capture tables %}
<div class="w-80 m-auto">
  <div class="m-auto">

    <div class="results-suites">
      <div class="results-test ">
        <div class="padding-small bg-rust text-white">
          <h2 class="font-secondary">Summary:</span>
        </div>
          {% assign regrtests_results = site.data.regrtests_results %}
          {% include regrtest_summary.html 
              pass=regrtests_results.num_passed 
              expectedfail=regrtests_results.num_expected_failures
              skip=regrtests_results.num_skipped 
              extime=regrtests_results.execution_time
          %}
      </div>
    </div>

    {% for test in site.data.regrtests_results.suites %}
    
    <div class="results-suites">
      {% for result in test %}
     
      <div class="results-test">
        <div class="results-test-header d-md-flex">
          <div class="w-md-50">
            {% if result.module %}
            <div class="padding-small">
              <span class="font-secondary">Module:</span>
              {{result.module }}
            </div>
            {% endif %}

            {% if result.name %}
            <div class="padding-small">
              <span class="font-secondary">Name: </span>
              {{result.name }}
            </div>
            {% endif %}

            {% if result.class %}
            <div class="padding-small">
              <span class="font-secondary">Class: </span>
              {{result.class }}
            </div>
            {% endif %}

            
          </div>
          {% if result.num_passed and result.num_skipped and result.num_failed %}
            <div class="w-md-50 float-md-right">
              {% include regrtest_summary.html pass=result.num_passed expectedfail=result.num_expected_failures skip=result.num_skipped extime=result.execution_time %}
            </div>
          {% endif %}
        </div>

        <div class="results-case-wrapper">
          {% for cases in result.cases %}
          <div class="results-case">
            <div class="tbl results-case-list">
              {% comment %} for each case {% endcomment %}
              {% for case in cases %}
              <div data-status="{{case.result}}" class="row results-case-list-details">

                {% if case.method %}
                <div class="cell results-case-list-item">
                  <span class="text-small text-muted">METHOD:</span>
                  {{case.method }}
                </div>
                {% endif %}

                {% if case.result %}
                <div class="cell {{ case.result }} results-case-list-item text-mobile-right">
                  <span class="text-small text-muted d-mobile-none">RESULT: </span>
                  <span class="case-result">{{ case.result | replace: "_", " " }}</span>
                  {%- if case.result == "skipped" -%}
                    {%- assign note = case.note | default: result.note-%}
                    {%- assign lownote = note | downcase -%}
                    {%- if lownote contains "todo: rustpython" -%}
                      {%- assign note = lownote | remove: "todo: rustpython," | remove: "todo: rustpython:" | remove: "todo: rustpython" | strip -%}
                      {%- if note and note != "" %}
                        <span class="text-small text-muted d-mobile-none">TO RESOLVE: </span>
                        <span class="d-mobile-none case-note">{{ note }}</span>
                      {%- endif -%}
                    {%- elsif note == "implementation detail specific to cpython" -%}
                        <span class="text-small text-muted d-mobile-none">(CPython only)</span>
                    {%- else -%}
                        <span class="text-small text-muted d-mobile-none">not skipped by us: </span>
                        <span class="text-small d-mobile-none case-note">{{ note }}</span>
                    {%- endif -%}
                  {%- endif -%}
                </div>
                {% endif %}

                {% if case.execution_time %}
                <div class="cell results-case-list-item text-md-right d-mobile-none">
                  <span class="text-small text-muted">EXEC TIME:</span>
                  {{case.execution_time }}
                </div>
                {% endif %}

              </div>
              {% endfor %}
              {% comment %} end for each case {% endcomment %}
            </div>
          </div>
          {% endfor %}
        </div>

      </div>
      {% endfor %}
    </div>
    {% endfor %}
  </div>
</div>
{% endcapture %}

{%- assign tables = tables | split: "
"-%}
{%- for line in tables -%}{{ line | strip }}{%- endfor -%}

<script src="/assets/js/regrtests_results.js"></script>
