# 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("diagnostics") {
  testonly = true
  deps = [
    ":tests",
    "archivist",
    "config",
    "kcounter",
    "log-stats",
    "sampler",
    "wasm",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "archivist:tests",
    "config:tests",
    "detect:tests",
    "iquery:tests",
    "kcounter:tests",
    "lib:tests",
    "log-stats:tests",
    "persistence:tests",
    "sampler:tests",
    "tool:host_tests",
    "triage:tests",
    "validator:tests",
    "wasm:tests",

    # This is included to make sure changes to fuchsia_async (or elsewhere)
    # don't break the WASM build.
    "//src/diagnostics/lib/triage/wasm:wasm",

    # "transit_bench",
  ]
}
