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

group("tests") {
  testonly = true
  deps = [
    "benchmarks:tests",
    "bin:tests",
    "blobfs:tests",
    "conformance:tests",
    "ext4:tests",
    "f2fs:tests",
    "factory:tests",
    "fshost:tests",
    "fuchsia-fatfs:tests",
    "fuzzers:tests",
    "fvm:tests",
    "fxfs:tests",
    "fxfs-crypt:tests",
    "gpt:tests",
    "host_fs_test:tests",
    "lib:tests",
    "memfs:tests",
    "minfs:tests",
    "stress-tests",
    "stressor:tests",
    "testing:tests",
    "tools:tests",
    "type-fprint:tests",
    "volume_image:tests",
  ]
}

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