blob: 5367be17a3455617f28189f114ff790894e5cff3 [file] [log] [blame]
# Copyright 2014 The Chromium 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("../mojo_edk.gni")
import("//testing/test.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
config("system_config") {
defines = [
# Ensures that dependent projects import the core functions on Windows.
"MOJO_USE_SYSTEM_IMPL",
]
}
component("system") {
output_name = "mojo_system_impl"
sources = [
"async_waiter.cc",
"async_waiter.h",
"awakable.h",
"awakable_list.cc",
"awakable_list.h",
"channel.cc",
"channel.h",
"channel_endpoint.cc",
"channel_endpoint.h",
"channel_endpoint_client.h",
"channel_endpoint_id.cc",
"channel_endpoint_id.h",
"channel_id.h",
"channel_manager.cc",
"channel_manager.h",
"configuration.cc",
"configuration.h",
"connection_identifier.h",
"connection_manager.cc",
"connection_manager.h",
"connection_manager_messages.h",
"core.cc",
"core.h",
"data_pipe.cc",
"data_pipe.h",
"data_pipe_consumer_dispatcher.cc",
"data_pipe_consumer_dispatcher.h",
"data_pipe_impl.cc",
"data_pipe_impl.h",
"data_pipe_producer_dispatcher.cc",
"data_pipe_producer_dispatcher.h",
"dispatcher.cc",
"dispatcher.h",
"endpoint_relayer.cc",
"endpoint_relayer.h",
"handle_signals_state.h",
"handle_table.cc",
"handle_table.h",
"incoming_endpoint.cc",
"incoming_endpoint.h",
"ipc_support.cc",
"ipc_support.h",
"local_data_pipe_impl.cc",
"local_data_pipe_impl.h",
"local_message_pipe_endpoint.cc",
"local_message_pipe_endpoint.h",
"mapping_table.cc",
"mapping_table.h",
"master_connection_manager.cc",
"master_connection_manager.h",
"memory.cc",
"memory.h",
"message_in_transit.cc",
"message_in_transit.h",
"message_in_transit_queue.cc",
"message_in_transit_queue.h",
"message_pipe.cc",
"message_pipe.h",
"message_pipe_dispatcher.cc",
"message_pipe_dispatcher.h",
"message_pipe_endpoint.cc",
"message_pipe_endpoint.h",
"mutex.cc",
"mutex.h",
"options_validation.h",
"platform_handle_dispatcher.cc",
"platform_handle_dispatcher.h",
"process_identifier.h",
"proxy_message_pipe_endpoint.cc",
"proxy_message_pipe_endpoint.h",
"raw_channel.cc",
"raw_channel.h",
"raw_channel_posix.cc",
"raw_channel_win.cc",
"remote_consumer_data_pipe_impl.cc",
"remote_consumer_data_pipe_impl.h",
"remote_data_pipe_ack.h",
"remote_producer_data_pipe_impl.cc",
"remote_producer_data_pipe_impl.h",
"shared_buffer_dispatcher.cc",
"shared_buffer_dispatcher.h",
"simple_dispatcher.cc",
"simple_dispatcher.h",
"slave_connection_manager.cc",
"slave_connection_manager.h",
"thread_annotations.h",
"transport_data.cc",
"transport_data.h",
"unique_identifier.cc",
"unique_identifier.h",
"waiter.cc",
"waiter.h",
]
defines = [
"MOJO_SYSTEM_IMPL_IMPLEMENTATION",
"MOJO_SYSTEM_IMPLEMENTATION",
]
all_dependent_configs = [ ":system_config" ]
public_deps = [
"../embedder",
"../embedder:delegates",
"../embedder:platform",
"../../public/c/system",
"../../public/cpp/system",
]
deps = [
"//base",
"//base/third_party/dynamic_annotations",
]
allow_circular_includes_from = [ "../embedder" ]
}
group("tests") {
testonly = true
deps = [
":mojo_system_unittests",
":mojo_message_pipe_perftests",
]
}
mojo_edk_source_set("test_utils") {
testonly = true
sources = [
"test_utils.cc",
"test_utils.h",
]
mojo_sdk_public_deps = [
"mojo/public/c/system",
"mojo/public/cpp/system",
]
deps = [
"//base",
"//base/test:test_support",
]
}
test("mojo_system_unittests") {
sources = [
"../test/multiprocess_test_helper_unittest.cc",
"awakable_list_unittest.cc",
"channel_endpoint_id_unittest.cc",
"channel_endpoint_unittest.cc",
"channel_manager_unittest.cc",
"channel_test_base.cc",
"channel_test_base.h",
"channel_unittest.cc",
"connection_manager_unittest.cc",
"core_test_base.cc",
"core_test_base.h",
"core_unittest.cc",
"data_pipe_impl_unittest.cc",
"data_pipe_unittest.cc",
"dispatcher_unittest.cc",
"endpoint_relayer_unittest.cc",
"ipc_support_unittest.cc",
"memory_unittest.cc",
"message_in_transit_queue_unittest.cc",
"message_in_transit_test_utils.cc",
"message_in_transit_test_utils.h",
"message_pipe_dispatcher_unittest.cc",
"message_pipe_test_utils.cc",
"message_pipe_test_utils.h",
"message_pipe_unittest.cc",
"multiprocess_message_pipe_unittest.cc",
"mutex_unittest.cc",
"options_validation_unittest.cc",
"platform_handle_dispatcher_unittest.cc",
"raw_channel_unittest.cc",
"remote_data_pipe_impl_unittest.cc",
"remote_message_pipe_unittest.cc",
"run_all_unittests.cc",
"shared_buffer_dispatcher_unittest.cc",
"simple_dispatcher_unittest.cc",
"test_channel_endpoint_client.cc",
"test_channel_endpoint_client.h",
"test_utils_unittest.cc",
"thread_annotations_unittest.cc",
"unique_identifier_unittest.cc",
"waiter_test_utils.cc",
"waiter_test_utils.h",
"waiter_unittest.cc",
]
deps = [
":system",
":test_utils",
"../embedder:embedder_unittests",
"../test:test_support",
"//base",
"//base/test:test_support",
"//testing/gtest",
]
allow_circular_includes_from = [ "../embedder:embedder_unittests" ]
}
test("mojo_message_pipe_perftests") {
sources = [
"message_pipe_perftest.cc",
"message_pipe_test_utils.cc",
"message_pipe_test_utils.h",
]
deps = [
":system",
":test_utils",
"../test:test_support",
"//base",
"//base/test:test_support",
"//base/test:test_support_perf",
"//testing/gtest",
]
}