# 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/rust/rustc_staticlib.gni")

rustc_staticlib("guest") {
  name = "guest"
  edition = "2021"
  deps = [
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-async-testloop",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:libc",
  ]
  source_root = "guest.rs"

  sources = [ "guest.rs" ]
}

executable("fuchsia_async_testloop_c_test") {
  output_name = "fuchsia_async_testloop_c_test"
  sources = [ "host_test.cc" ]
  deps = [
    ":guest",
    "//src/lib/fxl",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/loop_fixture:gtest",
    "//third_party/googletest:gtest",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-testing",
  ]
  testonly = true
}

fuchsia_unittest_package("fuchsia-async-testloop-tests") {
  deps = [ ":fuchsia_async_testloop_c_test" ]
}
