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

source_set("uuid") {
  sources = [
    "uuid.cc",
    "uuid.h",
  ]

  deps = [ "//src/lib/fxl" ]
}

executable("uuid_unittests") {
  testonly = true

  sources = [ "uuid_unittest.cc" ]

  deps = [
    ":uuid",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gtest",
  ]
}

test_package("uuid_tests") {
  deps = [ ":uuid_unittests" ]

  tests = [
    {
      name = "uuid_unittests"
    },
  ]
}
