crashpad/test/BUILD.gn
Scott Graham 457cc6a34f gn: Refactor build files to avoid build/secondary
In doing standalone bringup of Crashpad targeting Fuchsia, it seemed
tidy to keep the same literal paths to the dependencies that Chromium
needed and add stubs/forwarding to build/secondary in the Crashpad tree
as required to make those work.

However, when trying to build Crashpad in the Fuchsia tree itself, that
would require adding forwarding files to the Fuchsia tree to match the
Chromium directory structure, which would be awkward. Instead, have
explicit dependencies in the Crashpad tree that select the locations
for various dependencies.

Bug: crashpad:79, crashpad:196
Change-Id: Ib506839f9c97d8ef823663cdc733cbdcfa126139
Reviewed-on: https://chromium-review.googlesource.com/826025
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-18 22:53:58 +00:00

188 lines
4.0 KiB
Plaintext

# 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.
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_is_in_chromium" ]
data = [
"test_paths_test_data_root.txt",
]
deps = [
"../compat",
"../third_party/gtest:gtest",
"../third_party/mini_chromium:base",
"../util",
]
if (is_mac) {
libs = [ "bsm" ]
deps += [
"../handler",
"../snapshot",
]
}
}
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",
"../third_party/gtest:gmock",
"../third_party/gtest:gtest",
"../third_party/mini_chromium:base",
"../util",
]
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_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",
]
}
static_library("gtest_main") {
testonly = true
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",
]
}