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

  # WARNING: Only tests that are NOT end to end (E2E) product tests must be
  # added to this target.
  #
  # E2E tests, by contrast, must be added directly to the product they test, so
  # that they get executed only against their product, and not others.
  #
  # Cf. //products/terminal.gni for an example of the screen_is_not_black test.
  deps = [
    "disable_shell:tests",
    "disable_syscalls:tests",

    # fidlcat is an e2e test for all products.
    "end_to_end/fidlcat:tests",
    "end_to_end/harvester:tests",
    "end_to_end/inspect_metrics:test",
    "end_to_end/perf:tests",
    "end_to_end/snapshot:tests",
    "end_to_end/time_sync:test",
    "femu:tests",
    "intl:tests",
    "kernel_crashlog:tests",
    "kernel_lockup_detector:tests",
    "kernel_panic:tests",
    "limited_netsvc:tests",
    "microbenchmarks:tests",
    "oom:tests",
    "reboot:tests",
    "shutdown:tests",
  ]
}
