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

test("devcoordinator-namespace") {
  output_name = "devcoordinator-namespace-test"
  if (is_fuchsia) {
    fdio_config = [ "//build/config/fuchsia:fdio_config" ]
    if (configs + fdio_config - fdio_config != configs) {
      configs -= fdio_config
    }
  }
  sources = [ "namespace_test.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/system/ulib/zxtest",
  ]
}

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