diff --git a/roles/fetch-testr-output/tasks/main.yaml b/roles/fetch-testr-output/tasks/main.yaml index 02fcb8d21..5e8f0633d 100644 --- a/roles/fetch-testr-output/tasks/main.yaml +++ b/roles/fetch-testr-output/tasks/main.yaml @@ -1,13 +1,12 @@ -- name: Register subunit file +- name: Register testrepository directory stat: - path: "{{ zuul_work_dir }}/testrepository.subunit" - register: p + path: "{{ zuul_work_dir }}/.testrepository" + register: testrepository_stat -- name: Compress subunit file to archive to logs server - archive: - path: "{{ p.stat.path }}" +- name: Process testr artifacts + include: process.yaml when: - - p.stat.exists + - testrepository_stat.stat.exists - name: Collect test-results synchronize: diff --git a/roles/fetch-testr-output/tasks/process.yaml b/roles/fetch-testr-output/tasks/process.yaml new file mode 100644 index 000000000..801b2ba69 --- /dev/null +++ b/roles/fetch-testr-output/tasks/process.yaml @@ -0,0 +1,33 @@ +- name: Generate testrepository.subunit file + # TODO(pabelanger): We cannot depend on tox_envlist here!!! + shell: ".tox/{{ tox_envlist }}/bin/testr last --subunit > ./testrepository.subunit" + args: + chdir: "{{ zuul_work_dir }}" + +- name: Generate testr_results.html file + # TODO(pabelanger): We cannot depend on /usr/os-testr-env here!!! + command: "/usr/os-testr-env/bin/subunit2html ./testrepository.subunit testr_results.html" + args: + chdir: "{{ zuul_work_dir }}" + +- name: Register testrepository.subunit file + stat: + path: "{{ zuul_work_dir }}/testrepository.subunit" + register: p + +- name: Compress testrepository.subunit file + archive: + path: "{{ p.stat.path }}" + when: + - p.stat.exists + +- name: Register testr_results.html file + stat: + path: "{{ zuul_work_dir }}/testr_results.html" + register: html + +- name: Compress testr_results.html file + archive: + path: "{{ html.stat.path }}" + when: + - html.stat.exists diff --git a/roles/tox/tasks/main.yaml b/roles/tox/tasks/main.yaml index d123e21f5..75a9f7260 100644 --- a/roles/tox/tasks/main.yaml +++ b/roles/tox/tasks/main.yaml @@ -24,14 +24,6 @@ return fi - if [ -f ".testrepository/0.2" ] ; then - cp .testrepository/0.2 ./testrepository.subunit - elif [ -f ".testrepository/0" ] ; then - $bin_path/testr last --subunit > ./testrepository.subunit - fi - /usr/os-testr-env/bin/subunit2html ./testrepository.subunit testr_results.html - gzip -9 ./testr_results.html - rancount=$($bin_path/testr last | sed -ne 's/Ran \([0-9]\+\).*tests in.*/\1/p') if [ -z "$rancount" ] || [ "$rancount" -eq "0" ] ; then echo