Set tempest result separately in file
Don't exit with error automatically, write down tempest status in file for later parsing and set variable tempest_status. Change-Id: I986587ceadf58b13e9a2aeadb62f81c522e29b82
This commit is contained in:
parent
94e211723c
commit
ae0525a776
|
@ -26,6 +26,7 @@ Role Variables
|
|||
* `tempest_tests_file`: path to file - path to file with tests to run
|
||||
* `tempest_until_failure`: false/true - default is false, repeat the run again and again until failure occurs
|
||||
* `tempest_failing`: false/true - default is false, run only tests known to be failing
|
||||
* `tempest_exit_on_failure`: true/false - whether to exit from role with tempest exit code (default: true)
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
|
|
@ -29,3 +29,4 @@ skip_file: skip_file
|
|||
tempest_isolated: false
|
||||
tempest_until_failure: false
|
||||
tempest_failing: false
|
||||
tempest_exit_on_failure: true
|
||||
|
|
|
@ -1,36 +1,3 @@
|
|||
---
|
||||
- name: Fetch nostests results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/tempest.xml"
|
||||
dest: "{{ lookup('env', 'PWD') }}/nosetests.xml"
|
||||
flat: yes
|
||||
|
||||
- name: Generate subunit results file
|
||||
shell: |
|
||||
find '{{ working_dir }}/tempest/.testrepository/' -regex '.*/[0-9]+' \
|
||||
| while read name; do cat "$name"; done \
|
||||
> '{{ working_dir }}/tempest/results.subunit'
|
||||
|
||||
- name: Generate HTML results file
|
||||
shell: |
|
||||
subunit2html $(find {{ working_dir }}/tempest/.testrepository -name [0-9] \
|
||||
| head -1) {{ working_dir }}/tempest/tempest.html \
|
||||
2>&1 >> {{ tempest_log_file }}
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Fetch subunit results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/results.subunit"
|
||||
dest: "{{ lookup('env', 'PWD') }}/results.subunit"
|
||||
flat: yes
|
||||
|
||||
- name: Fetch HTML results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/tempest.html"
|
||||
dest: "{{ lookup('env', 'PWD') }}/tempest.html"
|
||||
flat: yes
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Exit with tempest result code
|
||||
shell: tail -10 {{ tempest_log_file }}; exit {{ tempest_result.rc }}
|
||||
when: 'tempest_result.rc != 0'
|
||||
- include: tempest-status.yml
|
||||
- include: tempest-results.yml
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
- name: Fetch nostests results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/tempest.xml"
|
||||
dest: "{{ lookup('env', 'PWD') }}/nosetests.xml"
|
||||
flat: yes
|
||||
|
||||
- name: Generate subunit results file
|
||||
shell: |
|
||||
find '{{ working_dir }}/tempest/.testrepository/' -regex '.*/[0-9]+' \
|
||||
| while read name; do cat "$name"; done \
|
||||
> '{{ working_dir }}/tempest/results.subunit'
|
||||
|
||||
- name: Fetch subunit results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/results.subunit"
|
||||
dest: "{{ lookup('env', 'PWD') }}/results.subunit"
|
||||
flat: yes
|
||||
|
||||
- ignore_errors: true
|
||||
block:
|
||||
|
||||
- name: Generate HTML results file
|
||||
shell: |
|
||||
subunit2html $(find {{ working_dir }}/tempest/.testrepository -name [0-9] \
|
||||
| head -1) {{ working_dir }}/tempest/tempest.html \
|
||||
2>&1 >> {{ tempest_log_file }}
|
||||
|
||||
- name: Fetch HTML results
|
||||
fetch:
|
||||
src: "{{ working_dir }}/tempest/tempest.html"
|
||||
dest: "{{ lookup('env', 'PWD') }}/tempest.html"
|
||||
flat: yes
|
||||
|
||||
- name: Exit with tempest result code if configured
|
||||
shell: tail -10 {{ tempest_log_file }}; exit {{ tempest_result.rc }}
|
||||
when: tempest_result.rc != 0 and tempest_exit_on_failure|bool
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- name: Tempest failed if rc code is not 0
|
||||
set_fact:
|
||||
tempest_status: failed
|
||||
when: tempest_result.rc != 0
|
||||
|
||||
- name: Write down tempest result
|
||||
shell: >
|
||||
echo '{ "tempest_status": "{{ tempest_status|default('passed') }}" }' >
|
||||
"{{ local_working_dir }}/tempest_status.json"
|
||||
|
||||
- name: import tempest_status from file
|
||||
include_vars: "{{ local_working_dir }}/tempest_status.json"
|
||||
|
||||
- name: echo tempest status
|
||||
debug: var=tempest_status
|
Loading…
Reference in New Issue