jat2rl.j2 1.5KB

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