# 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_library.gni")

rustc_library("task-exceptions") {
  version = "0.1.0"
  edition = "2021"
  with_unit_tests = true

  deps = [
    "//src/lib/fuchsia-async",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:futures",
  ]
  test_deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.process:fuchsia.process_rust",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-fs",
    "//src/lib/fuchsia-runtime",
    "//src/sys/lib/library_loader",
    "//third_party/rust_crates:anyhow",
  ]

  sources = [ "src/lib.rs" ]
}

fuchsia_component("task-exceptions-cmp") {
  testonly = true
  deps = [ ":task-exceptions_test" ]
  component_name = "task-exceptions-tests"
  manifest = "meta/task-exceptions-tests.cml"
}

fuchsia_test_package("task-exceptions-tests") {
  test_components = [ ":task-exceptions-cmp" ]
  deps = [ "//src/sys/component_manager/tests/crash_introspect:panic_on_start" ]
}

group("tests") {
  testonly = true
  deps = [ ":task-exceptions-tests" ]
}
