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

group("tools") {
  testonly = true
  public_deps = [
    "//garnet/packages/products:devtools",
    "//garnet/packages/tools:all",
    "//src/connectivity/network/netdump",
    "//src/connectivity/network/netstack:tools",
    "//src/connectivity/overnet/tools",
    "//src/developer/debug/zxdb:zxdb_host",
    "//src/developer/exception_broker/limbo_client",
    "//src/developer/feedback/bugreport",
    "//src/developer/kcounter_inspect",
    "//src/diagnostics/triage:install($host_toolchain)",
    "//src/lib/icu:tools",
    "//src/media/bundles:tools",
    "//src/sys/component_manager_for_test",
    "//src/sys/run_test_suite",
    "//tools",
  ]
}

group("infratools") {
  testonly = true
  public_deps = [ "//tools:infratools" ]
}

group("tests") {
  testonly = true
  public_deps = [
    "//examples:tests",
    "//garnet/packages/tests:all",
    "//peridot:tests",
    "//src:host_tests",
    "//src:tests",
    "//tools:tests",
    "//topaz:tests",
  ]
}

group("kitchen_sink") {
  testonly = true
  public_deps = [
    ":tests",
    "//garnet/packages:kitchen_sink",
    "//peridot/packages:all",
    "//src/connectivity/telephony",
    "//src/media/audio/bundles:virtual_audio_driver",
    "//src/media/bundles:services",
    "//src/media/bundles:tools",
    "//topaz",
  ]
}
