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

group("tests") {
  testonly = true

  deps = [
    "analytics:tests",
    "async-utils:tests",
    "backoff:tests",
    "bootfs:tests",
    "by_addr:tests",
    "callback:tests",
    "chunked-compression:tests",
    "cmx:tests",
    "cobalt:tests",
    "component:tests",
    "containers/cpp:tests",
    "cstr:tests",
    "cutex:tests",
    "ddk:tests",
    "ddktl:tests",
    "diagnostics:tests",
    "digest:tests",
    "directed_graph:tests",
    "elflib:tests",
    "error/clonable_error:tests",
    "fable:tests",
    "fake-clock:tests",
    "fdio:tests",
    "fidl:tests",
    "fidl_codec:tests",
    "fidl_table_validation:tests",
    "files:tests",
    "framebuffer:tests",
    "fuchsia-async:tests",
    "fuchsia-async-testloop:tests",
    "fuchsia-component:tests",
    "fuchsia-hyper:tests",
    "fuchsia-runtime:tests",
    "fuchsia-url:tests",
    "fuzzing:tests",
    "fxl:tests",
    "go-benchmarking:tests",
    "http-sse:tests",
    "http-uri-ext:tests",
    "icu:tests",
    "icu_data:tests",
    "inet:tests",
    "intl:tests",
    "isolated_devmgr:tests",
    "json_parser:tests",
    "line_input:tests",
    "listnode:tests",
    "loader_service:tests",
    "mapped-vmo:tests",
    "mdns:tests",
    "mpmc:tests",
    "mundane:tests",
    "network:tests",
    "nix:tests",
    "process_builder:tests",
    "scoped_task:tests",
    "shared-buffer:tests",
    "storage:tests",
    "syslog:tests",
    "tcp-stream-ext:tests",
    "test_executor:tests",
    "test_util:tests",
    "testing:tests",
    "thinfs: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",
  ]
}
