Don't fetch coverage report from failing tests
When test runs fail, coverage reports are not generated. We try to fetch them anyway, which leads to POST_FAILURE instead of FAILURE. Add in a check to ensure the test run was successful, then a check for the coverage dir and an explicit error message so that it's clear to people that the issue is that coverage wasn't generated after a successful run, rather than there being an issue with rsync or something. Change-Id: I07f942a9df518d6602ee151d82b35ce413769c73
This commit is contained in:
parent
fa54ff21e1
commit
b6adb9a8c4
@ -12,7 +12,7 @@ on the worker to the log root of the executor.
|
|||||||
root.
|
root.
|
||||||
|
|
||||||
.. zuul:rolevar:: coverage_output_src
|
.. zuul:rolevar:: coverage_output_src
|
||||||
:default: {{ zuul.project.canonical_name }}/cover/
|
:default: {{ zuul.project.src_dir }}/cover/
|
||||||
|
|
||||||
The location on the worker from which to fetch the coverage
|
The location on the worker from which to fetch the coverage
|
||||||
output detail. By default, the ``cover`` dir of the current
|
output detail. By default, the ``cover`` dir of the current
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
zuul_executor_dest: "{{ zuul.executor.log_root }}"
|
zuul_executor_dest: "{{ zuul.executor.log_root }}"
|
||||||
coverage_output_src: "src/{{ zuul.project.canonical_name }}/cover"
|
coverage_output_src: "{{ zuul.project.src_dir }}/cover"
|
||||||
|
@ -1,6 +1,20 @@
|
|||||||
- name: Collect coverage details output
|
- when: zuul_success | default(true) | bool
|
||||||
synchronize:
|
block:
|
||||||
dest: "{{ zuul_executor_dest }}"
|
|
||||||
mode: pull
|
- name: Check to see if coverage report exists
|
||||||
src: "{{ coverage_output_src }}"
|
stat:
|
||||||
verify_host: true
|
path: "{{ coverage_output_src }}"
|
||||||
|
register: coverage_report_stat
|
||||||
|
|
||||||
|
- name: Collect coverage details output
|
||||||
|
synchronize:
|
||||||
|
dest: "{{ zuul_executor_dest }}"
|
||||||
|
mode: pull
|
||||||
|
src: "{{ coverage_output_src }}"
|
||||||
|
verify_host: true
|
||||||
|
when: coverage_report_stat.stat.exists
|
||||||
|
|
||||||
|
- name: Fail if coverage report not found
|
||||||
|
fail:
|
||||||
|
msg: "Coverage report was not found even though tests succeeded"
|
||||||
|
when: not coverage_report_stat.stat.exists
|
||||||
|
Loading…
Reference in New Issue
Block a user