Frequently Asked Questions
Should I test my package?
Of course you should!
How I get help?
Use #fedora-ci channel on IRC.
Why not rely on %check?
%checkand the tests run in the CI pipeline are complementary.
%checkallows to perform a number of checks at build time but will not detect missing requirement, missing configuration file and this kind of situation which the CI pipeline will be able to test and find. We could see this as
%checkbeing unit-test (where the unit is the package) versus integration tests where the tests are run in the entire distribution just as we distribute it to our users. So the CI pipeline will be able to find integration bugs that the
%checksection will never be able to.
Where do I put my tests?
There are several options where to store the test code. Here are some of the most important advantages and disadvantages of each approach: Test code in dist git rpms namespace is branched together with spec files and thus can closely mirror functionality. Tests used across multiple components or OS releases can be stored in the dist git test namespace to share the test code and minimize maintenance. Fetching tests from an upstream project git is also possible and supported by standard-test-roles (source role). In order to prevent unexpected test failures caused by upstream changes it is sometimes better to reference a specific commit rather then branch. Tests enabled in make check are executed in a different environment (buildroot). This is good for unit tests but not recommended for new Tier 1 test coverage. Enable 'make check' in tests.yml only if testing installed rpm.