# 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",
  ]
}

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

# TODO(INTK-1015): This is used by old bot configs.  When those have all
# been converted to use //bundles/buildbot:core directly then this group
# should be removed.
group("buildbot") {
  testonly = true
  public_deps = [
    "buildbot:core",
  ]
}

group("kitchen_sink") {
  testonly = true
  public_deps = [
    "//bundles:tests",
    "//src/connectivity/telephony",
    "//topaz/packages:kitchen_sink",
  ]
}
