# Generated by `fx testgen`

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

executable("bin") {
 output_name = "BINARY_NAME"
 testonly = true
 sources = [ "src/BINARY_NAME.cc" ]
 deps = [
   # Change COMPONENT_FIDL_BUILD_TARGET to fidl target being tested
   # ex: "//examples/components/routing/fidl:echo-rustc",
   {COMPONENT_FIDL_BUILD_TARGET},
   "//src/lib/testing/loop_fixture",
   "//sdk/fidl/fuchsia.component",
   "//sdk/fidl/fuchsia.logger",
   "//sdk/lib/fidl/cpp",
   "//sdk/lib/sys/cpp",
   "//sdk/lib/sys/component/cpp/testing:cpp",
   "//src/lib/fxl/test:gtest_main",
 ]
}

fuchsia_component("BINARY_NAME") {
 testonly = true
 deps = [ ":bin" ]
 manifest = "meta/BINARY_NAME.cml"

}

fuchsia_test_package("integration_test_pkg") {
 package_name = "TEST_PACKAGE_NAME"
 test_components = [ ":BINARY_NAME" ]
 deps = [
   ":BINARY_NAME",
   # Change COMPONENT_BUILD_TARGET to component targets the test use
   # ex: "//examples/components/routing/echo_server:echo_server_component",
   {COMPONENT_BUILD_TARGET},
 ]
}

group("tests") {
  testonly = true
  public_deps = [":integration_test_pkg"]
}
