# 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

import("//build/components.gni")

fuchsia_unittest_component("coding_tables_tests") {
  deps = [ "coding_tables_tests:bin" ]
  deprecated_legacy_test_execution = true
}

fuchsia_unittest_component("llcpp_interop_tests") {
  deps = [ "llcpp_interop_tests:bin" ]
  deprecated_legacy_test_execution = true
}

fuchsia_unittest_component("simple_tests") {
  deps = [ "simple_tests:bin" ]
  deprecated_legacy_test_execution = true
}

fuchsia_test_package("fidl_c_tests") {
  test_components = [
    ":coding_tables_tests",
    ":llcpp_interop_tests",
    ":simple_tests",
  ]
}

group("tests") {
  testonly = true

  deps = [
    ":fidl_c_tests",
    "walker_tests:fidl-c-conformance-host-tests($host_toolchain)",
    "walker_tests:fidl-c-conformance-tests",
    "walker_tests:fidl-handle-closing-tests",
    "walker_tests:fidl-walker-host-tests($host_toolchain)",
    "walker_tests:fidl-walker-tests",
  ]
}
