# 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("connectivity") {
  testonly = true
  deps = [
    ":tests",
    "bluetooth",
    "location",
    "lowpan",
    "openthread",
    "overnet",
    "ppp",
    "telephony",
    "weave",
    "wlan",
  ]
}

group("tools") {
  testonly = true
  public_deps = [
    "lowpan/tools",
    "management/network-manager-cli",
    "network/dhcpd-cli",
    "network/mdns/bundles:utils",
    "network/net-cli",
    "network/netdump",
    "network/netstack:tools",
    "network/tools",
    "overnet/overnetstack",
    "overnet/tools",
    "wlan:tools",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "bluetooth:tests",
    "ethernet:tests",
    "lib:tests",
    "location:tests",
    "lowpan:tests",
    "management:tests",
    "network:tests",
    "openthread:tests",
    "overnet:tests",
    "ppp:tests",
    "telephony:tests",
    "weave:tests",
    "wlan:tests",
  ]
}
