diff --git a/tests/Makefile b/tests/Makefile index e70d89d..2e0785d 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -7,6 +7,9 @@ BASE_IMAGE := registry.fedoraproject.org/fedora:29 check: ansible-playbook -i inventory-localhost -v -e artifacts=$(CURDIR) -c local ./tests.yml +check-local: + ansible-playbook -i inventory-localhost -v -e artifacts=$(CURDIR) -c local ./hydrant.yml + build: sudo podman run \ --name $(WORKING_CONT) \ @@ -22,4 +25,4 @@ check-in-container: -w /src \ -v /var/run/docker.sock:/var/run/docker.sock \ $(TESTS_IMAGE) \ - make check + make check-local diff --git a/tests/hydrant.yml b/tests/hydrant.yml new file mode 100644 index 0000000..941a8f7 --- /dev/null +++ b/tests/hydrant.yml @@ -0,0 +1,17 @@ +# This playbook is meant to be running in a container, not in CI +- name: Run the tests + hosts: all + roles: + - role: standard-test-basic + tags: + - classic + tests: + - unit: + run: pytest-3 -v /usr/libexec/installed-tests/python-docker/tests/unit/ + - integration: + run: ./runtest.sh + required_packages: + - python-docker-tests + - python3-mock + - python3-pytest + - python3-docker diff --git a/tests/integration/runtest.sh b/tests/integration/runtest.sh new file mode 100644 index 0000000..9c6db00 --- /dev/null +++ b/tests/integration/runtest.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -ex +# helpful commands to diagnose current env +id +rpm -q docker +systemctl status docker +ls -lha /var/run/docker.sock +exec pytest-3 -v /usr/libexec/installed-tests/python-docker/tests/integration/ diff --git a/tests/tests.yml b/tests/tests.yml index 111356a..7b8c96d 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -1,25 +1,5 @@ - name: Run the tests - vars: - req_services: [] # don't name this required_services, it would be endless loop - req_pkgs: - - python-docker-tests - - python3-mock - - python3-pytest - - python3-docker hosts: all - pre_tasks: - - name: check if we are running in a container - command: systemctl - register: in_host - ignore_errors: true - - name: add docker to req_services if we are not in a container - set_fact: - req_services: ["docker"] - when: in_host.rc == 0 - - name: add docker to req_pkgs if we are not in a container - set_fact: - req_pkgs: '{{ req_pkgs }} + [ "docker" ]' - when: in_host.rc == 0 roles: - role: standard-test-basic tags: @@ -28,6 +8,12 @@ - unit: run: pytest-3 -v /usr/libexec/installed-tests/python-docker/tests/unit/ - integration: - run: pytest-3 -v /usr/libexec/installed-tests/python-docker/tests/integration/ - required_packages: '{{ req_pkgs }}' - required_services: '{{ req_services }}' + run: ./runtest.sh + required_packages: + - python-docker-tests + - python3-mock + - python3-pytest + - python3-docker + - docker + required_services: + - docker