# Copyright 2020 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_binary.gni")

executable("passing-test-example-bin") {
  output_name = "passing-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "passing_test_example.cc" ]
}

executable("test-with-stderr-bin") {
  output_name = "test-with-stderr"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "test_with_stderr.cc" ]
}

executable("no-onfinished-after-test-example-bin") {
  output_name = "no-onfinished-after-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "no_onfinished_after_test_example.cc" ]
}

executable("disabled-test-example-bin") {
  output_name = "disabled-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "disabled_test_example.cc" ]
}

executable("failing-test-example-bin") {
  output_name = "failing-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "failing_test_example.cc" ]
}

executable("incomplete-test-example-bin") {
  output_name = "incomplete-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "incomplete_test_example.cc" ]
}

executable("invalid-test-example-bin") {
  output_name = "invalid-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "invalid_test_example.cc" ]
}

executable("no-test-example-bin") {
  output_name = "no-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "no_test_example.cc" ]
}

executable("huge-test-example-bin") {
  output_name = "huge-test-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "huge_test_example.cc" ]
}

executable("get-tests-hangs-example-bin") {
  output_name = "get-tests-hangs-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "get_tests_hangs_example.cc" ]
}

executable("get-tests-closes-channel-example-bin") {
  output_name = "get-tests-closes-channel-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "get_tests_closes_channel_example.cc" ]
}

executable("run-hangs-example-bin") {
  output_name = "run-hangs-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "run_hangs_example.cc" ]
}

executable("run-closes-channel-example-bin") {
  output_name = "run-closes-channel-example"
  deps = [ "//src/lib/test-suite:test_suite_lib" ]
  sources = [ "run_closes_channel_example.cc" ]
}

fuchsia_component("disabled-test-example") {
  deps = [ ":disabled-test-example-bin" ]
  manifest = "meta/disabled-test-example.cml"
}

fuchsia_component("failing-test-example") {
  deps = [ ":failing-test-example-bin" ]
  manifest = "meta/failing-test-example.cml"
}

fuchsia_component("get-tests-closes-channel-example") {
  deps = [ ":get-tests-closes-channel-example-bin" ]
  manifest = "meta/get-tests-closes-channel-example.cml"
}

fuchsia_component("get-tests-hangs-example") {
  deps = [ ":get-tests-hangs-example-bin" ]
  manifest = "meta/get-tests-hangs-example.cml"
}

fuchsia_component("huge-test-example") {
  deps = [ ":huge-test-example-bin" ]
  manifest = "meta/huge-test-example.cml"
}

fuchsia_component("incomplete-test-example") {
  deps = [ ":incomplete-test-example-bin" ]
  manifest = "meta/incomplete-test-example.cml"
}

fuchsia_component("invalid-test-example") {
  deps = [ ":invalid-test-example-bin" ]
  manifest = "meta/invalid-test-example.cml"
}

fuchsia_component("no-onfinished-after-test-example") {
  deps = [ ":no-onfinished-after-test-example-bin" ]
  manifest = "meta/no-onfinished-after-test-example.cml"
}

fuchsia_component("no-test-example") {
  deps = [ ":no-test-example-bin" ]
  manifest = "meta/no-test-example.cml"
}

fuchsia_component("passing-test-example") {
  deps = [ ":passing-test-example-bin" ]
  manifest = "meta/passing-test-example.cml"
}

fuchsia_component("test-with-stderr") {
  deps = [ ":test-with-stderr-bin" ]
  manifest = "meta/test-with-stderr.cml"
}

fuchsia_component("run-closes-channel-example") {
  deps = [ ":run-closes-channel-example-bin" ]
  manifest = "meta/run-closes-channel-example.cml"
}

fuchsia_component("run-hangs-example") {
  deps = [ ":run-hangs-example-bin" ]
  manifest = "meta/run-hangs-example.cml"
}

fuchsia_component("echo_test_client") {
  deps = [ ":echo_test_client_bin" ]
  manifest = "meta/echo_test_client.cml"
}

fuchsia_component("echo_test_realm") {
  manifest = "meta/echo_test_realm.cml"
}

