| # 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("//testing/test.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| component("tracing") { |
| sources = [ |
| "child/child_trace_message_filter.cc", |
| "child/child_trace_message_filter.h", |
| "common/graphics_memory_dump_provider_android.cc", |
| "common/graphics_memory_dump_provider_android.h", |
| "common/tracing_messages.cc", |
| "common/tracing_messages.h", |
| "core/proto_utils.cc", |
| "core/proto_utils.h", |
| "core/proto_zero_message.cc", |
| "core/proto_zero_message.h", |
| "core/proto_zero_message_handle.cc", |
| "core/proto_zero_message_handle.h", |
| "core/scattered_stream_writer.cc", |
| "core/scattered_stream_writer.h", |
| "core/trace_buffer_writer.cc", |
| "core/trace_buffer_writer.h", |
| "core/trace_ring_buffer.cc", |
| "core/trace_ring_buffer.h", |
| "tracing_export.h", |
| ] |
| |
| defines = [ "TRACING_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| "//ipc", |
| ] |
| |
| public_deps = [ |
| "//components/tracing/proto:protos", |
| ] |
| } |
| |
| component("startup_tracing") { |
| sources = [ |
| "common/trace_config_file.cc", |
| "common/trace_config_file.h", |
| "common/trace_startup.cc", |
| "common/trace_startup.h", |
| "common/trace_to_console.cc", |
| "common/trace_to_console.h", |
| "common/tracing_switches.cc", |
| "common/tracing_switches.h", |
| "tracing_export.h", |
| ] |
| |
| defines = [ "TRACING_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| ] |
| } |
| |
| # For unit testing of generated stubs. |
| proto_library("proto_zero_testing_messages") { |
| visibility = [ "//components/tracing/*" ] |
| |
| sources = [ |
| "test/example_proto/library.proto", |
| "test/example_proto/library_internals/galaxies.proto", |
| "test/example_proto/test_messages.proto", |
| "test/example_proto/upper_import.proto", |
| ] |
| |
| proto_in_dir = "test/example_proto" |
| |
| generator_plugin_label = "tools/proto_zero_plugin:proto_zero_plugin" |
| generator_plugin_suffix = ".pbzero" |
| generator_plugin_options = "wrapper_namespace=pbzero" |
| generate_cc = true |
| generate_python = false |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "child/child_trace_message_filter_unittest.cc", |
| "common/graphics_memory_dump_provider_android_unittest.cc", |
| "core/proto_utils_unittest.cc", |
| "core/proto_zero_message_unittest.cc", |
| "core/scattered_stream_writer_unittest.cc", |
| "core/trace_buffer_writer_unittest.cc", |
| "core/trace_ring_buffer_unittest.cc", |
| "test/fake_scattered_buffer.cc", |
| "test/fake_scattered_buffer.h", |
| "test/proto_zero_generation_unittest.cc", |
| ] |
| |
| deps = [ |
| ":proto_zero_testing_messages", |
| ":tracing", |
| "//base/test:test_support", |
| "//components/tracing/proto:golden_protos_for_tests", |
| "//ipc", |
| "//testing/gmock:gmock", |
| "//testing/gtest", |
| ] |
| |
| if (!is_android) { |
| sources += [ "common/trace_config_file_unittest.cc" ] |
| deps += [ ":startup_tracing" ] |
| } |
| } |
| |
| test("tracing_perftests") { |
| sources = [ |
| "test/heap_profiler_perftest.cc", |
| "test/perf_test_helpers.cc", |
| "test/perf_test_helpers.h", |
| "test/trace_event_perftest.cc", |
| ] |
| deps = [ |
| "//base:base", |
| "//base/test:test_support", |
| "//base/test:test_support_perf", |
| "//testing/gtest", |
| "//testing/perf", |
| ] |
| |
| data = [ |
| # Needed for isolate script to execute. |
| "//testing/scripts/common.py", |
| "//testing/xvfb.py", |
| "//testing/scripts/run_gtest_perf_test.py", |
| "//tools/perf/generate_legacy_perf_dashboard_json.py", |
| ] |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } |
| } |