ruby/README.md
2026-02-25 18:51:25 +00:00

99 lines
2.8 KiB
Markdown

# Ruby Fedora tests
This repository contains shared Fedora tests for the Ruby component.
## Contributing
### Testing
You can run the tests in your local environment.
Install [`tmt`](https://tmt.readthedocs.io/en/stable/overview.html#install).
```
$ sudo dnf install tmt+all
```
Run the following command to run the tests for Fedora rawhide:
```
$ tmt -c distro=fedora-rawhide run --all provision -h virtual -i fedora-rawhide
/var/tmp/tmt/run-NNN
...
```
The tmt's provisioning method virtual (`tmt run provision -h virtual`) must be
used, otherwise the tests fail due to known issues with container provisioning
method (`tmt run provision -h container`). Also note the `run-NNN` printed on
the output of the command. This represents the run ID used with `tmt run --id`
option in later steps.
Run the following command to see the report, setting the value of the above run
ID to the `--id` option. As this repository doesn't have tmt's plans to run the
tests, we need to set the `plans --default` to use the default plans. See [this
tmt's document](https://tmt.readthedocs.io/en/stable/stories/cli.html#report)
about the `tmt run report` options.
```
$ tmt run --id run-NNN report -vvv
```
#### Running a specific test
You can run a specific test.
List available tests.
```
$ tmt tests ls
/Sanity/native-extension-gem-is-installed-without-error/ruby25
/Sanity/native-extension-gem-is-installed-without-error/ruby26
/Sanity/native-extension-gem-is-installed-without-error/ruby27
/Sanity/native-extension-gem-is-installed-without-error/ruby30
/Sanity/native-extension-gem-is-installed-without-error/ruby31
/Sanity/native-extension-gem-is-installed-without-error/system
/run-basic-rails-application
/systemtap-static-probes-in-ruby
```
Run the following command to run a specific test with `-n` option to specify a
regular expression to match the test name for Fedora rawhide:
```
$ tmt -c distro=fedora-rawhide run --all \
provision -h virtual -i fedora-rawhide \
tests -n '^/systemtap-static-probes-in-ruby$'
```
#### Testing with a rpms/ruby pull-request
Run a scratch build x86_64 on the branch used for the rpms/ruby pull-request
that you want to test:
```
$ fedpkg --release rawhide scratch-build --srpm --arches x86_64
```
Run the following command with the above build's x86_64 task ID (not build ID)
to download the RPM packages. Remove the SRPM file to keep only binary RPM files
in the `/path/to/packages` directory to avoid an error on the later `tmt`
command.
```
$ pwd
/path/to/packages
$ koji download-task TASK_ID
$ rm *.src.rpm
```
Run the following command to run the tests with the above RPM files.
```
$ tmt -c distro=fedora-rawhide run --all \
prepare --insert --how install -D /path/to/packages \
provision -h virtual -i fedora-rawhide
```
### Sending pull-requests
Always send pull-requests rather than pushing the commits directly to avoid breaking CI.