aboutsummaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
diff options
context:
space:
mode:
authorJake Hunsaker <jhunsake@redhat.com>2021-10-06 16:53:43 -0400
committerJake Hunsaker <jhunsake@redhat.com>2021-10-11 15:14:32 -0400
commitca8d95c243dacb367c0b11c5190d5ec56e402afd (patch)
tree17fa6be3f3ad00fe9ed9827e1a5eaebdf06d9a07 /.cirrus.yml
parent58902e8f08d3c432541f6fc037999daafb9d5b4f (diff)
downloadsos-ca8d95c243dacb367c0b11c5190d5ec56e402afd.tar.gz
[tests] Run unit tests under avocado instead of nose
`nose` is no longer maintained, and as of python-3.10 is functionally broken. As such, instead transition to running those tests via avocado, like we do with our integration test suite. The tests themselves do not need much modification, however due to the isolation provided for executing the tests we do need to explicitly set a new PYTHONPATH env var for those executions. This means we still need to run the unit tests as a separate step from the stageone tests. The changes needed are mostly around file paths relative to the pwd where the tests are executed from originally. Additionally, remove the sosreport_pexpect unit test as it is no longer useful in its own right, would need more significant changes to run properly with avocado, and the integration test suite provides better coverage for what it was testing. Closes: #2716 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml14
1 files changed, 4 insertions, 10 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index c77289d4..f36ec816 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -45,15 +45,6 @@ flake8_task:
image: alpine/flake8:latest
flake_script: flake8 sos
-# nose tests, again on the community cluster
-nosetests_task:
- alias: nosetests
- name: "Nosetests"
- container:
- image: python:slim
- setup_script: pip install nose
- nose_script: nosetests -v --with-cover --cover-package=sos tests/unittests
-
# Run a check on newer upstream python versions to check for possible
# breaks/changes in common modules. This is not meant to check any of the actual
# collections or archive integrity.
@@ -123,10 +114,13 @@ report_stageone_task:
dnf -y remove sos
fi
setup_script: &setup 'pip3 install avocado-framework'
+ # run the unittests separately as they require a different PYTHONPATH in
+ # order for the imports to work properly under avocado
+ unittest_script: PYTHONPATH=. avocado run tests/unittests/
main_script: PYTHONPATH=tests/ avocado run --test-runner=runner -t stageone tests/{cleaner,collect,report,vendor}_tests
on_failure:
fail_script: &faillogs |
- tar cf sos-fail-logs.tar /var/tmp/avocado*
+ ls -d /var/tmp/avocado* /root/avocado* 2> /dev/null | xargs tar cf sos-fail-logs.tar
log_artifacts:
path: "sos-fail-logs.tar"