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