# 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("drivers") {
  testonly = true
  deps = [
    ":prod_drivers",
    ":tests",
    "test_utils",
  ]
}

group("prod_drivers") {
  deps = [
    "bus",
    "controller/sherlock",
    "hw_accel",
    "sensors",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "bus:tests",
    "controller:tests",
    "hw_accel:tests",
    "sensors:tests",
    "test_utils:tests",
  ]
}

group("sherlock") {
  deps = [
    "bus",
    "controller/sherlock",
    "hw_accel",
    "sensors",
  ]
}
