# Copyright 2020 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") {
  deps = [
    "ramdevice_client",
    "storage_device",
    "vfs/cpp",
    "vfs/rust:vfs",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "blob_writer:tests",
    "block_client:tests",
    "delivery_blob:tests",
    "disk_inspector:tests",
    "fs_management:tests",
    "fsverity-merkle:tests",
    "ftl:tests",
    "key-bag:tests",
    "paver:tests",
    "ramdevice_client:tests",
    "sparse/c:tests",
    "sparse/rust:tests",
    "storage-metrics:tests",
    "storage_device:tests",
    "trace:tests",
    "vfs/cpp:tests",
    "vfs/rust:tests",
    "watchdog:tests",
  ]
}
