# 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")

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

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

test("uuid_unittests") {
  sources = [ "uuid_unittest.cc" ]

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

fuchsia_unittest_package("uuid_tests") {
  deps = [ ":uuid_unittests" ]
}

group("tests") {
  testonly = true

  deps = [
    ":uuid_tests",
    ":uuid_unittests($host_toolchain)",
  ]
}
