Blob Blame Raw
---

- block:
  - name: language coverage
    script: run-lang-coverage-test --lang "{{ item }}" --path "{{ path_prefix }}" --artifactsdir "{{ remote_artifacts }}" {{ "" if coverage.values is not defined and coverage[item].ignore is not defined else "--ignore " + (coverage[item].ignore | join('--ignore ')) }}
    with_items:
    - "{{ coverage if coverage.keys is not defined else coverage.keys()|list }}"
  - name: generic family assignment
    script: run-family-test --lang {{ item.lang }} --family '{{ item.family }}' --alias {{ item.alias }} --artifactsdir {{ remote_artifacts }} --package {{ package if item.package is not defined else item.package }}
    with_items:
    - "{{ families }}"

  - name: Check the results
    shell: |
      log="{{ remote_artifacts }}/test.log"
      if [ ! -f "$log" ]; then
          echo ERROR
          echo "Test results not found." 1>&2
      elif grep ^ERROR "$log" 1>&2; then
          echo ERROR
      elif grep ^FAIL "$log" 1>&2; then
          echo FAIL
      elif grep -q ^PASS "$log"; then
          echo PASS
      else
          echo ERROR
          echo "No test results found." 1>&2
      fi
    register: test_results

  - name: Set role result
    set_fact:
      role_result: "{{ test_results.stdout }}"
      role_message: "{{ test_results.stderr|d('test execution error.') }}"
      role_result_failed: "{{ test_results.stdout != 'PASS' }}"
      role_result_msg: "{{ test_results.stderr|d('test execution error.') }}"

  - include_role:
      name: str-common-final