# 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",
    "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",
    "namespace",
    "nand-loader",
    "nand-util",
    "netdump",
    "ping",
    "psutils",
    "rng-trials",
    "run-vc",
    "runtests",
    "serial-test",
    "spawn",
    "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",
  ]
}
