# 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/test.gni")
import("//zircon/system/ulib/devmgr-integration-test/isolated_devmgr.gni")

group("tests") {
  testonly = true
  deps = [ ":sysconfig-sync-client-test-package" ]
}

test("sysconfig-sync-client-test") {
  sources = [ "sync-client-test.cc" ]
  include_dirs = [ ".." ]
  deps = [
    "//sdk/fidl/fuchsia.hardware.nand:fuchsia.hardware.nand_c",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zxtest",
    "//zircon/system/ulib/async-default",
    "//zircon/system/ulib/inspector",
    "//zircon/system/ulib/ramdevice-client",
    "//zircon/system/ulib/sysconfig-client:sysconfig-sync-client",
    "//zircon/system/ulib/trace-engine",
  ]
}

isolated_devmgr_unittest_package("sysconfig-sync-client-test-package") {
  executable_path = "test/sysconfig-sync-client-test"
  package_name = "sysconfig-sync-client-test"
  deps = [
    ":sysconfig-sync-client-test",
    "//src/devices/board/drivers/integration-test",
    "//src/devices/bus/drivers/platform",
    "//src/devices/nand/drivers/nand",
    "//src/devices/nand/drivers/nandpart",
    "//src/devices/nand/drivers/ram-nand",
    "//src/devices/nand/drivers/skip-block",
    "//src/devices/tests/sysdev",
  ]
}
