# Copyright 2021 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.

import("//build/sdk/sdk_host_tool.gni")
import("//build/test.gni")

executable("blobfs-compression") {
  sources = [
    "common.cc",
    "main.cc",
  ]
  deps = [
    "//src/lib/chunked-compression",
    "//src/storage/blobfs/compression/configs",
  ]
}

sdk_host_tool("blobfs-compression_sdk") {
  category = "partner"
  output_name = "blobfs-compression"
  deps = [ ":blobfs-compression" ]
}

# This group of tests is run in CQ/CI.
# [It is referenced by ../BUILD.gn's "tests".]
group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
