# 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:tests",
    "//garnet/examples/fidl/echo_server_cpp",
    "//garnet/examples/fidl/echo_server_cpp:echo_server_cpp_tests",
    "//sdk/lib/fidl/cpp:tests",
    "//src/lib/fidl:tests",
    "//src/lib/fidl_table_validation/fidl_table_validation_tests",
    "//third_party/go:fidl-tests",
    "//tools/fidl:tests",
    "//zircon/system/ulib/fidl-async-2/test",
    "//zircon/system/utest/fidl-compiler($host_toolchain)",
  ]
}

group("e2e_tests") {
  testonly = true
  deps = [
    "//src/tests/benchmarks/fidl:benchmarks",
    "//src/tests/fidl/compatibility",
    "//src/tests/fidl/dangerous_identifiers:tests",
    "//src/tests/fidl/dart_bindings_test",
    "//src/tests/fidl/fidl_go_conformance:tests",
    "//src/tests/fidl/fuzzer:tests",
    "//src/tests/fidl/source_compatibility: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",
  ]
}
