# 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("channel-fatal") {
  output_name = "channel-fatal-test"
  if (is_fuchsia) {
    fdio_config = [ "//build/config/fuchsia:fdio_config" ]
    if (configs + fdio_config - fdio_config != configs) {
      configs -= fdio_config
    }
  }
  sources = [ "channel-fatal-test.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/system/ulib/test-utils",
    "//zircon/system/ulib/vdso-code-header",
    "//zircon/system/ulib/zxtest",
  ]
}

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