- hosts: all pre_tasks: # Run ensure-output-dirs now as it is not performed speculatively - name: Run ensure-output-dirs import_role: name: ensure-output-dirs - name: Create fake test directory file: path: "{{ zuul.project.src_dir }}/ztest" state: directory - name: Simplify tox config copy: content: "{{ item.content }}" dest: "{{ zuul.project.src_dir }}/{{ item.dest }}" with_items: - content: | [tox] envlist = venv [testenv] sitepackages = True usedevelop = True deps = stestr [testenv:venv] commands = stestr run --test-path ./ztest/ {posargs} dest: tox.ini - content: | import setuptools setuptools.setup(py_modules=[]) dest: setup.py - content: "" dest: setup.cfg - content: | import unittest class TestTestCase(unittest.TestCase): def test_test(self): assert True dest: ztest/__init__.py - name: Generate tox results include_role: name: "{{ item }}" with_items: - ensure-tox - ensure-python - tox tasks: - name: Run fetch-subunit-output import_role: name: fetch-subunit-output - name: Run fetch-output import_role: name: fetch-output when: zuul_use_fetch_output post_tasks: - name: Check for artifact on the test instance stat: path: "{{ ansible_user_dir }}/zuul-output/logs/testr_results.html" register: _test_artifact failed_when: not _test_artifact.stat.exists when: zuul_use_fetch_output - name: Check for artifact on the executor stat: path: "{{ zuul.executor.log_root }}/testr_results.html" delegate_to: localhost register: _executor_artifact failed_when: not _executor_artifact.stat.exists