Repository for rubygem-cucumber CI tests
  • Shell 77.7%
  • Gherkin 21.5%
  • Ruby 0.8%
Find a file
Jarek Prokop 60cb7d2fe3 Remove reverse dependency build for orpahned rubygem-nifti.
Since the package was orphaned, it is no longer a Fedora reverse
dependency.
2026-08-11 14:45:22 +02:00
.fmf Init fmf version. 2024-02-22 14:40:52 +01:00
plans Create a plan to be imported by individual packages. 2024-07-04 17:32:25 +02:00
tests Remove reverse dependency build for orpahned rubygem-nifti. 2026-08-11 14:45:22 +02:00
LICENSE Initial import. 2024-02-22 14:38:34 +01:00
README.md Initial README describing the test suite usage and maybe function. 2024-12-09 20:11:35 +01:00

rubygem-cucumber stack test suite

Test suite for th rubygem-cucumber stack to ensure functional Ruby cucumber test runner.

Using test plans for rubygem packages

Simply use the plan import TMT feature.

Let's say we want to test rubygem-cucumber-gherkin package, we will use the following TMT plan:

# plans/all.fmf
plan:
  import:
    url: https://src.fedoraproject.org/tests/rubygem-cucumber
    name: /plans/full/all

This will use the generic plan that runs all the tests described in the Layout section.

Next, after the plan is comitted, we run the in the command-line:

$ tmt run --environment KOJI_TASK_ID=120746946 --all

This will run all steps with global defaults for the build 120746946 which is a regular Koji build where we can source required package for reverse dependency build and isntall tests.

Layout

The BUILD_PACKAGE variable

Some of the tests use BUILD_PACKAGE variable.

This variable is mainly used in tests to define which package to build/install as part of the test to verify the behavior.

Nearly all metadata is inherited via tmt inheritance so individual tests only need to define the BUILD_PACKAGE variable in the main.fmf test plan.

Example:

# file rubygem-rspec.fmf
environment:
  BUILD_PACKAGE: rubygem-rspec

Basic Test Suites

Basic high-level tests of ensuring functional rubygem-cucumber. Tests include running a test suite of an upstream project or running a test suite containing Aruba test cases.

Reverse Dependencies Build

Set of tests ensuring that the main users of rubygem-cucumber (such as rubygem-rspec) continue building after a rubygem-cucumber stack's dependency update.

A failure in this class means we broke build of reverse dependencies.

Reverse Dependencies Install

Ensure that the main users of the rubygem-cucumber dependencies at runtime (rubygem-cucumber and rubygem-aruba) still install with the updated dependency.

A failure in this class means we broke ability to use cucumber in any context with the update.

Running

Most tests, especially reverse_dependencies* tests rely on an environment variable:

  • KOJI_TASK_ID -- build result (built RPMs) from koji build. Usually provided by Testing Farm in Fedora CI

The KOJI_TASK_ID variable

This variable is expected to be provided via Testing Farm executed in a Fedora PR after a passing scratch build. It has to be a koji task ID, so for local runs, any Task ID is enough.

To execute tests locally we will either need to have a scratch build task ID can utilize production builds.

See section above Using test plans for rubygem packages for practical example.