# Copyright 2020 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("network") {
  testonly = true
  deps = [
    "fidl_fuchsia_net_ext",
    "fidl_fuchsia_net_interfaces_ext",
    "fidl_fuchsia_net_routes_ext",
    "packet",
  ]
}

group("tests") {
  testonly = true

  public_deps = [
    "fidl_fuchsia_net_dhcp_ext:tests",
    "fidl_fuchsia_net_ext:fidl-fuchsia-net-ext-tests",
    "fidl_fuchsia_net_filter_ext:tests",
    "fidl_fuchsia_net_interfaces_ext:tests",
    "fidl_fuchsia_net_routes_ext:tests",
    "fidl_fuchsia_posix_socket_ext:tests",
    "netsvc-proto:tests",
    "packet:tests",
  ]
}
