jat2rl.j2 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #######
  2. # JINJA MACROS (ie. empty in resulting file)
  3. #######
  4. {% macro assert(A) -%}
  5. _distribution_jats__j2b_assert "{{A.verdict}}" <<'EOD'
  6. {{A.hint}}
  7. EOD
  8. {% if A.data %}
  9. _distribution_jats__j2b_assert_data "{{A.verdict}}" <<'EOD'
  10. {{A.data}}
  11. EOD
  12. {% endif %}
  13. {%- endmacro %}
  14. {% macro message(M) -%}
  15. _distribution_jats__j2b_message "{{M.severity}}" <<'EOD'
  16. {{M.message}}
  17. EOD
  18. {% if M.data %}
  19. _distribution_jats__j2b_message_data "{{M.severity}}" <<'EOD'
  20. {{M.data}}
  21. EOD
  22. {% endif %}
  23. {%- endmacro %}
  24. {% macro lint(L) -%}
  25. rlFail "{{ L.msg }}"
  26. _distribution_jats__j2b_lint_data <<'EOD'
  27. {{L._data}}
  28. EOD
  29. {%- endmacro %}
  30. {% macro phase(P) -%}
  31. _distribution_jats__j2b_pstart "{{P.verdict}}" "{{P.name}}" "{{P.type}}"
  32. {% for e in P.children %}
  33. {% if e.is_assert %}
  34. {{ assert(e) }}
  35. {% elif e.is_message %}
  36. {{ message(e) }}
  37. {% endif %}
  38. {% endfor %}
  39. rlLogInfo "phase verdict: {{P.verdict}}"
  40. rlPhaseEnd
  41. {%- endmacro %}
  42. ##########
  43. # CODE
  44. ##########
  45. SESS_ID="{{session.id}} {{session.test.id}} {{session.test.version}}"
  46. rlLogInfo "ACTING OUT JAT SESSION: $SESS_ID"
  47. {% if session.lints %}
  48. rlPhaseStartCleanup "$SESS_ID lints"
  49. {% for l in session.lints %}
  50. {{ lint(l) }}
  51. {% endfor %}
  52. rlPhaseEnd
  53. {% endif %}
  54. {% if session.eventtree.children %}
  55. {% for e in session.eventtree.children %}
  56. {% if e.is_phase %}
  57. {{ phase(e) }}
  58. {% elif e.is_message %}
  59. {{ message(e) }}
  60. {% elif e.is_assert %}
  61. {{ assert(e) }}
  62. {% endif %}
  63. {% endfor %}
  64. {% endif %}
  65. # vim: set filetype=txt: