From Fedora Project Wiki

< CI

(Document BeakerLib and RHTS roles)
(Migrated to the new Fedora docs site)
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Description =
+
Moved to: https://docs.fedoraproject.org/en-US/ci/standard-test-roles/
 
 
Package <code>standard-test-roles</code> provides shared Ansible roles and inventory scripts implementing the [[CI/Standard_Test_Interface|Standard Test Interface]]. It has support for multiple testing frameworks (such as BeakerLib or Avocado) and in this way allows to easily enable existing tests in Fedora CI.
 
 
 
= Links =
 
 
 
Pagure and Copr repositories:
 
 
 
* https://pagure.io/standard-test-roles/
 
* https://copr.fedorainfracloud.org/coprs/g/osci/standard-test-roles/builds/
 
 
 
= Install =
 
 
 
Install the latest version from the copr repo:
 
 
 
dnf/yum copr -y enable @osci/standard-test-roles
 
dnf/yum update standard-test-roles
 
 
 
= Roles =
 
 
 
Here's the list of currently supported roles:
 
 
 
* avocado
 
* basic
 
* beakerlib
 
* repo
 
* rhts
 
* rpm
 
* scripts
 
* source
 
 
 
== BeakerLib ==
 
 
 
If you have a set of beakerlib tests, it is recommended to place each test in its own subdirectory.
 
 
 
Then, create <code>tests.yml</code> file with contents similar to the following which runs tests using the 'standard-test-beakerlib' role included in the [https://pagure.io/standard-test-roles <code>standard-test-roles</code>] package. The list provided for the 'tests' parameter should be the list of names of your per-test subdirectories, and the 'required_packages' parameter should contain a list of additional packages that need to be installed to run the tests.
 
 
 
<pre>
 
---
 
- hosts: localhost
 
  tags:
 
  - atomic
 
  - classic
 
  - container
 
  roles:
 
  - role: standard-test-beakerlib
 
    tests:
 
    - cmd-line-options
 
    required_packages:
 
    - which        # which package required for cmd-line-options
 
    - rpm-build    # upstream-testsuite requires rpmbuild command
 
    - libtool      # upstream-testsuite requires libtool
 
    - gettext      # upstream-testsuite requires gettext
 
</pre>
 
 
 
'''Note:''' The 'required_packages' parameter is ignored when running on Atomic Host--since there is no way to install additional packages in that environment.
 
 
 
== RHTS ==
 
 
 
If you have a set of tests you want to run using [http://restraint.readthedocs.io/en/latest/ restraint], each test must be placed in its own subdirectory.
 
 
 
Then, create <code>tests.yml</code> file with contents similar to the following which runs tests using the 'standard-test-rhts' role included in the [https://pagure.io/standard-test-roles <code>standard-test-roles</code>] package. The list provided for the 'tests' parameter should be the list of names of your per-test subdirectories, and the 'required_packages' parameter should contain a list of additional packages that need to be installed to run the tests.
 
 
 
<pre>
 
---
 
- hosts: localhost
 
  tags:
 
  - classic
 
  - docker
 
  roles:
 
  - role: standard-test-rhts
 
    tests:
 
    - cmd-line-options
 
    required_packages:
 
    - which        # which package required for cmd-line-options
 
    - rpm-build    # upstream-testsuite requires rpmbuild command
 
    - libtool      # upstream-testsuite requires libtool
 
    - gettext      # upstream-testsuite requires gettext
 
</pre>
 
 
 
'''Note:''' Tests using the 'standard-test-rhts' role are not compatible with Atomic Host--since it requires the installation of additional packages and there is no way to do so in that environment. We reflect that by omitting <code>atomic</code> from the <tags> section.
 
 
 
= Contact =
 
 
 
* Andrei Stepanov (astepano)
 

Latest revision as of 15:52, 18 March 2019