# 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.

# Target-side packages needed by example lacewing tests.
group("packages") {
  testonly = true
  public_deps = [ "../honeydew:sl4f_packages" ]
}

if (is_host) {
  # Group containing all of the Lacewing example test cases.
  group("tests") {
    testonly = true
    public_deps = [
      "test_case_revive_example:tests",
      "test_data_resource_access:tests",
      "test_hello_world:tests",
      "test_multi_device:tests",
      "test_power_cycle:tests",
      "test_soft_reboot:tests",
    ]
  }
}

# All of the lacewing example tests and their dependencies.
group("examples") {
  testonly = true
  public_deps = [
    ":packages",
    ":tests($host_toolchain)",
  ]
}
