# 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",
    "directed_graph",
    "elflib",
    "fake-clock",
    "fdio",
    "fidl_table_validation",
    "files",
    "fuchsia-async-testloop",
    "fuchsia-url",
    "http-sse:http_sse",
    "icu",
    "icu_data",
    "inet",
    "intl",
    "isolated_devmgr",
    "mapped-vmo",
    "mdns",
    "mundane",
    "network",
    "pkg_url",
    "shared-buffer",
    "storage",
    "syslog",
    "tcp-stream-ext",
    "testing",
    "timekeeper",
    "trace",
    "ui",
    "url",
    "usb_bulk",
    "uuid",
    "vmo_store",
    "zerocopy",
  ]
}

group("tests") {
  testonly = true

  deps = [
    "backoff:tests",
    "by_addr:tests",
    "callback:tests",
    "cmx:tests",
    "cobalt:tests",
    "containers/cpp:tests",
    "cstr:tests",
    "directed_graph:tests",
    "elflib:tests",
    "error/clonable_error:tests",
    "fake-clock:tests",
    "fdio:tests",
    "fidl: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",
    "icu_data:tests",
    "inet:tests",
    "intl:tests",
    "isolated_devmgr:tests",
    "json_parser:tests",
    "line_input:tests",
    "mapped-vmo:tests",
    "mdns:tests",
    "mpmc:tests",
    "mundane:tests",
    "network:tests",
    "process_builder:tests",
    "scoped_task:tests",
    "shared-buffer:tests",
    "storage:tests",
    "streammap:tests",
    "syslog:tests",
    "tcp-stream-ext:tests",
    "test_executor:tests",
    "test_util:tests",
    "testing:tests",
    "timekeeper:tests",
    "trace:tests",
    "ui:rust-ui-crates-tests",
    "ui:tests",
    "usb_bulk:tests",
    "vmo_store:tests",
    "waitgroup:tests",
    "watch_handler:tests",
    "zerocopy:tests",
    "zircon:tests",
    "zxc:tests",
  ]
}
