# Copyright 2023 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/bind/bind.gni")
import("//build/components.gni")
import("//build/drivers.gni")
import("//build/test.gni")

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

rustc_test("multibind-composite-test") {
  edition = "2021"
  testonly = true
  source_root = "test.rs"
  sources = [ "test.rs" ]
  deps = [
    "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_rust",
    "//sdk/lib/device-watcher/rust",
    "//sdk/lib/driver_test_realm/realm_builder/rust",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component-test",
    "//third_party/rust_crates:anyhow",
  ]
}

fuchsia_unittest_package("pkg") {
  package_name = "multibind-composite-test"
  deps = [
    ":multibind-composite-test",
    "drivers:root",
    "drivers:spec-composite-1",
    "drivers:spec-composite-2",
    "//src/devices/misc/drivers/test-parent",
  ]
}
