# Copyright 2019 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("//src/lib/isolated_devmgr/isolated_devmgr.gni")
import("//src/sys/build/components.gni")

isolated_devmgr_component("audio-test-devmgr") {
  args = [
    "--svc_name=fuchsia.media.AudioTestDevmgr",
    "--load_driver=/boot/driver/virtual_audio_driver.so",
    "--wait_for=test/virtual_audio",
  ]
  deps = [
    "//src/devices/misc/drivers/test",
    "//src/devices/tests/sysdev",
    "//src/media/audio/drivers/virtual_audio:virtual_audio_driver",
  ]
}

fuchsia_package("audio-test-devmgr-package") {
  testonly = true
  package_name = "audio-test-devmgr"
  deps = [ ":audio-test-devmgr" ]
}

group("audio_test_devmgr") {
  testonly = true
  deps = [ ":audio-test-devmgr-package" ]
}
