80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# Testing farm
|
|
|
|
This document gives a detailed breakdown of the testing processes using testing farm service.
|
|
|
|
## Pre-requisites
|
|
|
|
* Python >=3.9
|
|
* TMT command line tool (optional) - for lint and check tmt formatted test plans and tests
|
|
* `pip install tmt[all]`
|
|
* Testing farm command line tool - for trigger your test plan in testing-farm
|
|
* `pip install tft-cli`
|
|
|
|
## Links
|
|
|
|
* [Test Management Tool (tmt)](https://tmt.readthedocs.io/en/latest/index.html)
|
|
* [Testing farm](https://docs.testing-farm.io/general/0.1/index.html)
|
|
|
|
## Current plans and tests
|
|
Plans are stored in [plans](./plans) folder, there are files called `main.fmf`, and `oracle.fmf` which contain test plan definitions.
|
|
This definition is composed of hw requirements, prepare steps for created VM executor and specific plans. Specific
|
|
plan defines selectors for [tests](./tests) which should be executed.
|
|
|
|
### List of plans
|
|
* mysql
|
|
* postgres
|
|
* oracle
|
|
* sqlserver
|
|
* mongodb
|
|
|
|
## Usage
|
|
|
|
### Pre-requisites
|
|
1. Get API token for testing farm [(how-to obtain token)](https://docs.testing-farm.io/general/0.1/onboarding.html)
|
|
2. Store token into env var ```export TESTING_FARM_API_TOKEN="your_token"```
|
|
|
|
### Run tests
|
|
|
|
Run all plans
|
|
```commandline
|
|
testing-farm request --compose CentOS-Stream-8 --git-url https://github.com/debezium/debezium.git
|
|
```
|
|
|
|
Select specific plan and git branch
|
|
```commandline
|
|
testing-farm request --compose CentOS-Stream-8 \
|
|
--git-url https://github.com/debezium/debezium.git \
|
|
--git-ref some-branch \
|
|
--plan mysql
|
|
```
|
|
Run only one test class on testing farm from cli
|
|
```shell
|
|
testing-farm request --composea debezium-tf-2130 \
|
|
--git-url https://github.com/debezium/debezium.git \
|
|
--git-ref some-branch \
|
|
--plan oracle \
|
|
-e EXECUTION_ARG="-Dit.test=io.debezium.connector.oracle.OracleConnectorIT"
|
|
```
|
|
|
|
## Packit-as-a-service for PR check
|
|
|
|
[Packit-as-a-service](https://github.com/marketplace/packit-as-a-service) is a GitHub application
|
|
for running testing-farm jobs from PR requested by command. Definition of the jobs is stored in
|
|
[.packit.yaml](../../.packit.yaml). Packit can be triggered from the PR by comment, but only members of Debezium
|
|
organization are able to run tests.
|
|
|
|
### Usage
|
|
|
|
Run all jobs for PR
|
|
```
|
|
/packit test
|
|
```
|
|
|
|
Run selected jobs by label
|
|
```
|
|
/packit test --labels mysql,postgres
|
|
```
|
|
Run selected job by identifier
|
|
```
|
|
/packit test --identifier mysql-8-assembly
|
|
``` |