Skip to content

Commit

Permalink
Add Debian rootfs support for Tast tests in kernelci-pipeline
Browse files Browse the repository at this point in the history
- Introduce new job definitions for running Chromium's Tast
tests on Debian rootfs.
- Add support for various decoding tests (H.264, HEVC, VP8, VP9)
on Debian, targeting ARM64 platforms (MediaTek and Qualcomm).
- Extend the `tast` test suite by defining the Debian rootfs
location, boot commands, and platform-specific configurations.
- Ensure compatibility with mainline, next, and Collabora Chrome OS
kernel trees for testing.
- Update the `tast_tarball` field on `platforms-chromeos.yaml`
to obtain a more recent tarball artifact.

Signed-off-by: Denis Yuji Shimizu <[email protected]>
  • Loading branch information
denisyuji committed Sep 19, 2024
1 parent dac4fe2 commit 00ca016
Show file tree
Hide file tree
Showing 3 changed files with 183 additions and 7 deletions.
139 changes: 136 additions & 3 deletions config/jobs-chromeos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,24 @@ _anchors:
rules: *min-5_4-rules
kcidb_test_suite: tast

tast-debian: &tast-debian-job
template: 'generic.jinja2'
kind: job
kcidb_test_suite: tast.debian
params: &tast-debian-params
test_method: tast-debian
boot_commands: nfs
nfsroot: 'https://storage.chromeos.kernelci.org/images/rootfs/debian/bookworm-tast/{debarch}/'
job_timeout: 30
videodec_parallel_jobs: 1
videodec_timeout: 90
rules:
tree:
- mainline
- next
- collabora-chromeos-kernel
- media

tast-basic: &tast-basic-job
<<: *tast-job
params:
Expand All @@ -79,24 +97,44 @@ _anchors:
# Those jobs can run for a very long time, so we need a very large timeout
job_timeout: 180

tast-debian-decoder-chromestack: &tast-debian-decoder-chromestack-job
<<: *tast-debian-job
params:
<<: *tast-decoder-chromestack-params

tast-decoder-v4l2-sf-h264: &tast-decoder-v4l2-sf-h264-job
<<: *tast-job
params: &tast-decoder-v4l2-sf-h264-params
tests:
- video.PlatformDecoding.v4l2_stateful_h264_*

tast-debian-decoder-v4l2-sf-h264: &tast-debian-decoder-v4l2-sf-h264-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sf-h264-params

tast-decoder-v4l2-sf-hevc: &tast-decoder-v4l2-sf-hevc-job
<<: *tast-job
params: &tast-decoder-v4l2-sf-hevc-params
tests:
- video.PlatformDecoding.v4l2_stateful_hevc_*

tast-debian-decoder-v4l2-sf-hevc: &tast-debian-decoder-v4l2-sf-hevc-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sf-hevc-params

tast-decoder-v4l2-sf-vp8: &tast-decoder-v4l2-sf-vp8-job
<<: *tast-job
params: &tast-decoder-v4l2-sf-vp8-params
tests:
- video.PlatformDecoding.v4l2_stateful_vp8_*

tast-debian-decoder-v4l2-sf-vp8: &tast-debian-decoder-v4l2-sf-vp8-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sf-vp8-params

tast-decoder-v4l2-sf-vp9: &tast-decoder-v4l2-sf-vp9-job
<<: *tast-job
params: &tast-decoder-v4l2-sf-vp9-params
Expand All @@ -109,36 +147,66 @@ _anchors:
# Regression in ChromeOS R120, to be re-evaluated on next CrOS upgrade
- video.PlatformDecoding.v4l2_stateful_vp9_0_group4_sub8x8_sf

tast-debian-decoder-v4l2-sf-vp9: &tast-debian-decoder-v4l2-sf-vp9-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sf-vp9-params

tast-decoder-v4l2-sf-vp9-extra: &tast-decoder-v4l2-sf-vp9-extra-job
<<: *tast-job
params: &tast-decoder-v4l2-sf-vp9-extra-params
tests:
- video.PlatformDecoding.v4l2_stateful_vp9_0_level5_*

