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

group("tests") {
  testonly = true
  deps = [ ":package" ]
}

rustc_test("driver_development_test") {
  edition = "2021"
  testonly = true
  source_root = "test.rs"
  sources = [
    "test.rs",
    "test_utils.rs",
  ]
  deps = [
    "//sdk/fidl/fuchsia.driver.development:fuchsia.driver.development_rust",
    "//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_rust",
    "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_rust",
    "//sdk/lib/device-watcher/rust",
    "//sdk/lib/driver_test_realm/realm_builder/rust",
    "//src/devices/bind/fuchsia.platform:fuchsia.platform_rust",
    "//src/devices/bind/fuchsia.test:fuchsia.test_rust",
    "//src/devices/lib/bind:lib",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component-test",
    "//src/lib/zircon/rust:fuchsia-zircon-status",
    "//third_party/rust_crates:anyhow",
  ]
}

fuchsia_unittest_package("package") {
  package_name = "driver_development_test"
  deps = [
    ":driver_development_test",
    "//examples/drivers/driver_test_realm/sample-driver",
    "//src/devices/misc/drivers/test-parent",
  ]
}
