tet123/debezium-testing/tmt
2023-10-25 12:15:36 +02:00
..
plans DBZ-7074 Disable Chronyd on TF 2023-10-25 12:15:36 +02:00
tests/debezium DBZ-6854 Add execution additional execution argument to tf 2023-09-07 13:29:01 +02:00
README.md DBZ-6854 Add execution additional execution argument to tf 2023-09-07 13:29:01 +02:00

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

Current plans and tests

Plans are stored in 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 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)
  2. Store token into env var export TESTING_FARM_API_TOKEN="your_token"

Run tests

Run all plans

testing-farm request --compose CentOS-Stream-8 --git-url https://github.com/debezium/debezium.git

Select specific plan and git branch

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

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 is a GitHub application for running testing-farm jobs from PR requested by command. Definition of the jobs is stored in .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