{% extends "base.html" %} {% macro mod_li(m, class) %}
  • {{ m.name }}
    {{ m.version }}
    {{ m.code_hash }}
  • {% endmacro %} {% macro env_field(name, value) %} {{ name }} = {{ value }} {% endmacro %} {% macro env_li(m, class) %}
  • {{ env_field(m.name, m.value) }}
  • {% endmacro %} {% macro env_cli(rem, add) %}
  • {{ env_field(rem.name, rem.value) }}
    {{ env_field(add.name, add.value) }}
  • {% endmacro %} {% macro fa_field(class, title, value) %}
    {{ value }}
    {% endmacro %} {% macro fa_li(m, class) %}
  • {{ fa_field('name', 'Name', m.name) }} {{ fa_field('mode', 'Mode', m.mode) }} {{ fa_field('buffering', 'Buffering', m.buffering) }}
    {{ fa_field('timestamp', 'Time', m.timestamp) }} {{ fa_field('content_hash_before hash', 'Content hash before', m.content_hash_before) }} {{ fa_field('content_hash_after hash', 'Content hash after', m.content_hash_after) }} {{ fa_field('stack', 'Stack', m.stack) }}
  • {% endmacro %} {% macro fa_cfield(class, title, c1, c2) %} {% if c1 == c2 %}
    {{ c1 }}
    {% else %}
    {{ c1 }}
    {{ c2 }}
    {% endif %} {% endmacro %} {% macro info(class, name, c1, c2) %} {% if c1 == c2 %} {{ name }}: {{ c1 }} {% else %} {{ name }}: {{ c1 }} {{ name }}: {{ c2 }} {% endif %} {% endmacro %} {% block css %} {% endblock %} {% block body %}

    Trial {{ trial1.id }} <-> Trial {{ trial2.id }}

    {% if not 'code_hash' in trial %}

    {{ trial1.code_hash }}

    {% else %}

    {{ trial1.code_hash }}

    {{ trial2.code_hash }}

    {% endif %} Script: {{ trial1.script }} {{ info('start', 'Start', trial1.start, trial2.start)}} {{ info('finish', 'Finish', trial1.finish, trial2.finish)}} {{ info('duration', 'Duration', trial1.duration, trial2.duration)}} {% if not 'arguments' in trial %} {% if trial1.arguments %} Arguments: {{ trial1.arguments }}' {% endif %} {% else %} {% if trial1.arguments %} Arguments: {{ trial1.arguments }} {% endif %} {% if trial2.arguments %} Arguments: {{ trial2.arguments }} {% endif %} {% endif %}
    {% if modules_added or modules_removed or modules_replaced %}
    Modules
      {% for m in modules_removed %} {{ mod_li(m, 'libefore') }} {% endfor %} {% for m in modules_added %} {{ mod_li(m, 'liafter') }} {% endfor %} {% for rem, add in modules_replaced %}
    • {{ rem.name }}
      {{ rem.version }}
      {{ add.version }}
      {{ rem.code_hash }}
      {{ add.code_hash }}
    • {% endfor %}
    {% endif %} {% if env_added or env_removed or env_replaced %}
    Environment
      {% for m in env_removed %} {{ env_li(m, 'libefore') }} {% endfor %} {% for m in env_added %} {{ env_li(m, 'liafter') }} {% endfor %} {% for rem, add in env_replaced %} {{ env_cli(rem, add) }} {% endfor %}
    {% endif %} {% if fa_added or fa_removed or fa_replaced %}
    File Accesses
      {% for m in fa_removed %} {{ fa_li(m, "libefore") }} {% endfor %} {% for m in fa_added %} {{ fa_li(m, "liafter") }} {% endfor %} {% for rem, add in fa_replaced %}
    • {{ fa_cfield('name', 'Name', rem.name, add.name) }} {{ fa_cfield('mode', 'Mode', rem.mode, add.mode) }} {{ fa_cfield('buffering', 'Buffering', rem.buffering, add.buffering) }}
      {{ fa_cfield('timestamp', 'Time', rem.timestamp, add.timestamp) }} {{ fa_cfield('content_hash_before hash', 'Content hash before', rem.content_hash_before, add.content_hash_before) }} {{ fa_cfield('content_hash_after hash', 'Content hash after', rem.content_hash_after, add.content_hash_after) }} {{ fa_cfield('stack', 'Stack', rem.stack, add.stack) }}
    • {% endfor %}
    {% endif %}
    {% endblock %} {% block js %} {% endblock %}