# 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")
import("//build/rust/rustc_test.gni")

rustc_test("tests_bin") {
  edition = "2021"
  source_root = "main.rs"
  name = "inspect_runner_integration_test"

  deps = [
    "//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
    "//src/lib/diagnostics/data/rust",
    "//src/lib/diagnostics/testing/fake-archive-accessor",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-component-test",
    "//src/sys/test_manager:test_lib",
    "//src/sys/test_runners:test_lib",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:paste",
    "//third_party/rust_crates:pretty_assertions",
    "//third_party/rust_crates:serde_json",
  ]

  sources = [ "main.rs" ]
}

fuchsia_test_component("inspect_runner_integration_test") {
  manifest = "meta/inspect_runner_integration_test.cml"
  deps = [ ":tests_bin" ]
  test_type = "test_arch"
}

fuchsia_test_package("inspect-runner-integration-test") {
  test_components = [ ":inspect_runner_integration_test" ]
  deps = [
    "//src/sys/test_runners/inspect/test_data/example-tests:archive-example",
    "//src/sys/test_runners/inspect/test_data/example-tests:feedback-example",
    "//src/sys/test_runners/inspect/test_data/example-tests:legacy-example",
    "//src/sys/test_runners/inspect/test_data/malformed-tests:invalid-case",
    "//src/sys/test_runners/inspect/test_data/malformed-tests:invalid-evaluation",
    "//src/sys/test_runners/inspect/test_data/malformed-tests:missing-program",
    "//src/sys/test_runners/inspect/test_data/malformed-tests:unknown-pipeline",
    "//src/sys/test_runners/inspect/test_data/sample-inspect-tests:sample-component",
  ]
  subpackages = [ "//src/sys/test_manager:pkg" ]
}

group("tests") {
  testonly = true
  deps = [
    ":inspect-runner-integration-test",
    "../test_data",
  ]
}
