diff options
author | Jake Hunsaker <jhunsake@redhat.com> | 2021-10-06 16:53:43 -0400 |
---|---|---|
committer | Jake Hunsaker <jhunsake@redhat.com> | 2021-10-11 15:14:32 -0400 |
commit | ca8d95c243dacb367c0b11c5190d5ec56e402afd (patch) | |
tree | 17fa6be3f3ad00fe9ed9827e1a5eaebdf06d9a07 /.cirrus.yml | |
parent | 58902e8f08d3c432541f6fc037999daafb9d5b4f (diff) | |
download | sos-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.yml | 14 |
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" |