Currently, the test infra has a lot of tests and they are all compatible with the latest master branch at yugabyte/yugabyte-db but some of these tests are only compatible with the latest branch as the features are not available in previous versions.
Naturally, when these tests will be run against a previous YB version, they will fail, thus polluting the test results with failures.
Solution
This PR introduces an annotation @MinimumYBVersion which adds the ability to a test to be run only when the service version is equal to or greater than the specified version for test, if the service version is less, the test will be skipped/disabled.
Changes
Added class YBVersion to denote YugabyteDB version for service
Added annotation MinimumYBVersion and it's condition evaluation in the class RunWithMinimumYBVersion
Note:
The added annotation fetches the current YB version from the environment variable YB_DOCKER_IMAGE so it is mandatory for this environment variable to be set while running the tests, otherwise the current version will be defaulted to 2.21.0.0
Additionally, this closes yugabyte/yugabyte-db#20410
Problem
Currently, the test infra has a lot of tests and they are all compatible with the latest
master
branch at yugabyte/yugabyte-db but some of these tests are only compatible with the latest branch as the features are not available in previous versions.Naturally, when these tests will be run against a previous YB version, they will fail, thus polluting the test results with failures.
Solution
This PR introduces an annotation
@MinimumYBVersion
which adds the ability to a test to be run only when the service version is equal to or greater than the specified version for test, if the service version is less, the test will be skipped/disabled.Changes
YBVersion
to denote YugabyteDB version for serviceMinimumYBVersion
and it's condition evaluation in the classRunWithMinimumYBVersion
Note: The added annotation fetches the current YB version from the environment variable
YB_DOCKER_IMAGE
so it is mandatory for this environment variable to be set while running the tests, otherwise the current version will be defaulted to2.21.0.0
Additionally, this closes yugabyte/yugabyte-db#20410