zuul-jobs/test-playbooks/python/fetch-subunit-output.yaml
Clark Boylan b5cabbbfc7 Update fetch-subunit-output to look for nox envs
Some projects are converting from tox to nox for driving tests. This
means there isn't a tox env to find testr/stestr in. Update
fetch-subunit-output to look for nox envs as well.

Change-Id: I051c4b27d22921f1f0c3a44dc4eaccdbb50afa29
2022-12-29 13:36:03 -08:00

72 lines
1.9 KiB
YAML

- hosts: all
pre_tasks:
# Run ensure-output-dirs now as it is not performed speculatively
- 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:
- import_role:
name: fetch-subunit-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