# 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("utc-procargs") {
  if (is_fuchsia) {
    configs += [ "//build/unification/config:zircon-migrated" ]
  }
  if (is_fuchsia) {
    fdio_config = [ "//build/config/fuchsia:fdio_config" ]
    if (configs + fdio_config - fdio_config != configs) {
      configs -= fdio_config
    }
  }
  sources = [ "transfer-tests.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
  ]
}

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