# Copyright 2022 The Fuchsia Authors.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# A collection of platform pieces needed to support CTS testing.
#
# These are included as universe packages in CI/CQ, but are not included in
# the CTS release itself. This exists only to support testing in Fuchsia
# infrastructure.
#
# A dependency should be added to this list iff it is not already part of
# the image that is used as a basis for CTS testing. The most common entries
# are components that implement an SDK element exercised by a CTS test, or
# test helpers that do not belong as direct dependencies of the test.
group("cts-support") {
  testonly = true
  public_deps = [
    "//src/ui/bin/hardware_display_controller_provider:fake-hardware-display-controller-provider-cmv2-component",
    "//src/ui/scenic:component_v2_with_supplied_display_provider",
  ]
}
