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

group("diagnostics") {
  deps = [
    "//src/lib/diagnostics/accessor2logger",
    "//src/lib/diagnostics/data",
    "//src/lib/diagnostics/hierarchy",
    "//src/lib/diagnostics/log",
    "//src/lib/diagnostics/reader",
    "//src/lib/diagnostics/selectors",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "//src/lib/diagnostics/accessor2logger/integration",
    "//src/lib/diagnostics/accessor2logger/tests",
    "//src/lib/diagnostics/data:tests",
    "//src/lib/diagnostics/hierarchy:tests",
    "//src/lib/diagnostics/inspect:tests",
    "//src/lib/diagnostics/log:tests",
    "//src/lib/diagnostics/reader:tests",
    "//src/lib/diagnostics/selectors:tests",
    "//src/lib/diagnostics/testing:tests",
  ]
}

group("benchmarks") {
  testonly = true
  deps = [
    "inspect:benchmarks",
    "log:benchmarks",
    "selectors:benchmarks",
  ]
}
