| # Copyright 2017 The Crashpad Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import("../build/crashpad_buildconfig.gni") |
| |
| static_library("test") { |
| testonly = true |
| check_includes = false |
| |
| sources = [ |
| "errors.cc", |
| "errors.h", |
| "file.cc", |
| "file.h", |
| "filesystem.cc", |
| "filesystem.h", |
| "gtest_death.h", |
| "hex_string.cc", |
| "hex_string.h", |
| "main_arguments.cc", |
| "main_arguments.h", |
| "multiprocess.h", |
| "multiprocess_exec.cc", |
| "multiprocess_exec.h", |
| "process_type.cc", |
| "process_type.h", |
| "scoped_guarded_page.h", |
| "scoped_module_handle.cc", |
| "scoped_module_handle.h", |
| "scoped_temp_dir.cc", |
| "scoped_temp_dir.h", |
| "test_paths.cc", |
| "test_paths.h", |
| ] |
| |
| if (crashpad_is_ios) { |
| sources -= [ |
| "errors.cc", |
| "errors.h", |
| "file.cc", |
| "file.h", |
| "filesystem.cc", |
| "filesystem.h", |
| "multiprocess.h", |
| "multiprocess_exec.cc", |
| "multiprocess_exec.h", |
| "process_type.cc", |
| "process_type.h", |
| "scoped_guarded_page.h", |
| "scoped_module_handle.cc", |
| "scoped_module_handle.h", |
| "scoped_temp_dir.cc", |
| "scoped_temp_dir.h", |
| "test_paths.cc", |
| "test_paths.h", |
| ] |
| } |
| |
| if (crashpad_is_posix || crashpad_is_fuchsia) { |
| sources += [ |
| "scoped_guarded_page_posix.cc", |
| "scoped_temp_dir_posix.cc", |
| ] |
| |
| if (!crashpad_is_fuchsia && !crashpad_is_ios) { |
| sources += [ |
| "multiprocess_exec_posix.cc", |
| "multiprocess_posix.cc", |
| ] |
| } |
| } |
| |
| if (crashpad_is_mac) { |
| sources += [ |
| "mac/dyld.cc", |
| "mac/dyld.h", |
| "mac/exception_swallower.cc", |
| "mac/exception_swallower.h", |
| "mac/mach_errors.cc", |
| "mac/mach_errors.h", |
| "mac/mach_multiprocess.cc", |
| "mac/mach_multiprocess.h", |
| ] |
| } |
| |
| if (crashpad_is_linux || crashpad_is_android) { |
| sources += [ |
| "linux/fake_ptrace_connection.cc", |
| "linux/fake_ptrace_connection.h", |
| "linux/get_tls.cc", |
| "linux/get_tls.h", |
| ] |
| } |
| |
| if (crashpad_is_win) { |
| sources += [ |
| "multiprocess_exec_win.cc", |
| "scoped_guarded_page_win.cc", |
| "scoped_temp_dir_win.cc", |
| "win/child_launcher.cc", |
| "win/child_launcher.h", |
| "win/win_child_process.cc", |
| "win/win_child_process.h", |
| "win/win_multiprocess.cc", |
| "win/win_multiprocess.h", |
| "win/win_multiprocess_with_temp_dir.cc", |
| "win/win_multiprocess_with_temp_dir.h", |
| ] |
| } |
| |
| if (crashpad_is_fuchsia) { |
| sources += [ "multiprocess_exec_fuchsia.cc" ] |
| } |
| |
| public_configs = [ "..:crashpad_config" ] |
| |
| configs += [ |
| "../build:crashpad_is_in_chromium", |
| "../build:crashpad_is_in_fuchsia", |
| ] |
| |
| data = [ "test_paths_test_data_root.txt" ] |
| |
| deps = [ |
| "../compat", |
| "../third_party/gtest:gtest", |
| "../third_party/mini_chromium:base", |
| "../util", |
| ] |
| |
| if (crashpad_is_ios) { |
| deps -= [ |
| "../compat", |
| "../util", |
| ] |
| } |
| |
| if (crashpad_is_mac) { |
| libs = [ "bsm" ] |
| deps += [ |
| "../handler", |
| "../snapshot", |
| ] |
| } |
| |
| if (crashpad_is_win) { |
| libs = [ "shell32.lib" ] |
| } |
| |
| if (crashpad_is_fuchsia) { |
| public_deps = [ "../third_party/fuchsia" ] |
| if (crashpad_is_in_fuchsia) { |
| deps += [ "//zircon/public/lib/fdio" ] |
| } |
| } |
| } |
| |
| if (!crashpad_is_in_starboard && !crashpad_is_in_native_target_build) { |
| source_set("test_test") { |
| testonly = true |
| |
| sources = [ |
| "hex_string_test.cc", |
| "main_arguments_test.cc", |
| "multiprocess_exec_test.cc", |
| "scoped_guarded_page_test.cc", |
| "scoped_temp_dir_test.cc", |
| "test_paths_test.cc", |
| ] |
| |
| if (crashpad_is_ios) { |
| sources -= [ |
| "multiprocess_exec_test.cc", |
| "scoped_guarded_page_test.cc", |
| "scoped_temp_dir_test.cc", |
| "test_paths_test.cc", |
| ] |
| } |
| |
| # TODO(crbug.com/812974): Remove !crashpad_is_fuchsia when Fuchsia is no |
| # longer treated as a posix platform. |
| if (crashpad_is_posix && !crashpad_is_fuchsia && !crashpad_is_ios) { |
| sources += [ "multiprocess_posix_test.cc" ] |
| } |
| |
| if (crashpad_is_mac) { |
| sources += [ "mac/mach_multiprocess_test.cc" ] |
| } |
| |
| if (crashpad_is_win) { |
| sources += [ |
| "win/win_child_process_test.cc", |
| "win/win_multiprocess_test.cc", |
| ] |
| } |
| |
| deps = [ |
| ":test", |
| "../compat", |
| "../third_party/gtest:gmock", |
| "../third_party/gtest:gtest", |
| "../third_party/mini_chromium:base", |
| "../util", |
| ] |
| |
| data_deps = [ ":crashpad_test_test_multiprocess_exec_test_child" ] |
| |
| if (crashpad_is_ios) { |
| deps -= [ |
| "../compat", |
| "../util", |
| ] |
| |
| data_deps -= [ ":crashpad_test_test_multiprocess_exec_test_child" ] |
| } |
| } |
| |
| if (!crashpad_is_ios) { |
| crashpad_executable("crashpad_test_test_multiprocess_exec_test_child") { |
| sources = [ "multiprocess_exec_test_child.cc" ] |
| |
| deps = [ "../third_party/mini_chromium:base" ] |
| } |
| } |
| } |
| |
| static_library("gmock_main") { |
| testonly = true |
| check_includes = false |
| |
| sources = [ "gtest_main.cc" ] |
| configs += [ "../build:crashpad_is_in_chromium" ] |
| defines = [ "CRASHPAD_TEST_LAUNCHER_GMOCK" ] |
| deps = [ |
| ":test", |
| "../third_party/gtest:gmock", |
| "../third_party/gtest:gtest", |
| "../third_party/mini_chromium:base", |
| "../third_party/mini_chromium:base_test_support", |
| ] |
| if (crashpad_is_ios) { |
| deps += [ "ios:google_test_setup" ] |
| } |
| } |
| |
| static_library("gtest_main") { |
| testonly = true |
| check_includes = false |
| |
| sources = [ "gtest_main.cc" ] |
| configs += [ "../build:crashpad_is_in_chromium" ] |
| defines = [ "CRASHPAD_TEST_LAUNCHER_GTEST" ] |
| deps = [ |
| ":test", |
| "../third_party/gtest:gtest", |
| "../third_party/mini_chromium:base", |
| "../third_party/mini_chromium:base_test_support", |
| ] |
| if (crashpad_is_ios) { |
| deps += [ "ios:google_test_setup" ] |
| } |
| } |