blob: 62688abd68de13fb9c6bebece7b68be281bbf0d2 [file] [log] [blame]
# Copyright 2023 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
######### STEPS FOR ADDING HONEYDEW FUNCTIONAL TEST TO INFRA - START ###########
# 1. Identify which all <PRODUCT>.<BOARD> you like to run this test on
# 2. For each of the <PRODUCT>.<BOARD> there is a Test group and Package group
# defined below. Accordingly update each of <PRODUCT>.<BOARD> Infra Test and
# Package group where you like to run the test
########## STEPS FOR ADDING HONEYDEW FUNCTIONAL TEST TO INFRA - END ############
# Infra Test and Package groups:
# For every <PRODUCT>.<BOARD> that we plans to run the tests on, below test
# and package groups are created:
# Test groups
# <PRODUCT>.<BOARD>
# Stable (Tests that passed for at least 200+ consecutive runs)
# Tests that require SL4F transport, if any
# Tests that does not require SL4F transport
# Unstable (Tests that are yet to pass 200 consecutive runs)
# Tests that require SL4F transport, if any
# Tests that does not require SL4F transport
# Package groups
# <PRODUCT>.<BOARD>
# Stable (Packages needed for Stable test groups)
# Packages needed for SL4F test groups, if any
# Packages needed for non-SL4F test groups
# Unstable (Packages needed for Stable test groups)
# Packages needed for SL4F test groups, if any
# Packages needed for non-SL4F test groups
# Exception: Instead of `x64` board, we will use `nuc` and `emulator`.
# See https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/testing/end_to_end/honeydew/tests/functional_tests/#cq-vs-ci-vs-fyi
# for test distribution rules.
# Note - Please refrain from referencing one group in another one (such as
# including `core_emulator_stable_tests` in `workbench_emulator_stable_tests`)
# as it is not guaranteed that every single test case supported by
# <product-#1>.<board-#1> is supported by other <product-#2>.<board-#2>
template("group_with_no_dir_target_deps") {
group(target_name) {
forward_variables_from(invoker, "*")
assert_no_deps = [ ":*" ]
if (defined(invoker.assert_no_deps)) {
assert_no_deps += invoker.assert_no_deps
}
}
}
############################# Test groups - Start ##############################
# core.emulator
group_with_no_dir_target_deps("core_emulator_stable_tests") {
testonly = true
public_deps = [
"affordance_tests/test_tracing:tracing_test_fc($host_toolchain)",
"fuchsia_device_tests/test_fuchsia_device:x64_emu_test_fc($host_toolchain)",
"transport_tests/test_ffx:ffx_test_fc($host_toolchain)",
"transport_tests/test_ffx:ffx_wait_for_rcs_disconnection_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("core_emulator_unstable_tests") {
testonly = true
public_deps = []
}
# workbench_eng.emulator
group_with_no_dir_target_deps("workbench_emulator_stable_tests") {
testonly = true
public_deps = [
"affordance_tests/test_session:session_test_fc($host_toolchain)",
"affordance_tests/test_tracing:tracing_test_fc($host_toolchain)",
"affordance_tests/test_ui:screenshot_test_ffx($host_toolchain)",
"affordance_tests/test_ui:user_input_test_fc($host_toolchain)",
"fuchsia_device_tests/test_fuchsia_device:x64_emu_test_fc($host_toolchain)",
"transport_tests/test_ffx:ffx_test_fc($host_toolchain)",
"transport_tests/test_ffx:ffx_wait_for_rcs_disconnection_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("workbench_emulator_unstable_tests") {
testonly = true
public_deps = []
}
# core.vim3
group_with_no_dir_target_deps("core_vim3_stable_tests") {
testonly = true
public_deps = [
"affordance_tests/test_system_power_state_controller:system_power_state_controller_test_on_non_starnix_fc($host_toolchain)",
"auxiliary_device_tests/test_power_switch_dmc:power_switch_dmc_test_fc($host_toolchain)",
"fuchsia_device_tests/test_fuchsia_device:vim3_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("core_vim3_unstable_tests") {
testonly = true
public_deps = []
}
# workbench_eng.vim3
group_with_no_dir_target_deps("workbench_vim3_stable_tests") {
testonly = true
public_deps = [
"affordance_tests/test_rtc:rtc_test_fc($host_toolchain)",
"affordance_tests/test_system_power_state_controller:system_power_state_controller_test_on_non_starnix_fc($host_toolchain)",
"auxiliary_device_tests/test_power_switch_dmc:power_switch_dmc_test_fc($host_toolchain)",
"fuchsia_device_tests/test_fuchsia_device:vim3_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("workbench_vim3_unstable_tests") {
testonly = true
public_deps = []
}
# core.nuc
group_with_no_dir_target_deps("core_nuc_stable_tests") {
testonly = true
public_deps = [
"fuchsia_device_tests/test_fuchsia_device:x64_nuc_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("core_nuc_unstable_tests") {
testonly = true
public_deps = []
}
# workbench.nuc
group_with_no_dir_target_deps("workbench_nuc_stable_tests") {
testonly = true
public_deps = [
"fuchsia_device_tests/test_fuchsia_device:x64_nuc_test_fc($host_toolchain)",
]
}
group_with_no_dir_target_deps("workbench_nuc_unstable_tests") {
testonly = true
public_deps = []
}
# starnix.vim3
# Note: This will be run on internal builder, hence using `starnix` here instead of internal `<PRODUCT>` name.
group_with_no_dir_target_deps("starnix_vim3_stable_tests") {
testonly = true
public_deps = [ "affordance_tests/test_system_power_state_controller:system_power_state_controller_test_on_starnix_fc($host_toolchain)" ]
}
group_with_no_dir_target_deps("starnix_vim3_unstable_tests") {
testonly = true
public_deps = []
}
############################## Test groups - End ###############################
############################ Package groups - Start ############################
# core.emulator
group_with_no_dir_target_deps("core_emulator_stable_packages") {
testonly = true
public_deps = [
"affordance_tests/test_session:packages",
"transport_tests/test_ffx:packages",
]
}
group_with_no_dir_target_deps("core_emulator_unstable_packages") {
testonly = true
public_deps = []
}
# workbench.emulator
group_with_no_dir_target_deps("workbench_emulator_stable_packages") {
testonly = true
public_deps = [
"affordance_tests/test_session:packages",
"transport_tests/test_ffx:packages",
]
}
group_with_no_dir_target_deps("workbench_emulator_unstable_packages") {
testonly = true
public_deps = []
}
# core.vim3
group_with_no_dir_target_deps("core_vim3_stable_packages") {
testonly = true
public_deps = []
}
group_with_no_dir_target_deps("core_vim3_unstable_packages") {
testonly = true
public_deps = []
}
# workbench.vim3
group_with_no_dir_target_deps("workbench_vim3_stable_packages") {
testonly = true
public_deps = []
}
group_with_no_dir_target_deps("workbench_vim3_unstable_packages") {
testonly = true
public_deps = []
}
# core.nuc
group_with_no_dir_target_deps("core_nuc_stable_packages") {
testonly = true
public_deps = []
}
group_with_no_dir_target_deps("core_nuc_unstable_packages") {
testonly = true
public_deps = []
}
# workbench.nuc
group_with_no_dir_target_deps("workbench_nuc_stable_packages") {
testonly = true
public_deps = []
}
group_with_no_dir_target_deps("workbench_nuc_unstable_packages") {
testonly = true
public_deps = []
}
# starnix.vim3
# Note: This will be run on internal builder, hence using `starnix` here instead of internal `<PRODUCT>` name.
group_with_no_dir_target_deps("starnix_vim3_stable_packages") {
testonly = true
public_deps = []
}
group_with_no_dir_target_deps("starnix_vim3_unstable_packages") {
testonly = true
public_deps = []
}
############################ Package groups - End ##############################
# All of the target-side packages needed by functional tests.
group("packages") {
testonly = true
public_deps = [
"../..:sl4f_packages",
"affordance_tests:packages",
"transport_tests:packages",
]
}
# All of the Honeydew functional tests
if (is_host) {
group("tests") {
testonly = true
public_deps = [
"affordance_tests:tests",
"auxiliary_device_tests:tests",
"fuchsia_device_tests:tests",
"transport_tests:tests",
]
}
}
# All of the Honeydew functional tests and their dependencies.
group("functional_tests") {
testonly = true
public_deps = [
":packages",
":tests($host_toolchain)",
]
}