blob: 49e50bd073db4a712ee80734f6a354af04f30c51 [file] [log] [blame]
# 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/test.gni")
import("//build/testing/cc_test_executable.gni")
import("//sdk/ctf/build/ctf.gni")
import("//src/tests/fidl/conformance_suite/gidl-conformance-suite.gni")
import("//tools/fidl/gidl/gidl.gni")
gidl_output_prefix = "conformance_suite__"
gidl_deps = []
foreach(gidl_file, conformance_suite_gidl_files) {
gidl_name = get_path_info(gidl_file, "name")
target = "${gidl_output_prefix}${gidl_name}"
gidl_deps += [ ":" + target ]
gidl_hlcpp_conformance(target) {
testonly = true
inputs = [ gidl_file ]
fidl = conformance_suite_fidl_target
deps = [
":test_util",
"//zircon/system/ulib/zxtest",
]
if (is_fuchsia) {
deps += [ ":handle_util" ]
}
}
}
source_set("host_test_sources") {
testonly = true
sources = [
"bits_unittest.cc",
"bitset_unittest.cc",
"clone_unittest.cc",
"comparison_unittest.cc",
"defaults_unittest.cc",
"enum_unittest.cc",
"fidl_test.cc",
"roundtrip_test.cc",
"string_unittest.cc",
"table_unittest.cc",
"vector_unittest.cc",
"xunion_unittest.cc",
]
deps = [
":test_util",
"//sdk/testing/fidl:fidl_test_hlcpp",
"//zircon/system/ulib/zxtest",
]
}
source_set("test_sources") {
testonly = true
# TODO(jamesr): Make this an sdk source set
# sdk_name = "fidl_cpp_tests"
# include_base = "//sdk"
sources = [
"binding_set_unittest.cc",
"binding_unittest.cc",
"collision_unittest.cc",
"decode_handle_rights_test.cc",
"encode_decode_unittest.cc",
"event_sender_unittest.cc",
"handle_close_many_unittest.cc",
"interface_handle_unittest.cc",
"interface_ptr_set_unittest.cc",
"interface_ptr_unittest.cc",
"interface_request_unittest.cc",
"message_reader_unittest.cc",
"message_unittest.cc",
"proxy_controller_unittest.cc",
"stub_controller_unittest.cc",
"synchronous_interface_ptr_unittest.cc",
"unknown_interactions_test.cc",
"wire_format_v2_decode_test.cc",
]
deps = [
":test_util",
":union_migration_test_fidl_hlcpp",
"//sdk/lib/async:async-cpp",
"//sdk/lib/async-loop",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/lib/fit-promise",
"//sdk/testing/fidl:collision_test_hlcpp",
"//sdk/testing/fidl:fidl_test_handles_hlcpp",
"//sdk/testing/fidl:fidl_test_hlcpp",
"//sdk/testing/fidl:test",
"//sdk/testing/fidl:test_support",
"//sdk/testing/fidl/protocols_tests:test.unknown.interactions_hlcpp",
"//zircon/system/ulib/zxtest",
]
public_configs = [ "//sdk/config" ]
}
cc_test_executable("fidl-hlcpp-conformance-tests_bin") {
visibility = [ ":*" ]
testonly = true
output_name = "fidl-hlcpp-conformance-tests"
# TODO(75000): Add GIDL to the CTS archive.
deps = gidl_deps + [
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/testing/fidl:test",
"//sdk/testing/fidl:test_support",
"//zircon/system/ulib/zxtest",
]
}
fuchsia_component("fidl-hlcpp-conformance-tests-component") {
testonly = true
component_name = "fidl-hlcpp-conformance-tests"
manifest = "meta/fidl-hlcpp-conformance-tests.cml"
visibility = [ ":*" ]
deps = [ ":fidl-hlcpp-conformance-tests_bin" ]
}
cc_test_executable("fidl-hlcpp-unit-tests_bin") {
visibility = [ ":*" ]
testonly = true
output_name = "fidl-hlcpp-unit-tests"
deps = [
":host_test_sources",
":test_sources",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/testing/fidl:test",
"//sdk/testing/fidl:test_support",
"//zircon/system/ulib/zxtest",
]
}
fuchsia_component("fidl-hlcpp-unit-tests-component") {
testonly = true
component_name = "fidl-hlcpp-unit-tests"
manifest = "meta/fidl-hlcpp-unit-tests.cml"
testonly = true
visibility = [ ":*" ]
deps = [ ":fidl-hlcpp-unit-tests_bin" ]
}
ctf_fuchsia_package("fidl-hlcpp-unit-tests") {
testonly = true
package_name = "fidl-hlcpp-unit-tests"
deps = [ ":fidl-hlcpp-unit-tests-component" ]
}
ctf_fuchsia_package("fidl-hlcpp-conformance-tests") {
testonly = true
package_name = "fidl-hlcpp-conformance-tests"
deps = [ ":fidl-hlcpp-conformance-tests-component" ]
}
fuchsia_test_component("fidl-hlcpp-conformance-tests-root") {
manifest = "meta/fidl-hlcpp-conformance-tests-root.cml"
test_type = "ctf"
}
fuchsia_test_component("fidl-hlcpp-unit-tests-root") {
manifest = "meta/fidl-hlcpp-unit-tests-root.cml"
test_type = "ctf"
}
fuchsia_test_package("fidl-hlcpp-unit-tests-latest") {
test_components = [ ":fidl-hlcpp-unit-tests-root" ]
subpackages = [ ":fidl-hlcpp-unit-tests" ]
}
fuchsia_test_package("fidl-hlcpp-conformance-tests-latest") {
test_components = [ ":fidl-hlcpp-conformance-tests-root" ]
subpackages = [ ":fidl-hlcpp-conformance-tests" ]
}
if (is_host) {
# TODO(johnshamoon): Add cts_test() and do this in the template.
test("fidl-hlcpp-unit-tests-host") {
output_name = "fidl-hlcpp-unit-tests"
deps = [
":host_test_sources",
"//zircon/system/ulib/zxtest",
]
}
test("fidl-hlcpp-conformance-tests-host") {
output_name = "fidl-hlcpp-conformance-tests"
deps = [ "//zircon/system/ulib/zxtest" ] + gidl_deps
}
}
fidl("union_migration_test_fidl") {
testonly = true
name = "fidl.test.unionmigration"
sources = [ "union_migration.test.fidl" ]
excluded_checks = [ "invalid-copyright-for-platform-source-library" ]
enable_hlcpp = true
}
source_set("test_util") {
testonly = true
sources = [ "test/test_util.h" ]
public_configs = [ "//sdk/config" ]
public_deps = [ "//sdk/lib/fidl/hlcpp:hlcpp_base" ]
}
source_set("handle_util") {
testonly = true
sources = [
"test/handle_util.cc",
"test/handle_util.h",
]
public_configs = [ "//sdk/config" ]
public_deps = [ "//zircon/system/ulib/zx" ]
}
group("tests") {
testonly = true
deps = [
":fidl-hlcpp-conformance-tests-host($host_toolchain)",
":fidl-hlcpp-conformance-tests-latest",
":fidl-hlcpp-unit-tests-host($host_toolchain)",
":fidl-hlcpp-unit-tests-latest",
# CTF release archives
":fidl-hlcpp-conformance-tests_archive",
":fidl-hlcpp-unit-tests_archive",
]
}