# 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("//testing/test.gni") static_library("test") { testonly = true sources = [ "errors.cc", "errors.h", "file.cc", "file.h", "filesystem.cc", "filesystem.h", "gtest_death.h", "gtest_disabled.cc", "gtest_disabled.h", "hex_string.cc", "hex_string.h", "main_arguments.cc", "main_arguments.h", "multiprocess.h", "multiprocess_exec.h", "scoped_module_handle.cc", "scoped_module_handle.h", "scoped_temp_dir.cc", "scoped_temp_dir.h", "test_paths.cc", "test_paths.h", ] if (is_posix) { sources += [ "multiprocess_posix.cc", "scoped_temp_dir_posix.cc", ] if (!is_fuchsia) { sources += [ "multiprocess_exec_posix.cc" ] } } if (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 (is_win) { sources += [ "multiprocess_exec_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", ] } public_configs = [ "..:crashpad_config" ] configs += [ "../build:crashpad_in_chromium" ] data = [ "test_paths_test_data_root.txt", ] deps = [ "../compat", "../snapshot", "../util", "//base", "//testing/gtest", ] if (is_mac) { libs = [ "bsm" ] deps += [ "../handler" ] } } source_set("test_test") { testonly = true sources = [ "hex_string_test.cc", "main_arguments_test.cc", "scoped_temp_dir_test.cc", "test_paths_test.cc", ] if (is_posix && !is_fuchsia) { sources += [ "multiprocess_posix_test.cc" ] } if (is_mac) { sources += [ "mac/mach_multiprocess_test.cc" ] } if (is_win) { sources += [ "win/win_child_process_test.cc", "win/win_multiprocess_test.cc", ] } if (!is_fuchsia) { sources += [ # TODO(scottmg): A MultiprocessExecFuchsia is probably desirable, but # hasn't been implemented yet. "multiprocess_exec_test.cc", ] } deps = [ ":test", "../compat", "../util", "//base", "//testing/gmock", "//testing/gtest", ] data_deps = [ ":crashpad_test_test_multiprocess_exec_test_child", ] } executable("crashpad_test_test_multiprocess_exec_test_child") { sources = [ "multiprocess_exec_test_child.cc", ] } static_library("gmock_main") { testonly = true sources = [ "gtest_main.cc", ] configs += [ "../build:crashpad_in_chromium" ] defines = [ "CRASHPAD_TEST_LAUNCHER_GMOCK" ] deps = [ ":test", "//base", "//base/test:test_support", "//testing/gmock", "//testing/gtest", ] } static_library("gtest_main") { testonly = true sources = [ "gtest_main.cc", ] configs += [ "../build:crashpad_in_chromium" ] defines = [ "CRASHPAD_TEST_LAUNCHER_GTEST" ] deps = [ ":test", "//base", "//base/test:test_support", "//testing/gtest", ] }