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

import("//build/test.gni")
import("//src/sys/build/components.gni")
import("//src/sys/build/fuchsia_test_package.gni")

group("test") {
  testonly = true
  deps = [ ":minfs-allocator-unit" ]
}

test("minfs-allocator-unit") {
  sources = [ "allocator_test.cc" ]
  deps = [
    "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_c",
    "//src/lib/fxl/test:gtest_main",
    "//src/storage/minfs",
    "//third_party/googletest:gtest",
    "//zircon/system/ulib/bitmap",
    "//zircon/system/ulib/block-client",
  ]
}

fuchsia_unittest_component("minfs-allocator-test") {
  deps = [ ":minfs-allocator-unit" ]
}

fuchsia_test_package("minfs-allocator-tests") {
  test_components = [ ":minfs-allocator-test" ]
}
