| # 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. | 
 |  | 
 | import("//build/fidl/fidl.gni") | 
 | import("//build/test.gni") | 
 | import("//build/test/test_package.gni") | 
 | import("//build/testing/environments.gni") | 
 | import("//src/tests/fidl/conformance_suite/gidl-conformance-suite.gni") | 
 | import("//tools/fidl/gidl/gidl.gni") | 
 |  | 
 | gidl_deps = [] | 
 | foreach(gidl_file, conformance_suite_gidl_files) { | 
 |   gidl_name = get_path_info(gidl_file, "name") | 
 |   target = "conformance_suite__${gidl_name}" | 
 |   gidl_deps += [ ":" + target ] | 
 |   gidl_llcpp_conformance(target) { | 
 |     testonly = true | 
 |     inputs = [ gidl_file ] | 
 |     fidl = conformance_suite_fidl_target | 
 |     deps = [ "//third_party/googletest:gtest" ] | 
 |     if (is_fuchsia) { | 
 |       deps += [ "//sdk/lib/fidl/cpp:handle_util" ] | 
 |     } | 
 |   } | 
 | } | 
 |  | 
 | executable("fidl_llcpp_conformance_test_bin") { | 
 |   testonly = true | 
 |  | 
 |   output_name = "fidl_llcpp_conformance_test" | 
 |  | 
 |   sources = [ | 
 |     "manual_conformance_test.cc", | 
 |     "test_utils.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |            "//sdk/lib/fidl/cpp/test:fidl_test_llcpp", | 
 |            "//src/lib/fxl/test:gtest_main", | 
 |            "//src/tests/fidl/conformance_suite:conformance_fidl_llcpp", | 
 |            "//third_party/googletest:gtest", | 
 |            "//zircon/public/lib/fbl", | 
 |            "//zircon/system/ulib/async-loop:async-loop-cpp", | 
 |            "//zircon/system/ulib/async-loop:async-loop-default", | 
 |          ] + gidl_deps | 
 | } | 
 |  | 
 | test_package("fidl-llcpp-conformance-test") { | 
 |   deps = [ ":fidl_llcpp_conformance_test_bin" ] | 
 |  | 
 |   tests = [ | 
 |     { | 
 |       name = "fidl_llcpp_conformance_test" | 
 |       environments = basic_envs | 
 |     }, | 
 |   ] | 
 | } | 
 |  | 
 | test("fidl_llcpp_conformance_test") { | 
 |   output_name = "fidl_llcpp_conformance_host_test" | 
 |   sources = [ "test_utils.cc" ] | 
 |   deps = [ | 
 |     "//src/lib/fxl/test:gtest_main", | 
 |     "//src/tests/fidl/conformance_suite:conformance_fidl_llcpp", | 
 |     "//third_party/googletest:gtest", | 
 |     "//zircon/public/lib/fbl", | 
 |   ] | 
 | } | 
 |  | 
 | fidl("fidl.llcpp.types.test") { | 
 |   sources = [ "types.test.fidl" ] | 
 | } | 
 |  | 
 | fidl("fidl.llcpp.linearized.test") { | 
 |   sources = [ "linearized.test.fidl" ] | 
 | } | 
 |  | 
 | fidl("llcpptest.flexible.test") { | 
 |   sources = [ "flexible.test.fidl" ] | 
 | } | 
 |  | 
 | fidl("llcpptest.protocol.test") { | 
 |   sources = [ "protocol.test.fidl" ] | 
 |   public_deps = [ "//zircon/vdso/zx" ] | 
 | } | 
 |  | 
 | fidl("llcpptest.handles.test") { | 
 |   sources = [ "handles.test.fidl" ] | 
 |   public_deps = [ "//zircon/vdso/zx" ] | 
 | } | 
 |  | 
 | fidl("llcpptest.transitional.test") { | 
 |   sources = [ "transitional.test.fidl" ] | 
 | } | 
 |  | 
 | executable("fidl_llcpp_types_test_bin") { | 
 |   testonly = true | 
 |  | 
 |   output_name = "fidl_llcpp_types_test" | 
 |  | 
 |   sources = [ | 
 |     "bits_test.cc", | 
 |     "enum_test.cc", | 
 |     "flexible_test.cc", | 
 |     "handle_test.cc", | 
 |     "linearized_and_encoded_test.cc", | 
 |     "protocol_test.cc", | 
 |     "table_test.cc", | 
 |     "test_utils.cc", | 
 |     "traits_test.cc", | 
 |     "transitional_test.cc", | 
 |     "types_test_utils.cc", | 
 |     "xunion_test.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":fidl.llcpp.linearized.test_llcpp", | 
 |     ":fidl.llcpp.types.test_llcpp", | 
 |     ":llcpptest.flexible.test_llcpp", | 
 |     ":llcpptest.handles.test_llcpp", | 
 |     ":llcpptest.protocol.test_llcpp", | 
 |     ":llcpptest.transitional.test_llcpp", | 
 |     "//src/lib/fxl/test:gtest_main", | 
 |     "//third_party/googletest:gtest", | 
 |     "//zircon/public/lib/fbl", | 
 |     "//zircon/public/lib/fidl-llcpp", | 
 |     "//zircon/system/ulib/async-loop:async-loop-cpp", | 
 |     "//zircon/system/ulib/async-loop:async-loop-default", | 
 |     "//zircon/system/ulib/fidl-async:fidl-async-cpp", | 
 |   ] | 
 | } | 
 |  | 
 | package("fidl_llcpp_types_test") { | 
 |   testonly = true | 
 |  | 
 |   deps = [ ":fidl_llcpp_types_test_bin" ] | 
 |  | 
 |   meta = [ | 
 |     { | 
 |       path = "fidl_llcpp_types_test.cmx" | 
 |       dest = "fidl_llcpp_types_test.cmx" | 
 |     }, | 
 |   ] | 
 |  | 
 |   tests = [ | 
 |     { | 
 |       name = "fidl_llcpp_types_test" | 
 |       environments = basic_envs | 
 |     }, | 
 |   ] | 
 | } | 
 |  | 
 | executable("fidl_llcpp_builder_test_bin") { | 
 |   testonly = true | 
 |  | 
 |   output_name = "fidl_llcpp_builder_test" | 
 |  | 
 |   sources = [ | 
 |     "aligned_test.cc", | 
 |     "allocator_test.cc", | 
 |     "buffer_then_heap_allocator_test.cc", | 
 |     "failover_allocator_test.cc", | 
 |     "heap_allocator_test.cc", | 
 |     "memory_test.cc", | 
 |     "tracking_ptr_test.cc", | 
 |     "unowned_ptr_test.cc", | 
 |     "unsafe_buffer_allocator_test.cc", | 
 |     "vector_view_test.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "//src/lib/fxl/test:gtest_main", | 
 |     "//third_party/googletest:gtest", | 
 |     "//zircon/public/lib/fbl", | 
 |     "//zircon/public/lib/fidl", | 
 |     "//zircon/public/lib/fidl-llcpp", | 
 |   ] | 
 | } | 
 |  | 
 | package("fidl_llcpp_builder_test") { | 
 |   testonly = true | 
 |  | 
 |   deps = [ ":fidl_llcpp_builder_test_bin" ] | 
 |  | 
 |   meta = [ | 
 |     { | 
 |       path = "fidl_llcpp_builder_test.cmx" | 
 |       dest = "fidl_llcpp_builder_test.cmx" | 
 |     }, | 
 |   ] | 
 |  | 
 |   tests = [ | 
 |     { | 
 |       name = "fidl_llcpp_builder_test" | 
 |       environments = basic_envs | 
 |     }, | 
 |   ] | 
 | } | 
 |  | 
 | group("tests") { | 
 |   testonly = true | 
 |   public_deps = [ | 
 |     ":fidl-llcpp-conformance-test", | 
 |     ":fidl_llcpp_builder_test", | 
 |     ":fidl_llcpp_conformance_test($host_toolchain)", | 
 |     ":fidl_llcpp_types_test", | 
 |   ] | 
 | } |