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

test("miscsvc") {
  output_name = "miscsvc-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "main.cc" ]
  deps = [
    "//sdk/fidl/fuchsia.paver:fuchsia.paver_llcpp",
    "//sdk/lib/fdio",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
  ]

  # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
  # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
  # See linked bug for details.
  configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}

bootfs_test("miscsvc-bootfs-test") {
  name = "miscsvc-test"
  deps = [ ":miscsvc" ]
}
