# Copyright 2022 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.

assert(is_fuchsia, "These targets are only compiled in the fuchsia toolchain.")

import("//build/components.gni")
import("//build/test.gni")

test("test") {
  testonly = true
  output_name = "cpp_examples_synchronization_checker_test"
  sources = [ "main.cc" ]
  deps = [
    "//sdk/lib/async:async-cpp",
    "//sdk/lib/async-loop:async-loop-cpp",
    "//src/lib/fxl/test:gtest_main",
  ]
}

fuchsia_unittest_package("cpp-examples-synchronization-checker-test") {
  deps = [ ":test" ]
}

group("synchronization_checker") {
  testonly = true
  deps = [ ":hermetic_tests" ]
}

group("hermetic_tests") {
  testonly = true
  deps = [ ":cpp-examples-synchronization-checker-test" ]
}
