# 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.

group("uapp") {
  testonly = true
  deps = [
    "$zx/system/ulib/driver-info:driverinfo",
    "aslr-analysis",
    "audio",
    "audio-codec",
    "backlight",
    "banjo-dummy",
    "biotime",
    "blktest",
    "blobfs",
    "blobfs-load-generator",
    "channel-perf",
    "clock",
    "clock:clkctl",
    "crasher",
    "dd",
    "df",
    "disk-inspect",
    "disk-pave",
    "display-test",
    "dlog",
    "driverctl",
    "ethtool",
    "fs-fsck",
    "fs-mkfs",
    "fs-mount",
    "fs-umount",
    "fvm-check",
    "gfxfractal",
    "gfxtest",
    "goldfish-benchmark",
    "gpt",
    "hid",
    "hidsensor",
    "hidtouch",
    "i2c",
    "ihda",
    "iochk",
    "iotime",
    "kcounter",
    "kstress",
    "ktrace",
    "light",
    "loadgen",
    "lsblk",
    "lsdev",
    "lspwr",
    "lsusb",
    "lz4",
    "midiecho",
    "minfs",
    "mutex_pi_exerciser",
    "namespace",
    "nand-loader",
    "nand-util",
    "ping",
    "psutils",
    "rng-trials",
    "run-vc",
    "runtests",
    "serial-test",
    "spawn",
    "spiutil",
    "storage-metrics",
    "strerror",
    "suspendtest",
    "sysconfig",
    "system-version",
    "tee-test",
    "thermal-cli",
    "thread-depth",
    "thread-stress",
    "trace-benchmark",
    "trace-example",
    "unbind",
    "usb-fwloader",
    "usbctl",
    "waitfor",
    "watch",
    "xdc-test",
  ]
}
