# 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-corrupt:tests",
    "blobfs-stress-test",
    "blobfs/test",
    "conformance:tests",
    "ext4:tests",
    "extractor:tests",
    "factory:tests",
    "fs-management-tests:tests",
    "fs_test:tests",
    "fshost:tests",
    "fuchsia-fatfs:tests",
    "host_fs_test:tests",
    "lib:tests",
    "minfs:tests",
    "volume_image:tests",
  ]
}

# a set of storage tools useful for development and debugging
group("tools") {
  deps = [ "factory/export_ffs:export-ffs" ]
}
