# Copyright 2018 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("//src/sys/build/components.gni")

source_set("timekeeper") {
  sources = [ "clock.h" ]

  public_deps = [ "//zircon/public/lib/zx" ]

  public_configs = [ "//garnet/public:config" ]
}

source_set("system") {
  sources = [ "system_clock.h" ]

  public_deps = [
    ":timekeeper",
    "//zircon/public/lib/zx",
  ]
}

source_set("testing") {
  testonly = true

  sources = [
    "async_test_clock.cc",
    "async_test_clock.h",
    "monotonic_test_clock_base.cc",
    "monotonic_test_clock_base.h",
    "test_clock.cc",
    "test_clock.h",
    "test_loop_test_clock.cc",
    "test_loop_test_clock.h",
  ]

  public_deps = [
    ":timekeeper",
    "//sdk/lib/fit",
    "//zircon/public/lib/async-cpp",
    "//zircon/system/ulib/async-testing",
  ]
}

executable("timekeeper_lib_unittests") {
  testonly = true
  sources = [
    "async_test_clock_unittest.cc",
    "system_clock_unittest.cc",
    "test_clock_unittest.cc",
    "test_loop_test_clock_unittest.cc",
  ]

  deps = [
    ":system",
    ":testing",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/loop_fixture",
    "//third_party/googletest:gtest",
    "//zircon/system/ulib/async-testing",
  ]
}

fuchsia_unittest_package("timekeeper_lib_tests") {
  deps = [ ":timekeeper_lib_unittests" ]

  test_specs = {
    environments = [ emu_env ]
  }
}

group("tests") {
  testonly = true

  deps = [ ":timekeeper_lib_tests" ]
}
