# Copyright 2022 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("settings") {
  testonly = true
  deps = [
    ":tests",
    "config",
    "inspect_utils",
    "service",
    "storage",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "config:tests",
    "inspect_utils:tests",
    "service:tests",
    "storage:tests",
  ]
}
