# 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("lib") {
  testonly = true
  deps = [
    ":tests",
    "backoff",
    "callback",
    "cobalt",
    "elflib",
    "fake-clock",
    "fdio",
    "fidl_table_validation",
    "files",
    "fuchsia-async-testloop",
    "fuchsia-url",
    "http-sse:http_sse",
    "icu",
    "icu_data",
    "inet",
    "isolated_devmgr",
    "mapped-vmo",
    "mdns",
    "mundane",
    "network",
    "network_wrapper",
    "pkg_url",
    "shared-buffer",
    "storage",
    "syslog",
    "testing",
    "timekeeper",
    "trace",
    "ui",
    "url",
    "uuid",
    "zerocopy",
  ]
}

group("tests") {
  testonly = true

  deps = [
    "backoff:tests",
    "by_addr:tests",
    "callback:tests",
    "cmx:tests",
    "cobalt:tests",
    "containers/cpp:tests",
    "cstr:tests",
    "elflib:tests",
    "fake-clock:tests",
    "fdio:tests",
    "fidl_codec:tests",
    "fidl_table_validation:tests",
    "fuchsia-async:tests",
    "fuchsia-async-testloop:tests",
    "fuchsia-component:tests",
    "fuchsia-url:tests",
    "fuzzing:tests",
    "http-sse:tests",
    "icu:tests",
    "isolated_devmgr:tests",
    "json_parser:tests",
    "line_input:tests",
    "mapped-vmo:tests",
    "mdns:tests",
    "mpmc:tests",
    "mundane:tests",
    "network:tests",
    "network_wrapper:tests",
    "process_builder:tests",
    "shared-buffer:tests",
    "storage:tests",
    "streammap:tests",
    "syslog:tests",
    "test_executor:tests",
    "test_util:tests",
    "testing:tests",
    "timekeeper:tests",
    "trace:tests",
    "ui:rust-ui-crates-tests",
    "ui:tests",
    "waitgroup:tests",
    "watch_handler:tests",
    "zerocopy:tests",
    "zircon:tests",
  ]
}
