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

  deps = [
    ":tools",
    "//build/fidl:tests",
    "//examples/fidl:hermetic_tests",
    "//examples/fidl:host_tests($host_toolchain)",
    "//sdk/ctf/tests/pkg/fidl/cpp:tests",
    "//sdk/lib/fidl/cpp/fuzzing:tests",
    "//sdk/lib/fidl/cpp/wire:wire_sdk",
    "//sdk/lib/fidl_driver/tests",
    "//src/lib/fidl:tests",
    "//src/lib/fidl_table_validation/fidl_table_validation_tests",
    "//src/tests/fidl/dynsuite/channel_util:tests",
    "//src/tests/fidl/dynsuite/client_suite",
    "//src/tests/fidl/dynsuite/server_suite",
    "//src/tests/fidl/go_bindings_test",
    "//third_party/go:fidl-tests",
    "//tools/fidl:tests",
  ]
}

group("e2e_tests") {
  testonly = true
  deps = [
    "//src/tests/benchmarks/fidl:tests",
    "//src/tests/fidl/compatibility",
    "//src/tests/fidl/dangerous_identifiers:tests",
    "//src/tests/fidl/fidl_go_conformance:tests",
    "//src/tests/fidl/fuzzer:tests",
  ]
}

group("tests") {
  testonly = true
  deps = [
    ":e2e_tests",
    ":tests_no_e2e",
  ]
}

group("tools") {
  deps = [
    "//src/tests/benchmarks/fidl/benchmark_suite/gen:host",
    "//tools/fidl/fidldoc",
    "//tools/fidl/platform-ir:generate-platform-ir",
    "//tools/fidl/runtime-compat:generate-reports",
  ]
}