rustc_binary("no_suite_service_bin") {
  testonly = true
  name = "no_suite_service"
  edition = "2021"
  source_root = "no_suite_service.rs"

  deps = [
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [ "no_suite_service.rs" ]
}

rustc_test("hanging_test_bin") {
  testonly = true
  name = "hanging_test"
  edition = "2021"
  source_root = "hanging_test.rs"

  sources = [ "hanging_test.rs" ]
}

rustc_test("noop_test_bin") {
  testonly = true
  name = "noop_test"
  edition = "2021"
  source_root = "noop_test.rs"

  sources = [ "noop_test.rs" ]
}

rustc_binary("echo_test_client_bin") {
  edition = "2021"
  source_root = "echo_test_client.rs"
  name = "echo_test_client"

  deps = [
    "//examples/components/routing/fidl:echo_rust",
    "//sdk/fidl/fuchsia.test:fuchsia.test_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [ "echo_test_client.rs" ]
}

fuchsia_component("no_suite_service") {
  testonly = true
  deps = [ ":no_suite_service_bin" ]
  manifest = "meta/no_suite_service.cml"
}

fuchsia_test_component("simple_chromium_realm_test") {
  deps = [ ":noop_test_bin" ]
  manifest = "meta/simple_chromium_realm_test.cml"
  test_type = "chromium"
}

fuchsia_component("check_build_info_chromium_realm_test") {
  testonly = true
  deps = [ ":noop_test_bin" ]
  manifest = "meta/check_build_info_chromium_realm_test.cml"
}

fuchsia_component("hanging_test") {
  testonly = true
  deps = [ ":hanging_test_bin" ]
  manifest = "meta/hanging_test.cml"
}

fuchsia_component("custom_artifact_realm_test") {
  testonly = true
  manifest = "meta/custom_artifact_realm_test.cml"
}

rustc_test("debug_data_test_bin") {
  edition = "2021"
  testonly = true
  name = "debug_data_test"
  source_root = "debug_data_test.rs"

  deps = [
    "//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata_rust",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
  ]

  sources = [ "debug_data_test.rs" ]
}

fuchsia_component("debug_data_test") {
  testonly = true
  manifest = "meta/debug_data_test.cml"
  deps = [ ":debug_data_test_bin" ]
}

fuchsia_test_package("debug-data-test") {
  test_components = [ ":debug_data_test" ]
}

rustc_test("debug_data_write_test_bin") {
  edition = "2021"
  testonly = true
  name = "debug_data_write_test"
  source_root = "debug_data_write_test.rs"

  deps = [
    "//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
  ]

  sources = [ "debug_data_write_test.rs" ]
}

fuchsia_component("debug_data_write_test") {
  testonly = true
  manifest = "meta/debug_data_write_test.cml"
  deps = [ ":debug_data_write_test_bin" ]
}

rustc_test("debug_data_spam_test_bin") {
  edition = "2021"
  testonly = true
  name = "debug_data_spam_test"
  source_root = "debug_data_spam_test.rs"

  deps = [
    "//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata_rust",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
  ]

  sources = [ "debug_data_spam_test.rs" ]
}

fuchsia_component("debug_data_spam_test") {
  testonly = true
  manifest = "meta/debug_data_spam_test.cml"
  deps = [ ":debug_data_spam_test_bin" ]
}

rustc_test("nonhermetic_capability_test_bin") {
  edition = "2021"
  testonly = true
  name = "nonhermetic_capability_test"
  source_root = "nonhermetic_capability_test.rs"

  deps = [
    "//sdk/fidl/fuchsia.hwinfo:fuchsia.hwinfo_rust",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
  ]

  sources = [ "nonhermetic_capability_test.rs" ]
}

fuchsia_component("nonhermetic_capability_test") {
  testonly = true
  manifest = "meta/nonhermetic_capability_test.cml"
  deps = [ ":nonhermetic_capability_test_bin" ]
}

rustc_test("data_storage_test_bin") {
  testonly = true
  name = "data_storage_test"
  edition = "2021"
  source_root = "data_storage_test.rs"

  deps = [ "//src/lib/fuchsia" ]

  sources = [ "data_storage_test.rs" ]
}

fuchsia_component("data_storage_test") {
  testonly = true
  manifest = "meta/data_storage_test.cml"
  deps = [ ":data_storage_test_bin" ]
}

group("test_data") {
  testonly = true
  public_deps = [
    ":custom_artifact_realm_test",
    ":data_storage_test",
    ":debug-data-test",
    ":debug_data_spam_test",
    ":debug_data_write_test",
    ":disabled-test-example",
    ":echo_test_client",
    ":echo_test_realm",
    ":failing-test-example",
    ":get-tests-closes-channel-example",
    ":get-tests-hangs-example",
    ":hanging_test",
    ":huge-test-example",
    ":incomplete-test-example",
    ":invalid-test-example",
    ":no-onfinished-after-test-example",
    ":no-test-example",
    ":no_suite_service",
    ":nonhermetic_capability_test",
    ":passing-test-example",
    ":run-closes-channel-example",
    ":run-hangs-example",
    ":simple_chromium_realm_test",
    ":test-with-stderr",
    "//examples/components/routing/rust/echo_server:echo_server_cmp",
    "//examples/tests/rust:custom_artifact_user_cmp",
  ]
}
