blob: e8125b8410aa0f3cf2afffbc69fabb8a1e5bdf39 [file] [log] [blame]
# Copyright 2018 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/host_test_data.gni")
static_library("client") {
friend = [
":tests",
":test_support",
]
public = [
"analytics.h",
"analytics_event.h",
"analytics_reporter.h",
"arch_info.h",
"breakpoint.h",
"breakpoint_location.h",
"breakpoint_observer.h",
"breakpoint_settings.h",
"call_function_thread_controller.h",
"client_eval_context_impl.h",
"client_object.h",
"component_observer.h",
"disassembler.h",
"elf_memory_region.h",
"exception_settings.h",
"execution_scope.h",
"file_memory_region.h",
"filter.h",
"finish_physical_frame_thread_controller.h",
"finish_thread_controller.h",
"frame.h",
"frame_fingerprint.h",
"function_return_info.h",
"map_setting_store.h",
"memory_dump.h",
"pretty_stack_manager.h",
"process.h",
"process_observer.h",
"process_symbol_data_provider.h",
"remote_api.h",
"session.h",
"session_observer.h",
"setting_schema.h",
"setting_schema_definition.h",
"setting_store.h",
"setting_store_observer.h",
"setting_value.h",
"source_file_provider_impl.h",
"stack.h",
"step_into_specific_thread_controller.h",
"step_into_thread_controller.h",
"step_mode.h",
"step_over_thread_controller.h",
"step_thread_controller.h",
"step_through_plt_thread_controller.h",
"stop_info.h",
"substatement.h",
"system.h",
"system_observer.h",
"target.h",
"target_impl.h",
"target_observer.h",
"thread.h",
"thread_controller.h",
"thread_observer.h",
"until_thread_controller.h",
]
sources = [
"analytics.cc",
"analytics_event.cc",
"analytics_reporter.cc",
"arch_info.cc",
"breakpoint.cc",
"breakpoint_action.cc",
"breakpoint_impl.cc",
"breakpoint_impl.h",
"breakpoint_location.cc",
"breakpoint_location_impl.cc",
"breakpoint_location_impl.h",
"breakpoint_settings.cc",
"call_function_thread_controller.cc",
"call_function_thread_controller_arm64.cc",
"call_function_thread_controller_arm64.h",
"call_function_thread_controller_x64.cc",
"call_function_thread_controller_x64.h",
"call_site_symbol_data_provider.cc",
"call_site_symbol_data_provider.h",
"client_eval_context_impl.cc",
"client_object.cc",
"disassembler.cc",
"download_manager.cc",
"download_manager.h",
"elf_memory_region.cc",
"exception_settings.cc",
"exception_settings.h",
"execution_scope.cc",
"file_memory_region.cc",
"filter.cc",
"finish_physical_frame_thread_controller.cc",
"finish_thread_controller.cc",
"frame.cc",
"frame_fingerprint.cc",
"frame_impl.cc",
"frame_impl.h",
"frame_symbol_data_provider.cc",
"frame_symbol_data_provider.h",
"function_return_info.cc",
"function_step.cc",
"function_step.h",
"function_thread_controller.cc",
"function_thread_controller.h",
"map_setting_store.cc",
"memory_dump.cc",
"minidump_memory.cc",
"minidump_memory.h",
"minidump_remote_api.cc",
"minidump_remote_api.h",
"pretty_frame_glob.cc",
"pretty_frame_glob.h",
"pretty_stack_manager.cc",
"process.cc",
"process_impl.cc",
"process_impl.h",
"process_observer.cc",
"process_symbol_data_provider.cc",
"remote_api_impl.cc",
"remote_api_impl.h",
"session.cc",
"session.h",
"session_observer.cc",
"setting_schema.cc",
"setting_schema_definition.cc",
"setting_store.cc",
"setting_value.cc",
"socket_connect.cc",
"socket_connect.h",
"source_file_provider_impl.cc",
"stack.cc",
"step_into_specific_thread_controller.cc",
"step_into_thread_controller.cc",
"step_over_thread_controller.cc",
"step_thread_controller.cc",
"step_through_plt_thread_controller.cc",
"substatement.cc",
"symbol_server.cc",
"symbol_server_impl.cc",
"system.cc",
"target.cc",
"target_impl.cc",
"thread.cc",
"thread_controller.cc",
"thread_impl.cc",
"thread_impl.h",
"until_thread_controller.cc",
]
public_deps = [
"//sdk/lib/fit",
"//src/developer/debug/ipc",
"//src/developer/debug/shared",
"//src/developer/debug/zxdb/common",
"//src/developer/debug/zxdb/expr",
"//src/developer/debug/zxdb/symbols",
"//src/lib/analytics/cpp/core_dev_tools",
"//src/lib/containers/cpp",
"//src/lib/fxl",
"//src/lib/llvm/host:LLVMAArch64Desc",
"//src/lib/llvm/host:LLVMAArch64Disassembler",
"//src/lib/llvm/host:LLVMARMDesc",
"//src/lib/llvm/host:LLVMARMDisassembler",
"//src/lib/llvm/host:LLVMRISCVDesc",
"//src/lib/llvm/host:LLVMRISCVDisassembler",
"//src/lib/llvm/host:LLVMX86Desc",
"//src/lib/llvm/host:LLVMX86Disassembler",
"//src/lib/uuid",
]
deps = [
"//src/lib/elflib",
"//src/lib/llvm/host:LLVMMC",
"//src/lib/llvm/host:LLVMObject",
"//src/lib/unwinder",
"//third_party/crashpad/src/compat",
"//third_party/crashpad/src/snapshot",
"//third_party/crashpad/src/util",
"//third_party/mini_chromium/src/base",
"//third_party/rapidjson",
"//third_party/zstd",
]
# TODO(https://fxbug.dev/42136089): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
source_set("test_support") {
testonly = true
sources = [
"mock_breakpoint.cc",
"mock_breakpoint.h",
"mock_breakpoint_location.h",
"mock_frame.cc",
"mock_frame.h",
"mock_process.cc",
"mock_process.h",
"mock_remote_api.cc",
"mock_remote_api.h",
"mock_stack_delegate.h",
"mock_symbol_server.h",
"mock_target.cc",
"mock_target.h",
"mock_thread.h",
"remote_api_test.cc",
"remote_api_test.h",
"test_thread_observer.cc",
"test_thread_observer.h",
]
public_deps = [
":client",
"//src/developer/debug/zxdb/common:test_support",
"//src/developer/debug/zxdb/symbols:test_support",
"//third_party/googletest:gtest",
]
# TODO(https://fxbug.dev/42136089): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
if (is_host) {
host_test_data("test_data") {
sources = [
"test_example_minidump.dmp",
"test_example_minidump_new_cvrecord.dmp",
"test_example_minidump_with_aspace.dmp",
]
outputs = [ "$root_out_dir/test_data/zxdb/{{source_file_part}}" ]
}
host_test_data("fake_home") {
sources = [ "test_dummy_file" ]
outputs = [
"$root_out_dir/test_data/zxdb/fake_home/.fuchsia/debug/googleapi_auth",
]
}
host_test_data("sample_core") {
sources = [
"//prebuilt/test_data/debug/sample_core/core/0ef11cdd012be885a0a08a2c6914a391c887654a",
"//prebuilt/test_data/debug/sample_core/core/0ef11cdd012be885a0a08a2c6914a391c887654a.debug",
"//prebuilt/test_data/debug/sample_core/core/4cf7a2a4abe78160de9ff7d641ac1afaf4480a46",
"//prebuilt/test_data/debug/sample_core/core/4cf7a2a4abe78160de9ff7d641ac1afaf4480a46.debug",
"//prebuilt/test_data/debug/sample_core/core/core.dmp",
"//prebuilt/test_data/debug/sample_core/core/ebc1c4a1e012b3d93e8638fc32c02b4ea0968584",
"//prebuilt/test_data/debug/sample_core/core/ebc1c4a1e012b3d93e8638fc32c02b4ea0968584.debug",
"//prebuilt/test_data/debug/sample_core/core/f7d86af0ee7ec020",
"//prebuilt/test_data/debug/sample_core/core/f7d86af0ee7ec020.debug",
]
outputs =
[ "$root_out_dir/test_data/zxdb/sample_core/core/{{source_file_part}}" ]
}
}
source_set("tests") {
testonly = true
sources = [
"analytics_event_unittest.cc",
"breakpoint_impl_unittest.cc",
"call_site_symbol_data_provider_unittest.cc",
"client_eval_context_impl_unittest.cc",
"disassembler_unittest.cc",
"download_manager_unittest.cc",
"elf_memory_region_unittest.cc",
"filter_unittest.cc",
"finish_physical_frame_thread_controller_unittest.cc",
"finish_thread_controller_unittest.cc",
"frame_fingerprint_unittest.cc",
"frame_impl_unittest.cc",
"function_thread_controller_unittest.cc",
"inline_thread_controller_test.cc",
"inline_thread_controller_test.h",
"map_setting_store_unittest.cc",
"memory_dump_unittest.cc",
"minidump_memory_unittest.cc",
"minidump_unittest.cc",
"pretty_frame_glob_unittest.cc",
"pretty_stack_manager_unittest.cc",
"process_impl_unittest.cc",
"process_symbol_data_provider_unittest.cc",
"session_unittest.cc",
"setting_schema_unittest.cc",
"setting_value_unittest.cc",
"source_file_provider_impl_unittest.cc",
"stack_unittest.cc",
"step_into_specific_thread_controller_unittest.cc",
"step_into_thread_controller_unittest.cc",
"step_over_thread_controller_unittest.cc",
"step_thread_controller_unittest.cc",
"step_through_plt_thread_controller_unittest.cc",
"substatement_unittest.cc",
"symbol_server_unittest.cc",
"system_unittest.cc",
"target_impl_unittest.cc",
"thread_controller_test.cc",
"thread_controller_test.h",
"thread_controller_unittest.cc",
"thread_impl_unittest.cc",
"until_thread_controller_unittest.cc",
]
data_deps = [
":fake_home($host_toolchain)",
":sample_core($host_toolchain)",
":test_data($host_toolchain)",
# Used for elf_memory_region_unittest.
"//src/developer/debug/zxdb/symbols/test_data/cpp:zxdb_symbol_test(${default_toolchain}-shared)",
]
deps = [
":client",
":test_support",
"//src/developer/debug/zxdb/common:test_support",
"//src/developer/debug/zxdb/symbols:test_support",
"//third_party/googletest:gtest",
# Duplicate the crashpad dependency below to avoid making it into public_deps of :client.
"//third_party/crashpad/src/compat",
"//third_party/crashpad/src/snapshot",
"//third_party/crashpad/src/snapshot:test_support",
"//third_party/crashpad/src/util",
"//third_party/mini_chromium/src/base",
]
# TODO(https://fxbug.dev/42136089): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}