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

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

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

group("tests") {
  testonly = true

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