tast-debian-decoder-v4l2-sf-vp9-extra: &tast-debian-decoder-v4l2-sf-vp9-extra-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sf-vp9-extra-params

tast-decoder-v4l2-sl-av1: &tast-decoder-v4l2-sl-av1-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-av1-params
tests:
- video.PlatformDecoding.v4l2_stateless_av1_*

tast-debian-decoder-v4l2-sl-av1: &tast-debian-decoder-v4l2-sl-av1-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-av1-params

tast-decoder-v4l2-sl-h264: &tast-decoder-v4l2-sl-h264-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-h264-params
tests:
- video.PlatformDecoding.v4l2_stateless_h264_*

tast-debian-decoder-v4l2-sl-h264: &tast-debian-decoder-v4l2-sl-h264-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-h264-params

tast-decoder-v4l2-sl-hevc: &tast-decoder-v4l2-sl-hevc-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-hevc-params
tests:
- video.PlatformDecoding.v4l2_stateless_hevc_*

tast-debian-decoder-v4l2-sl-hevc: &tast-debian-decoder-v4l2-sl-hevc-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-hevc-params

tast-decoder-v4l2-sl-vp8: &tast-decoder-v4l2-sl-vp8-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-vp8-params
tests:
- video.PlatformDecoding.v4l2_stateless_vp8_*

tast-debian-decoder-v4l2-sl-vp8: &tast-debian-decoder-v4l2-sl-vp8-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-vp8-params

tast-decoder-v4l2-sl-vp9: &tast-decoder-v4l2-sl-vp9-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-vp9-params
Expand All @@ -148,12 +216,22 @@ _anchors:
- video.PlatformDecoding.v4l2_stateless_vp9_0_group3_*
- video.PlatformDecoding.v4l2_stateless_vp9_0_group4_*

tast-debian-decoder-v4l2-sl-vp9: &tast-debian-decoder-v4l2-sl-vp9-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-vp9-params

tast-decoder-v4l2-sl-vp9-extra: &tast-decoder-v4l2-sl-vp9-extra-job
<<: *tast-job
params: &tast-decoder-v4l2-sl-vp9-extra-params
tests:
- video.PlatformDecoding.v4l2_stateless_vp9_0_level5_*

tast-debian-decoder-v4l2-sl-vp9-extra: &tast-debian-decoder-v4l2-sl-vp9-extra-job
<<: *tast-debian-job
params:
<<: *tast-decoder-v4l2-sl-vp9-extra-params

tast-hardware: &tast-hardware-job
<<: *tast-job
params:
Expand Down Expand Up @@ -214,6 +292,11 @@ _anchors:
- video.PlatformDecoding.vaapi_vp9_0_level5_0_buf
- video.PlatformDecoding.vaapi_vp9_0_level5_1_buf

tast-debian-mm-decode: &tast-debian-mm-decode-job
<<: *tast-debian-job
params:
<<: *tast-mm-decode-params

tast-mm-encode: &tast-mm-encode-job
<<: *tast-job
params:
Expand Down Expand Up @@ -505,16 +588,21 @@ jobs:
tast-basic-x86-intel: *tast-basic-job

tast-decoder-chromestack-arm64-mediatek: *tast-decoder-chromestack-job
tast-debian-decoder-chromestack-arm64-mediatek: *tast-debian-decoder-chromestack-job

tast-decoder-chromestack-arm64-qualcomm:
<<: *tast-decoder-chromestack-job
rules: *min-6_7-rules

tast-debian-decoder-chromestack-arm64-qualcomm:
<<: *tast-debian-decoder-chromestack-job
rules: *min-6_7-rules

