# 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")

group("test") {
  testonly = true
  deps = [ ":launchpad" ]
}

test("launchpad") {
  output_name = "launchpad-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "launchpad.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
    "//zircon/system/ulib/elfload",
    "//zircon/system/ulib/launchpad",
    "//zircon/system/ulib/runtime",
  ]
}

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