Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ChromeOS] find a way to exclude specific tests when using a globbing pattern #2489

Closed
a-wai opened this issue Apr 4, 2024 · 1 comment · Fixed by #2490
Closed

[ChromeOS] find a way to exclude specific tests when using a globbing pattern #2489

a-wai opened this issue Apr 4, 2024 · 1 comment · Fixed by #2490
Assignees

Comments

@a-wai
Copy link
Contributor

a-wai commented Apr 4, 2024

In multiple test jobs, we use a globbing pattern in order to execute all tests matching this pattern; for example, video.PlatformDecoding.v4l2_stateless_h264_* is (internally) expanded by tast to execute the following tests:

  • video.PlatformDecoding.v4l2_stateless_h264_baseline
  • video.PlatformDecoding.v4l2_stateless_h264_main

However, there are cases where a few tests matched by the pattern are expected to fail, for example:

  • video.ChromeStackDecoderVerification.vp9_0_svc (matched by video.ChromeStackDecoderVerification.*)
  • video.PlatformDecoding.v4l2_stateful_vp9_0_group4_sub8x8_sf (matched by video.PlatformDecoding.v4l2_stateful_vp9_0_group4_*)

Excluding those tests would currently require manually listing individual tests instead of using the globbing pattern, which causes the following issues:

  • this will significantly increase the configuration files size
  • we will likely miss tests introduced in future CrOS versions, which would otherwise be automatically matched by the globbing pattern

As a consequence, it could be interesting to find a way to exclude known-failing tests while still keeping the globbing pattern.

Note: this is a ChromeOS-specific counterpart to #2483

@a-wai
Copy link
Contributor Author

a-wai commented Apr 4, 2024

It seems tast developers did think about this already and provided the -testfilterfile command-line option, allowing one to list specific tests to be ignored. The file is a simple text file, listing one test per line (prefixed with -) and allowing comments in shell style.

For example, we could dynamically create the following file:

# Disabled tests for KernelCI
-video.ChromeStackDecoderVerification.vp9_0_svc

This would disable the video.ChromeStackDecoderVerification.vp9_0_svc even if it is matched by the globbing pattern used in the tast-decode-chromestack job definition.

Example: manually-altered LAVA job showing the exclude file being created and the video.PlatformDecoding.v4l2_stateful_vp9_0_group4_sub8x8_sf test being skipped as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant