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

group("tests") {
  testonly = true

  deps = [
    "//src/connectivity/bluetooth/core/bt-gap:tests",
    "//src/connectivity/bluetooth/core/bt-host:bluetooth_fuzzers_test",
    "//src/connectivity/bluetooth/lib/bt-avctp:tests",
    "//src/connectivity/bluetooth/lib/bt-avdtp:tests",
    "//src/connectivity/bluetooth/lib/fuchsia-bluetooth:tests",
    "//src/connectivity/bluetooth/profiles/bt-a2dp-sink:tests",
    "//src/connectivity/bluetooth/tests",
    "//src/connectivity/bluetooth/tools/bt-avrcp-controller:tests",
    "//src/connectivity/bluetooth/tools/bt-cli:tests",
    "//src/connectivity/bluetooth/tools/tests",
    "//src/connectivity/lib:tests",
    "//src/connectivity/location:tests",
    "//src/connectivity/lowpan:tests",
    "//src/connectivity/management/integration_tests/network_manager:tests",
    "//src/connectivity/management/reachability:tests",
    "//src/connectivity/network/dhcp:dhcp_tests",
    "//src/connectivity/network/dhcp:dhcpd_tests",
    "//src/connectivity/network/dhcpd-cli:dhcpd_cli_tests",
    "//src/connectivity/network/http_client:tests",
    "//src/connectivity/network/mdns/service:mdns_tests",
    "//src/connectivity/network/net-cli:net-cli-tests",
    "//src/connectivity/network/netcfg:netcfg_tests",
    "//src/connectivity/network/netdump:tests",
    "//src/connectivity/network/testing/netemul:tests",
    "//src/connectivity/network/tests",
    "//src/connectivity/network/tests/integration",
    "//src/connectivity/overnet:tests",
    "//src/connectivity/ppp:tests",
    "//src/connectivity/telephony/lib/qmi-protocol:tests",
    "//src/connectivity/telephony/tests:telephony-tests",
    "//src/connectivity/wlan:tests",
  ]
}
