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

# Note: Tests specified using `bootfs_test` are included via //bundles/bringup:tests and not this
# target.
group("tests") {
  testonly = true
  deps = [
    "events:tests",
    "handle-alias:tests",
    "kernel-clocks:tests",
    "kernel-cmdline:tests",
    "processor:tests",
    "property:tests",
    "register-state:tests",
    "status:tests",
    "thread-initial-state:tests",
    "vmo:tests",
  ]
}
