From d60a68bdb40e010077d19956d1536526902bd20d Mon Sep 17 00:00:00 2001 From: Arif Ali Date: Wed, 24 Apr 2024 09:49:50 +0100 Subject: [tox] Use posargs for the tests This allows to run specific tests, and not all the tests in one go. This is especially useful if you're writing a plugin or creating a test for a specific scenario. Below an example of what would be possible ``` sudo tox -e stagetwo_tests -- tests/report_tests/plugin_tests/openstack/openstack.py ``` This will run stagetwo tests for the specific test, i.e. openstack in this case This also fixes the stagetwo tests, so that it picks up the systemd python libs from the distro environment Update the installation of avocado-framework from one place, so that we don't need to change the version in many places. Adding `test-requirements.txt` to handle this and integrate this with both tox and Cirrus CI Signed-off-by: Arif Ali --- tox.ini | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'tox.ini') diff --git a/tox.ini b/tox.ini index d7734ab6..096d795f 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ envlist = flake8 [testenv] deps = -r{toxinidir}/requirements.txt - avocado-framework<104.0 + -r{toxinidir}/test-requirements.txt python_magic setenv = PYTHONPATH = {toxinidir}/tests @@ -15,6 +15,8 @@ stage_tests = tests/collect_tests \ tests/report_tests \ tests/vendor_tests +foreman_tests = + tests/product_tests/foreman [testenv:flake8] deps = flake8 @@ -29,22 +31,23 @@ basepython = python3 setenv = PYTHONPATH = . commands = - avocado run tests/unittests/ + avocado run tests/unittests [testenv:stageone_tests] basepython = python3 commands = - {[testenv]avocado_cmd} -t stageone {[testenv]stage_tests} + {[testenv]avocado_cmd} -t stageone {posargs:[testenv]stage_tests} [testenv:stagetwo_tests] basepython = python3 +sitepackages = True commands = - {[testenv]avocado_cmd} -t stagetwo {[testenv]stage_tests} + {[testenv]avocado_cmd} -t stagetwo {posargs:[testenv]stage_tests} [testenv:foreman_tests] basepython = python3 commands = - {[testenv]avocado_cmd} -t foreman tests/product_tests/foreman/ + {[testenv]avocado_cmd} -t foreman {posargs:[testenv]foreman_tests} [testenv:nosetests] basepython = python3 -- cgit