# 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("tools") {
  testonly = true

  public_deps = [
    "//tools/debug/bloatalyzer",
    "//tools/debug/covargs",
    "//tools/debug/generate_breakpad",
    "//tools/debug/sourcerer",
    "//tools/debug/symbolize",
  ]
}

group("tests") {
  testonly = true

  deps = [
    "//tools/debug/bloaty:bloaty_tests",
    "//tools/debug/breakpad:breakpad_tests",
    "//tools/debug/covargs:tests",
    "//tools/debug/debugsyms:tests($host_toolchain)",
    "//tools/debug/elflib:elflib_tests($host_toolchain)",
    "//tools/debug/generate_breakpad:tests($host_toolchain)",
    "//tools/debug/symbolize:symbolize_tests($host_toolchain)",
  ]
}
