blob: 9070cdfd710d1f57b569e55c0ac536656ea7f686 [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 = [
"arch_info.h",
"breakpoint.h",
"breakpoint_location.h",
"breakpoint_observer.h",
"breakpoint_settings.h",
"client_eval_context_impl.h",
"client_object.h",
"disassembler.h",
"exception_settings.h",
"execution_scope.h",
"filter.h",
"finish_physical_frame_thread_controller.h",
"finish_thread_controller.h",
"frame.h",
"frame_fingerprint.h",
"function_return_info.h",
"job.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 = [
"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_site_symbol_data_provider.cc",
"call_site_symbol_data_provider.h",
"client_eval_context_impl.cc",
"client_object.cc",
"cloud_storage_symbol_server.cc",
"disassembler.cc",
"exception_settings.cc",
"exception_settings.h",
"execution_scope.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",
"job.cc",
"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.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",
"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:client",
"//src/developer/debug/shared",
"//src/developer/debug/zxdb/common",
"//src/developer/debug/zxdb/expr",
"//src/developer/debug/zxdb/symbols",
"//src/lib/containers/cpp",
"//src/lib/fxl",
"//src/lib/llvm:LLVMAArch64Desc",
"//src/lib/llvm:LLVMAArch64Disassembler",
"//src/lib/llvm:LLVMX86Desc",
"//src/lib/llvm:LLVMX86Disassembler",
]
deps = [
"//src/developer/debug/unwinder",
"//src/lib/elflib",
"//src/lib/llvm:LLVMMC",
"//src/lib/llvm:LLVMObject",
"//third_party/crashpad/client",
"//third_party/crashpad/compat",
"//third_party/crashpad/snapshot",
"//third_party/crashpad/util",
"//third_party/mini_chromium/base",
"//third_party/rapidjson",
]
# TODO(fxbug.dev/58162): 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_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(fxbug.dev/58162): 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 = [
"breakpoint_impl_unittest.cc",
"call_site_symbol_data_provider_unittest.cc",
"client_eval_context_impl_unittest.cc",
"disassembler_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",
"job_unittest.cc",
"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",
"string_util_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)",
]
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/client",
"//third_party/crashpad/compat",
"//third_party/crashpad/snapshot",
"//third_party/crashpad/util",
"//third_party/mini_chromium/base",
]
# TODO(fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}