[go: nahoru, domu]

blob: 76c46c26f57dc8e8f308781f54ae63af2f769a3a [file] [log] [blame]
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/features.gni")
import("//mojo/public/tools/bindings/mojom.gni")
source_set("tests") {
testonly = true
sources = [
"associated_interface_unittest.cc",
"bind_task_runner_unittest.cc",
"binder_map_unittest.cc",
"bindings_test_base.cc",
"bindings_test_base.h",
"callback_helpers_unittest.cc",
"connection_group_unittest.cc",
"connector_unittest.cc",
"constant_unittest.cc",
"container_test_util.cc",
"container_test_util.h",
"data_view_unittest.cc",
"default_construct_unittest.cc",
"direct_receiver_unittest.cc",
"enum_default_unittest.cc",
"enum_headers_unittest.cc",
"equals_unittest.cc",
"extra_cpp_template_unittest.cc",
"flush_async_unittest.cc",
"handle_passing_unittest.cc",
"hash_unittest.cc",
"idle_tracking_unittest.cc",
"interface_unittest.cc",
"lazy_serialization_unittest.cc",
"map_unittest.cc",
"message_queue.cc",
"message_queue.h",
"message_unittest.cc",
"multiplex_router_unittest.cc",
"native_struct_unittest.cc",
"new_endpoint_types_unittest.cc",
"nullable_numerics_and_enums_unittest.cc",
"receiver_callback_unittest.cc",
"receiver_set_unittest.cc",
"receiver_unittest.cc",
"remote_unittest.cc",
"report_bad_message_unittest.cc",
"request_response_unittest.cc",
"router_test_util.cc",
"router_test_util.h",
"sample_service_unittest.cc",
"serialization_warning_unittest.cc",
"service_factory_unittest.cc",
"struct_headers_unittest.cc",
"struct_unittest.cc",
"sync_handle_registry_unittest.cc",
"sync_method_unittest.cc",
"test_helpers_unittest.cc",
"type_conversion_unittest.cc",
"union_unittest.cc",
"validation_context_unittest.cc",
"validation_unittest.cc",
"variant_test_util.h",
]
deps = [
":mojo_public_bindings_test_utils",
":test_extra_cpp_template_mojom",
":test_mojom",
":test_mojom__generate_message_ids",
":test_mojom_cpp_only",
"//base/test:test_support",
"//build:blink_buildflags",
"//mojo/core/test:test_support",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//mojo/public/cpp/test_support:test_utils",
"//mojo/public/interfaces/bindings/tests:other_test_interfaces",
"//mojo/public/interfaces/bindings/tests:test_associated_interfaces",
"//mojo/public/interfaces/bindings/tests:test_export_component",
"//mojo/public/interfaces/bindings/tests:test_export_component2",
"//mojo/public/interfaces/bindings/tests:test_exported_import",
"//mojo/public/interfaces/bindings/tests:test_interfaces",
"//mojo/public/interfaces/bindings/tests:test_struct_traits_interfaces",
"//testing/gtest",
"//third_party/ipcz/src:ipcz_test_support_chromium",
]
if (is_ios) {
deps += [
"//mojo/public/interfaces/bindings/tests:validation_unittest_bundle_data",
]
} else {
data = [ "//mojo/public/interfaces/bindings/tests/data/validation/" ]
}
if (!use_blink) {
assert_no_deps = [ "//third_party/blink/*" ]
} else {
sources += [
"pickle_unittest.cc",
"struct_traits_unittest.cc",
]
deps += [
"//mojo/public/cpp/bindings/tests:struct_with_traits_impl",
"//mojo/public/interfaces/bindings/tests:test_interfaces_blink",
]
}
}
if (use_blink) {
source_set("for_blink_tests") {
testonly = true
sources = [
"container_test_util.cc",
"container_test_util.h",
"variant_test_util.h",
"wtf_hash_unittest.cc",
"wtf_map_unittest.cc",
"wtf_types_unittest.cc",
]
deps = [
"//base/test:test_support",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//mojo/public/interfaces/bindings/tests:test_export_blink_component",
"//mojo/public/interfaces/bindings/tests:test_exported_import_blink",
"//mojo/public/interfaces/bindings/tests:test_interfaces",
"//mojo/public/interfaces/bindings/tests:test_interfaces_blink",
"//mojo/public/interfaces/bindings/tests:test_wtf_types",
"//mojo/public/interfaces/bindings/tests:test_wtf_types_blink",
"//testing/gtest",
]
}
}
source_set("struct_with_traits_impl") {
sources = [
"struct_with_traits_impl.cc",
"struct_with_traits_impl.h",
]
deps = [
"//base",
"//mojo/public/cpp/system:system",
]
}
mojom("test_extra_cpp_template_mojom") {
testonly = true
sources = [ "extra_cpp_template_unittest.test-mojom" ]
extra_cpp_template_paths = [ "extra_cpp_template_unittest.h.tmpl" ]
public_deps = [ "//mojo/public/mojom/base" ]
}
mojom("test_mojom") {
testonly = true
sources = [
"binder_map_unittest.test-mojom",
"connection_group_unittest.test-mojom",
"default_construct_unittest.test-mojom",
"direct_receiver_unittest.test-mojom",
"enum_default_unittest.test-mojom",
"enum_headers_unittest.test-mojom",
"flush_async_unittest.test-mojom",
"idle_tracking_unittest.test-mojom",
"interface_unittest.test-mojom",
"receiver_unittest.test-mojom",
"remote_unittest.test-mojom",
"service_factory_unittest.test-mojom",
"struct_headers_unittest.test-mojom",
"sync_method_unittest.test-mojom",
"union_unittest.test-mojom",
]
public_deps = [
# NOTE: This is a kind of test in itself, to verify that mojom() rules can
# operate on generated mojom files and produce compilable outputs.
":generated_test_mojom",
"//mojo/public/mojom/base",
]
support_lazy_serialization = true
cpp_typemaps = [
{
types = [
{
mojom = "mojo.test.default_construct.mojom.TestStruct"
cpp = "::mojo::test::default_construct::TestStruct"
default_constructible = false
},
]
traits_headers = [ "default_construct_unittest_mojom_traits.h" ]
},
]
}
# Temporarily in a separate target since (partial) nullable support for numerics
# and enums is only implemented for C++ bindings.
mojom("test_mojom_cpp_only") {
testonly = true
cpp_only = true
sources = [ "nullable_numerics_and_enums_unittest.test-mojom" ]
cpp_typemaps = [
{
types = [
{
mojom = "mojo.test.nullable_numerics_and_enums_unittest.mojom.TypemappedEnum"
cpp = "::mojo::test::nullable_numerics_and_enums_unittest::TypemappedEnum"
},
]
traits_headers = [ "nullable_numerics_and_enums_unittest_mojom_traits.h" ]
},
]
}
source_set("perftests") {
testonly = true
sources = [ "bindings_perftest.cc" ]
if (!is_ios) {
sources += [ "e2e_perftest.cc" ]
}
deps = [
"//base/test:test_support",
"//mojo/core/embedder",
"//mojo/core/test:test_support",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//mojo/public/cpp/test_support:test_utils",
"//mojo/public/interfaces/bindings/tests:test_interfaces",
"//testing/gtest",
]
}
source_set("mojo_public_bindings_test_utils") {
sources = [
"validation_test_input_parser.cc",
"validation_test_input_parser.h",
]
deps = [
"//base",
"//mojo/public/c/system",
]
}
action("generate_test_mojom") {
script = "generate_test_mojom.py"
outputs = [ "$target_gen_dir/generated.test-mojom" ]
args = [ rebase_path("$target_gen_dir/generated.test-mojom", root_build_dir) ]
}
mojom("generated_test_mojom") {
testonly = true
sources = [ "$target_gen_dir/generated.test-mojom" ]
parser_deps = [ ":generate_test_mojom" ]
}