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

executable("bin") {
  output_name = "server_suite_under_test_hlcpp"
  sources = [ "main.cc" ]
  deps = [
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/sys/cpp",
    "//src/tests/fidl/server_suite/fidl:fidl.serversuite",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}

fuchsia_component("hlcpp_server") {
  component_name = "server"
  manifest = "meta/server.cml"
  deps = [ ":bin" ]
}

fuchsia_component("harness_hlcpp") {
  testonly = true
  component_name = "harness"
  manifest = "meta/harness_hlcpp.cml"
  deps = [ "//src/tests/fidl/server_suite/harness:bin" ]
}

fuchsia_test_package("fidl-server-suite-hlcpp-test") {
  test_components = [ ":harness_hlcpp" ]
  deps = [ ":hlcpp_server" ]
}

group("hlcpp") {
  testonly = true
  deps = [ ":fidl-server-suite-hlcpp-test" ]
}