tast-decoder-chromestack-arm64-qualcomm-pre6_7:
<<: *tast-decoder-chromestack-job
params:
<<: *tast-decoder-chromestack-params
excluded_tests:
excluded_tests: &tast-decoder-chromestack-arm64-qualcomm-pre6_7-excluded_tests
# Platform-independent excluded tests
- video.ChromeStackDecoderVerification.hevc_main
- video.ChromeStackDecoderVerification.vp9_0_svc
Expand All @@ -523,22 +611,40 @@ jobs:
- video.ChromeStackDecoderVerification.vp9_0_group1_sub8x8_sf
rules: *max-6_6-rules

tast-debian-decoder-chromestack-arm64-qualcomm-pre6_7:
<<: *tast-debian-decoder-chromestack-job
params:
<<: *tast-decoder-chromestack-params
excluded_tests: *tast-decoder-chromestack-arm64-qualcomm-pre6_7-excluded_tests
rules: *max-6_6-rules

tast-decoder-chromestack-x86-amd: *tast-decoder-chromestack-job
tast-decoder-chromestack-x86-intel: *tast-decoder-chromestack-job

tast-debian-decoder-chromestack-x86-amd: *tast-debian-decoder-chromestack-job
tast-debian-decoder-chromestack-x86-intel: *tast-debian-decoder-chromestack-job

tast-decoder-v4l2-sf-h264-arm64-qualcomm: *tast-decoder-v4l2-sf-h264-job
tast-decoder-v4l2-sf-hevc-arm64-qualcomm: *tast-decoder-v4l2-sf-hevc-job
tast-decoder-v4l2-sf-vp8-arm64-qualcomm: *tast-decoder-v4l2-sf-vp8-job

tast-debian-decoder-v4l2-sf-h264-arm64-qualcomm: *tast-debian-decoder-v4l2-sf-h264-job
tast-debian-decoder-v4l2-sf-hevc-arm64-qualcomm: *tast-debian-decoder-v4l2-sf-hevc-job
tast-debian-decoder-v4l2-sf-vp8-arm64-qualcomm: *tast-debian-decoder-v4l2-sf-vp8-job

tast-decoder-v4l2-sf-vp9-arm64-qualcomm:
<<: *tast-decoder-v4l2-sf-vp9-job
rules: *min-6_7-rules

tast-debian-decoder-v4l2-sf-vp9-arm64-qualcomm:
<<: *tast-debian-decoder-v4l2-sf-vp9-job
rules: *min-6_7-rules

tast-decoder-v4l2-sf-vp9-arm64-qualcomm-pre6_7:
<<: *tast-decoder-v4l2-sf-vp9-job
params:
<<: *tast-decoder-v4l2-sf-vp9-params
excluded_tests:
excluded_tests: &tast-decoder-v4l2-sf-vp9-arm64-qualcomm-pre6_7-excluded_tests
- video.PlatformDecoding.v4l2_stateful_vp9_0_group1_frm_resize
- video.PlatformDecoding.v4l2_stateful_vp9_0_group1_sub8x8_sf
- video.PlatformDecoding.v4l2_stateful_vp9_0_group2_frm_resize
Expand All @@ -549,25 +655,49 @@ jobs:
- video.PlatformDecoding.v4l2_stateful_vp9_0_group4_sub8x8_sf
rules: *max-6_6-rules

tast-debian-decoder-v4l2-sf-vp9-arm64-qualcomm-pre6_7:
<<: *tast-debian-decoder-v4l2-sf-vp9-job
params:
<<: *tast-decoder-v4l2-sf-vp9-params
excluded_tests: *tast-decoder-v4l2-sf-vp9-arm64-qualcomm-pre6_7-excluded_tests
rules: *max-6_6-rules

tast-decoder-v4l2-sf-vp9-extra-arm64-qualcomm:
<<: *tast-decoder-v4l2-sf-vp9-extra-job
rules: *min-6_7-rules

tast-debian-decoder-v4l2-sf-vp9-extra-arm64-qualcomm:
<<: *tast-debian-decoder-v4l2-sf-vp9-extra-job
rules: *min-6_7-rules

