blob: 13c96a068bc540fe6e4bb0f40f3cfd050717afab [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("//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" ]
}
}