From Fedora Project Wiki

< CI

(Links to tests.yml)
(Migrated to the new Fedora docs site)
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Introduction =
Moved to:
Are you eager to try out how the Fedora CI tests work? Do you want
to get a quick hands-on experience without having to read too much
documentation? This quick introduction for the impatient will show
you a minimal set of steps to execute existing tests as well as
provide useful links to resources where you can learn more.
= First Steps =
Install the following essential packages on your system:
sudo dnf install fedpkg libselinux-python standard-test-roles
Use <code>fedpkg</code> to clone the package git repository. See
the [[Package_maintenance_guide|Package Maintenance Guide]] for
more info about the tool.
fedpkg clone -a bash
Tests are defined according to the
[[CI/Standard_Test_Interface|Standard Test Interface]] in the
<code>tests</code> directory:
cd bash/tests/
Test coverage to be executed together with the basic set of
metadata is described in the
[ tests.yml]
playbook. Use <code>ansible-playbook</code> to run all available
tests for the classic environment on the local host:
ansible-playbook --tags=classic tests.yml
From the ansible output you can directly see an overall summary of
the testing. If you see <code>failed=0</code> at the end of the
log then all tests passed:
localhost: ok=29 changed=11 unreachable=0 failed=0
For more detailed test results check the <code>test.log</code> and
other files in the <code>artifacts</code> directory:
vim artifacts/test.log
That's it! You just executed test coverage for the Bash.
= Test Subjects =
To execute tests against different test subjects we need to
prepare the environment. Let's store the detailed test results in
<code>/tmp/artifacts</code>, use dynamic inventory as defined by
the [[CI/Standard_Test_Roles|Standard Test Roles]] and download
the latest Atomic Host image.
export TEST_ARTIFACTS=/tmp/artifacts
export ANSIBLE_INVENTORY=/usr/share/ansible/inventory
curl -Lo /tmp/atomic.qcow2
Now let's try to run tests against all supported test subjects.
== Classic ==
Run tests against classic rpms installed on the system:
ansible-playbook --tags=classic tests.yml
== Container ==
Run tests in a docker container:
ansible-playbook --tags=container tests.yml
== Atomic ==
Run tests against the Atomic Host:
export TEST_SUBJECTS=/tmp/atomic.qcow2
ansible-playbook --tags=atomic tests.yml

Latest revision as of 15:47, 18 March 2019