# 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/components.gni")
import("//build/test.gni")

group("test") {
  testonly = true
  deps = [ ":region-alloc" ]
}

test("region-alloc") {
  output_name = "region-alloc-test"
  sources = [ "region-alloc.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/region-alloc",
    "//zircon/system/ulib/zxtest",
  ]
}

fuchsia_unittest_package("region-alloc-test-pkg") {
  package_name = "region-alloc-test"
  deps = [ ":region-alloc" ]
}

group("tests") {
  testonly = true
  deps = [ ":region-alloc-test-pkg" ]
}
