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

test("stdio-test") {
  sources = [
    "stdio.c",
    "util.c",
  ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/system/ulib/elfload",
    "//zircon/system/ulib/runtime",
    "//zircon/system/ulib/test-utils",
    "//zircon/system/ulib/zxtest",
  ]
}

executable("stdio-test-util") {
  sources = [ "test-util.cc" ]
  deps = [ "//sdk/lib/fdio" ]
}

fuchsia_unittest_package("stdio-test-package") {
  package_name = "stdio-test"
  deps = [
    ":stdio-test",
    ":stdio-test-util",
  ]
  manifest = "stdio-test.cml"
}