tast-decoder-v4l2-sf-vp9-extra-arm64-qualcomm-pre6_7:
<<: *tast-decoder-v4l2-sf-vp9-extra-job
params:
<<: *tast-decoder-v4l2-sf-vp9-extra-params
excluded_tests:
excluded_tests: &tast-decoder-v4l2-sf-vp9-extra-arm64-qualcomm-pre6_7-excluded_tests
- video.PlatformDecoding.v4l2_stateful_vp9_0_level5_0_frm_resize
- video.PlatformDecoding.v4l2_stateful_vp9_0_level5_0_sub8x8_sf
rules: *max-6_6-rules

tast-decoder-v4l2-sf-vp9-extra-arm64-qualcomm-pre6_7:
<<: *tast-decoder-v4l2-sf-vp9-extra-job
params:
<<: *tast-decoder-v4l2-sf-vp9-extra-params
excluded_tests: *tast-decoder-v4l2-sf-vp9-extra-arm64-qualcomm-pre6_7-excluded_tests
rules: *max-6_6-rules

tast-decoder-v4l2-sl-av1-arm64-mediatek: *tast-decoder-v4l2-sl-av1-job
tast-decoder-v4l2-sl-h264-arm64-mediatek: *tast-decoder-v4l2-sl-h264-job
tast-decoder-v4l2-sl-hevc-arm64-mediatek: *tast-decoder-v4l2-sl-hevc-job
tast-decoder-v4l2-sl-vp8-arm64-mediatek: *tast-decoder-v4l2-sl-vp8-job
tast-decoder-v4l2-sl-vp9-arm64-mediatek: *tast-decoder-v4l2-sl-vp9-job

tast-debian-decoder-v4l2-sl-av1-arm64-mediatek: *tast-debian-decoder-v4l2-sl-av1-job
tast-debian-decoder-v4l2-sl-h264-arm64-mediatek: *tast-debian-decoder-v4l2-sl-h264-job
tast-debian-decoder-v4l2-sl-hevc-arm64-mediatek: *tast-debian-decoder-v4l2-sl-hevc-job
tast-debian-decoder-v4l2-sl-vp8-arm64-mediatek: *tast-debian-decoder-v4l2-sl-vp8-job
tast-debian-decoder-v4l2-sl-vp9-arm64-mediatek: *tast-debian-decoder-v4l2-sl-vp9-job

tast-hardware-arm64-mediatek: *tast-hardware-job
tast-hardware-arm64-qualcomm: *tast-hardware-job
tast-hardware-x86-amd: *tast-hardware-job
Expand All @@ -581,6 +711,9 @@ jobs:
tast-mm-decode-arm64-mediatek: *tast-mm-decode-job
tast-mm-decode-arm64-qualcomm: *tast-mm-decode-job

tast-debian-mm-decode-arm64-mediatek: *tast-debian-mm-decode-job
tast-debian-mm-decode-arm64-qualcomm: *tast-debian-mm-decode-job

tast-mm-misc-arm64-mediatek: *tast-mm-misc-job
tast-mm-misc-arm64-qualcomm: *tast-mm-misc-job
tast-mm-misc-x86-amd: *tast-mm-misc-job
Expand Down
2 changes: 1 addition & 1 deletion config/platforms-chromeos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ _anchors:
url: https://storage.chromeos.kernelci.org/images/kernel/v6.1-{mach}
image: 'kernel/Image'
nfsroot: https://storage.chromeos.kernelci.org/images/rootfs/debian/bookworm-cros-flash/20240422.0/{debarch}
tast_tarball: https://storage.chromeos.kernelci.org/images/rootfs/chromeos/chromiumos-{base_name}/20240514.0/{debarch}/tast.tgz
tast_tarball: https://storage.chromeos.kernelci.org/images/rootfs/chromeos/chromiumos-{base_name}/20240918.0/{debarch}/tast.tgz
rules: &arm64-chromebook-device-rules
defconfig:
- '!allnoconfig'
Expand Down
Loading

0 comments on commit 00ca016

Please sign in to comment.