# 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("storage") {
  deps = [ "ext4" ]
}

group("tests") {
  testonly = true
  deps = [
    "bin:tests",
    "blobfs:tests",
    "blobfs-corrupt:tests",
    "conformance:tests",
    "ext4:tests",
    "extractor:tests",
    "factory:tests",
    "fshost:tests",
    "fuchsia-fatfs:tests",
    "fvm:tests",
    "fxfs:tests",
    "gpt:tests",
    "host_fs_test:tests",
    "lib:tests",
    "memfs:tests",
    "minfs:tests",
    "stress-tests",
    "tools/blobfs-compression/test:tests",
    "volume_image:tests",
  ]
}

# a set of storage tools useful for development and debugging
group("tools") {
  deps = [
    "extractor:tools",
    "factory/export_ffs:export-ffs",
    "tools/blobfs-compression:blobfs-compression",
    "volume_image/ftl:ftl-volume-extractor-host",
  ]
}
