# 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",
    "argh",
    "backoff",
    "callback",
    "cobalt",
    "elflib",
    "fidl_table_validation",
    "files",
    "fuchsia-async-testloop",
    "http-sse:http_sse",
    "icu",
    "icu_data",
    "inet",
    "isolated_devmgr",
    "mapped-vmo",
    "network_wrapper",
    "pkg_url",
    "shared-buffer",
    "testing",
    "timekeeper",
    "ui",
    "url",
    "uuid",
  ]
}

group("tests") {
  testonly = true

  deps = [
    "argh/argh_tests",
    "backoff:tests",
    "by_addr:tests",
    "callback:tests",
    "cobalt:tests",
    "containers/cpp:tests",
    "cstr:tests",
    "elflib:tests",
    "error:tests",
    "fidl_codec:tests",
    "fidl_table_validation:tests",
    "fuchsia-async-testloop:tests",
    "fuzzing:tests",
    "http-sse:tests",
    "icu:tests",
    "isolated_devmgr:tests",
    "json_parser:tests",
    "line_input:tests",
    "mapped-vmo:tests",
    "mpmc:tests",
    "network_wrapper:tests",
    "process_builder:tests",
    "shared-buffer:tests",
    "streammap:tests",
    "test_executor:tests",
    "test_util:tests",
    "testing:tests",
    "timekeeper:tests",
    "ui:tests",
    "waitgroup:tests",
    "watch_handler:tests",
  ]
}
