blob: 338405d45ee7fabd0b114ba9380f5a4e566ba939 [file] [edit]
# Copyright 2026 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Mixin declarations
Mixins are used to define common properties that can be applied to multiple
tests.
These are the ANGLE-specific mixins. Mixins shared with Chromium (e.g. for
Swarming dimensions) are pulled in via the @chromium-targets Starlark package
and are found at Chromium's //infra/config/targets/mixins.star file.
"""
load("@chromium-luci//targets.star", "targets")
targets.mixin(
name = "android_deqp_increased_verbosity_and_shard_timeout",
android_args = [
"-v",
"--shard-timeout=500",
],
)
targets.mixin(
name = "angle_end2end_tests_common_args",
android_args = [
"--shard-timeout=180",
"-v",
# We use this argument to save test artifacts.
"--render-test-output-dir=${ISOLATED_OUTDIR}",
],
linux_args = [
# Linux has issues with creating too many windows at once.
"--max-processes=4",
],
)
targets.mixin(
name = "angle_skia_gold_test",
args = [
"--git-revision=${got_angle_revision}",
# BREAK GLASS IN CASE OF EMERGENCY
# Uncommenting this argument will bypass all interactions with Skia
# Gold in any tests that use it. This is meant as a temporary
# emergency stop in case of a Gold outage that's affecting the bots.
# "--bypass-skia-gold-functionality",
],
precommit_args = [
"--gerrit-issue=${patch_issue}",
"--gerrit-patchset=${patch_set}",
"--buildbucket-id=${buildbucket_build_id}",
# This normally evaluates to "0", but will evaluate to "1" if
# "Use-Permissive-Angle-Pixel-Comparison: True" is present as a
# CL footer.
"--use-permissive-pixel-comparison=${use_permissive_angle_pixel_comparison}",
],
)
targets.mixin(
name = "deqp_khr_default_height_width_seed",
args = [
"--surface-height=64",
"--surface-width=64",
"--deqp-base-seed=1",
],
)
targets.mixin(
name = "deqp_merge_script",
merge = targets.merge(
script = "//scripts/angle_deqp_test_merge.py",
),
)
targets.mixin(
name = "enable_trace_tests",
args = [
"--trace-tests",
],
)
targets.mixin(
name = "gtest_enable_flaky_retries",
args = [
# Meant for working around flaky crashes. http://anglebug.com/42265067
"--flaky-retries=2",
],
)
targets.mixin(
name = "gtest_filter_no_vulkan",
args = [
"--gtest_filter=-*Vulkan*",
],
)
targets.mixin(
name = "gtest_filter_no_vulkan_swiftshader",
args = [
"--gtest_filter=-*Vulkan_SwiftShader*",
],
)
targets.mixin(
name = "gtest_filter_only_real_vulkan",
args = [
"--gtest_filter=*Vulkan*:-*Vulkan_SwiftShader*",
],
)
targets.mixin(
name = "gtest_filter_only_vulkan",
args = [
"--gtest_filter=*Vulkan*",
],
)
targets.mixin(
name = "gtest_filter_only_vulkan_swiftshader",
args = [
"--gtest_filter=*Vulkan_SwiftShader*",
],
)
targets.mixin(
name = "isolated_script_log_debug",
args = [
"--log=debug",
],
)
targets.mixin(
name = "no_xvfb",
linux_args = [
"--no-xvfb",
],
)
targets.mixin(
name = "perf_merge_script",
merge = targets.merge(
script = "//scripts/process_angle_perf_results.py",
),
)
targets.mixin(
name = "perf_merge_script_smoke_test_mode",
merge = targets.merge(
script = "//scripts/process_angle_perf_results.py",
args = [
"--smoke-test-mode",
],
),
)
targets.mixin(
name = "perf_tests_common_args",
android_args = [
"--trial-time=10",
],
args = [
"--samples-per-test=3",
"--trials-per-sample=3",
"--show-test-stdout",
],
)
targets.mixin(
name = "perf_tests_sharding",
android_swarming = targets.swarming(
shards = 30,
),
swarming = targets.swarming(
shards = 10,
),
)
targets.mixin(
name = "perf_tests_smoke_test_mode",
args = [
"--smoke-test-mode",
"--show-test-stdout",
],
)
targets.mixin(
name = "samsung_s24_stable",
swarming = targets.swarming(
dimensions = {
"device_os": "AP3A.240905.015.A2",
"device_os_type": "user",
"device_type": "s5e9945",
"os": "Android",
"pool": "chromium.tests.gpu",
},
),
)
targets.mixin(
name = "temp_band_below_30C",
swarming = targets.swarming(
dimensions = {
"temp_band": "<30",
},
),
)
targets.mixin(
name = "timeout_120m",
swarming = targets.swarming(
hard_timeout_sec = 7200,
io_timeout_sec = 300,
),
)
targets.mixin(
name = "use_angle_d3d11",
args = [
"--use-angle=d3d11",
],
)
targets.mixin(
name = "use_angle_gl",
args = [
"--use-angle=gl",
],
)
targets.mixin(
name = "use_angle_gles",
args = [
"--use-angle=gles",
],
)
targets.mixin(
name = "use_angle_metal",
args = [
"--use-angle=metal",
],
)
targets.mixin(
name = "use_angle_swiftshader",
args = [
"--use-angle=swiftshader",
],
)
targets.mixin(
name = "use_angle_vulkan",
args = [
"--use-angle=vulkan",
],
)
targets.mixin(
name = "use_angle_webgpu",
args = [
"--use-angle=webgpu",
],
)
targets.mixin(
name = "use_gl_native",
args = [
"--use-gl=native",
],
)
targets.mixin(
name = "use_isolated_scripts_api",
use_isolated_scripts_api = True,
)