# 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("guid") {
  sources = [ "guid.cc" ]
  public = [ "guid.h" ]
  public_deps = [
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
  ]
}

source_set("guid-test") {
  testonly = true
  sources = [ "guid_test.cc" ]
  deps = [
    ":guid",
    "//third_party/googletest:gtest",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/gpt",
  ]
}

executable("utils-test") {
  testonly = true
  deps = [
    ":guid-test",
    "//src/lib/fxl/test:gtest_main",
    "//zircon/public/lib/fdio",
  ]
}
