|  | # 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", | 
|  | ] | 
|  | } |