# Copyright 2020 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/test_package.gni")
import("//build/testing/environments.gni")

source_set("vmo_store") {
  sources = [
    "growable_slab.h",
    "owned_vmo_store.h",
    "stored_vmo.h",
    "vmo_store.h",
  ]

  public_deps = [
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/fzl",
  ]
}

executable("test_bin") {
  testonly = true
  output_name = "vmo-store-test"
  sources = [
    "growable_slab_test.cc",
    "map_pin_test.cc",
    "owned_vmo_store_test.cc",
    "typed_store_test.cc",
  ]
  deps = [
    ":vmo_store",
    "//src/devices/testing/fake-bti",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/predicates",
    "//third_party/googletest:gtest",
  ]
}

unittest_package("vmo-store-test") {
  deps = [ ":test_bin" ]

  tests = [
    {
      name = "vmo-store-test"
      environments = [ qemu_env ]
    },
  ]
}

group("tests") {
  testonly = true
  deps = [ ":vmo-store-test" ]
}
