diff --git a/.gitignore b/.gitignore index 1a097c1..3d59881 100644 --- a/.gitignore +++ b/.gitignore @@ -136,6 +136,9 @@ bin/ *.tar.gz *.zip +# pytest-ansible +collections/ + # Collection specific ignores /changelogs/.plugin-cache.yaml /tests/output/ diff --git a/Makefile b/Makefile index 12945d1..bf8c961 100644 --- a/Makefile +++ b/Makefile @@ -7,3 +7,12 @@ cluster-up: .PHONY: cluster-down cluster-down: hack/e2e-setup.sh --cleanup + +.PHONY: build-venv +build-venv: + tox run -e venv + ln -sf .tox/venv .venv + +.PHONY: format +format: + tox run -e format diff --git a/galaxy.yml b/galaxy.yml index 5859945..fa54fde 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -35,6 +35,7 @@ build_ignore: - Makefile - OWNERS - REVIEW_CHECKLIST.md + - tox.ini - '*.tar.gz' - '*.zip' - docs/_gh_include diff --git a/test-requirements.txt b/test-requirements.txt index 47283a2..f90b181 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,9 +1,4 @@ -kubernetes-validate -coverage==4.5.4 -mock pytest -pytest-xdist -pytest-mock -pytest-forked -virtualenv pytest-ansible +pytest-xdist +tox-ansible diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 0000000..89812bf --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,2 @@ +# No additional requirements at this moment +# Have a look at /requirements.txt and /test-requirements.txt diff --git a/tests/unit/requirements.txt b/tests/unit/requirements.txt deleted file mode 100644 index 7f955e9..0000000 --- a/tests/unit/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -jinja2 -jsonpatch -kubernetes>=28.1.0 -PyYAML>=3.11 -pytest diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..4879a8f --- /dev/null +++ b/tox.ini @@ -0,0 +1,22 @@ +[tox] +env_list = venv + +[testenv:venv] +download = True +deps = + -r requirements.txt + -r test-requirements.txt + -r tests/requirements.txt +allowlist_externals = + mkdir + ln +commands = + mkdir -p "{env_site_packages_dir}/ansible_collections/kubevirt" + ln -sf "{tox_root}" "{env_site_packages_dir}/ansible_collections/kubevirt/core" + ansible-galaxy collection install -r requirements.yml -p "{env_site_packages_dir}/ansible_collections" --force + +[testenv:format] +deps = + black +commands = black . +