[yugabyte/yugabyte-db#20410] Add annotation MinimumYBVersion
for tests
#315
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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