[action] [PR:15977] Update the conditional mark skip logic to support regular expression #17336
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.
Description of PR
Summary:
This change is to support matching the test by regular expression in the conditional mark logic.
Sometimes we need to skip a test by a pytest parameter in the testcase name, which is not supported by the current longest match logic.
For example:
autorestart/test_container_autorestart.py::test_containers_autorestart[dut01-None-teamd]
If we only want to skip the teamd test case in the test test_container_autorestart.py, we are not able to do that because the first parameter is the dut name and it is different with different testbeds.
With this change, we are able to match the test case name by using a regex pattern, so that the teamd test case can be easily skipped.
The example of the skip condition is like this:
This change is totally backward compatible, we need to add a "regex: True" in the condition to enable the regex match. For the existing conditions, the logic is the same as before.
Type of change
Back port request
Approach
What is the motivation for this PR?
Update the conditional mark skip logic to support regular expression
How did you do it?
Please see the summary
How did you verify/test it?
Run regression with this change and skipped conditions with the regex key, no issues observed.
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation