Merge "Add consolidated role for processing subunit"

This commit is contained in:
Zuul 2018-01-15 21:33:54 +00:00 committed by Gerrit Code Review
commit 3675adae04
5 changed files with 82 additions and 2 deletions

View File

@ -1,4 +1,3 @@
- hosts: all
roles:
- fetch-testr-output
- fetch-stestr-output
- fetch-subunit-output

View File

@ -0,0 +1,12 @@
Collect subunit outputs
**Role Variables**
.. zuul:rolevar:: zuul_work_dir
:default: {{ zuul.project.src_dir }}
Directory to work in
.. zuul:rolevar:: tox_envlist
tox environment that was used to run the tests originally.

View File

@ -0,0 +1,2 @@
---
zuul_work_dir: "src/{{ zuul.project.canonical_name }}"

View File

@ -0,0 +1,48 @@
- name: Check for stestr directory
stat:
path: "{{ zuul_work_dir }}/.stestr"
register: stestr_stat
- name: Generate stestr subunit file
shell:
cmd: ".tox/{{ tox_envlist }}/bin/stestr last --subunit > ./testrepository.subunit"
chdir: "{{ zuul_work_dir }}"
when:
- tox_envlist is defined
- stestr_stat.stat.exists
- name: Generate stestr subunit file
shell:
cmd: "stestr last --subunit > ./testrepository.subunit"
chdir: "{{ zuul_work_dir }}"
when:
- tox_envlist is not defined
- stestr_stat.stat.exists
- name: Check for testr directory
stat:
path: "{{ zuul_work_dir }}/.stestr"
register: testr_stat
when: not stestr_stat.stat.exists
- name: Generate testrepository.subunit file
shell:
cmd: ".tox/{{ tox_envlist }}/bin/testr last --subunit > ./testrepository.subunit"
chdir: "{{ zuul_work_dir }}"
when:
- tox_envlist is defined
- not stestr_stat.stat.exists
- testr_stat.stat.exists
- name: Generate testrepository.subunit file
shell:
cmd: "testr last --subunit > ./testrepository.subunit"
chdir: "{{ zuul_work_dir }}"
when:
- tox_envlist is not defined
- not stestr_stat.stat.exists
- testr_stat.stat.exists
- name: Process and fetch subunit results
include: process.yaml
when: stestr_stat.stat.exists or testr_stat.stat.exists

View File

@ -0,0 +1,19 @@
- 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: Compress testrepository.subunit file
archive:
path: "{{ zuul_work_dir }}/testrepository.subunit"
- name: Collect test-results
synchronize:
dest: "{{ zuul.executor.log_root }}"
mode: pull
src: "{{ zuul_work_dir }}/{{ item }}"
verify_host: true
with_items:
- "*testr_results.html.gz"
- "*testrepository.subunit.gz"