mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-17 08:33:54 +00:00
gn: Build gtest and gmock tests
Bug: crashpad:79 Change-Id: Iea78fcb6a758f57d2b550b214b947ca5aabad036 Reviewed-on: https://chromium-review.googlesource.com/827732 Commit-Queue: Mark Mentovai <mark@chromium.org> Reviewed-by: Scott Graham <scottmg@chromium.org>
This commit is contained in:
parent
8742051c60
commit
3650d56570
@ -62,7 +62,7 @@ if (is_win) {
|
|||||||
"//third_party/mini_chromium/mini_chromium/build:gcc_like_toolchain")
|
"//third_party/mini_chromium/mini_chromium/build:gcc_like_toolchain")
|
||||||
}
|
}
|
||||||
|
|
||||||
_default_configs = [
|
default_configs = [
|
||||||
"//third_party/mini_chromium/mini_chromium/build:default",
|
"//third_party/mini_chromium/mini_chromium/build:default",
|
||||||
"//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors",
|
"//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors",
|
||||||
|
|
||||||
@ -72,23 +72,23 @@ _default_configs = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
set_defaults("source_set") {
|
set_defaults("source_set") {
|
||||||
configs = _default_configs
|
configs = default_configs
|
||||||
}
|
}
|
||||||
|
|
||||||
set_defaults("static_library") {
|
set_defaults("static_library") {
|
||||||
configs = _default_configs
|
configs = default_configs
|
||||||
}
|
}
|
||||||
|
|
||||||
set_defaults("executable") {
|
set_defaults("executable") {
|
||||||
configs = _default_configs
|
configs = default_configs
|
||||||
}
|
}
|
||||||
|
|
||||||
set_defaults("loadable_module") {
|
set_defaults("loadable_module") {
|
||||||
configs = _default_configs
|
configs = default_configs
|
||||||
}
|
}
|
||||||
|
|
||||||
set_defaults("shared_library") {
|
set_defaults("shared_library") {
|
||||||
configs = _default_configs
|
configs = default_configs
|
||||||
}
|
}
|
||||||
|
|
||||||
# These are set to constant values for Chromium build file compatibility. This
|
# These are set to constant values for Chromium build file compatibility. This
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
# This is a forwarding target to match the location that Chromium uses.
|
# This is a forwarding target to match the location that Chromium uses.
|
||||||
|
|
||||||
group("gmock") {
|
group("gmock") {
|
||||||
|
testonly = true
|
||||||
public_configs = [ "//third_party/gtest:gmock_public_config" ]
|
public_configs = [ "//third_party/gtest:gmock_public_config" ]
|
||||||
public_deps = [
|
public_deps = [
|
||||||
"//third_party/gtest:gmock",
|
"//third_party/gtest:gmock",
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
# This is a forwarding target to match the location that Chromium uses.
|
# This is a forwarding target to match the location that Chromium uses.
|
||||||
|
|
||||||
group("gtest") {
|
group("gtest") {
|
||||||
|
testonly = true
|
||||||
public_configs = [ "//third_party/gtest:gtest_public_config" ]
|
public_configs = [ "//third_party/gtest:gtest_public_config" ]
|
||||||
public_deps = [
|
public_deps = [
|
||||||
"//third_party/gtest:gtest",
|
"//third_party/gtest:gtest",
|
||||||
|
@ -14,9 +14,11 @@
|
|||||||
|
|
||||||
template("test") {
|
template("test") {
|
||||||
executable(target_name) {
|
executable(target_name) {
|
||||||
deps = []
|
|
||||||
forward_variables_from(invoker, "*")
|
|
||||||
|
|
||||||
testonly = true
|
testonly = true
|
||||||
|
forward_variables_from(invoker, "*")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_defaults("test") {
|
||||||
|
configs = default_configs
|
||||||
|
}
|
||||||
|
230
third_party/gtest/BUILD.gn
vendored
230
third_party/gtest/BUILD.gn
vendored
@ -12,6 +12,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import("//testing/test.gni")
|
||||||
|
|
||||||
config("gtest_private_config") {
|
config("gtest_private_config") {
|
||||||
visibility = [ ":*" ]
|
visibility = [ ":*" ]
|
||||||
include_dirs = [ "gtest/googletest" ]
|
include_dirs = [ "gtest/googletest" ]
|
||||||
@ -23,6 +25,7 @@ config("gtest_public_config") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static_library("gtest") {
|
static_library("gtest") {
|
||||||
|
testonly = true
|
||||||
sources = [
|
sources = [
|
||||||
"gtest/googletest/include/gtest/gtest-death-test.h",
|
"gtest/googletest/include/gtest/gtest-death-test.h",
|
||||||
"gtest/googletest/include/gtest/gtest-message.h",
|
"gtest/googletest/include/gtest/gtest-message.h",
|
||||||
@ -59,9 +62,155 @@ static_library("gtest") {
|
|||||||
"gtest/googletest/src/gtest.cc",
|
"gtest/googletest/src/gtest.cc",
|
||||||
]
|
]
|
||||||
sources -= [ "gtest/googletest/src/gtest-all.cc" ]
|
sources -= [ "gtest/googletest/src/gtest-all.cc" ]
|
||||||
|
public_configs = [ ":gtest_public_config" ]
|
||||||
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
||||||
configs += [ ":gtest_private_config" ]
|
configs += [ ":gtest_private_config" ]
|
||||||
public_configs = [ ":gtest_public_config" ]
|
}
|
||||||
|
|
||||||
|
static_library("gtest_main") {
|
||||||
|
# Tests outside of this file should use ../../test:gtest_main instead.
|
||||||
|
visibility = [ ":*" ]
|
||||||
|
|
||||||
|
testonly = true
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/src/gtest_main.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_all_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest-death-test_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-filepath_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-linked_ptr_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-message_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-options_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-port_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-printers_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-test-part_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-typed-test2_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-typed-test_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-typed-test_test.h",
|
||||||
|
"gtest/googletest/test/gtest_main_unittest.cc",
|
||||||
|
"gtest/googletest/test/gtest_pred_impl_unittest.cc",
|
||||||
|
"gtest/googletest/test/gtest_prod_test.cc",
|
||||||
|
"gtest/googletest/test/gtest_unittest.cc",
|
||||||
|
"gtest/googletest/test/production.cc",
|
||||||
|
"gtest/googletest/test/production.h",
|
||||||
|
]
|
||||||
|
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
||||||
|
configs += [ ":gtest_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
":gtest_main",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_environment_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_environment_test.cc",
|
||||||
|
]
|
||||||
|
configs += [ ":gtest_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_listener_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest-listener_test.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_no_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_no_test_unittest.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_param_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest-param-test2_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-param-test_test.cc",
|
||||||
|
"gtest/googletest/test/gtest-param-test_test.h",
|
||||||
|
]
|
||||||
|
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
||||||
|
configs += [ ":gtest_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_premature_exit_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_premature_exit_test.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_repeat_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_repeat_test.cc",
|
||||||
|
]
|
||||||
|
configs += [ ":gtest_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_sole_header_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_sole_header_test.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
":gtest_main",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_stress_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest_stress_test.cc",
|
||||||
|
]
|
||||||
|
configs += [ ":gtest_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gtest_unittest_api_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googletest/test/gtest-unittest-api_test.cc",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
group("gtest_all_tests") {
|
||||||
|
testonly = true
|
||||||
|
deps = [
|
||||||
|
":gtest_all_test",
|
||||||
|
":gtest_environment_test",
|
||||||
|
":gtest_listener_test",
|
||||||
|
":gtest_no_test",
|
||||||
|
":gtest_param_test",
|
||||||
|
":gtest_premature_exit_test",
|
||||||
|
":gtest_repeat_test",
|
||||||
|
":gtest_sole_header_test",
|
||||||
|
":gtest_stress_test",
|
||||||
|
":gtest_unittest_api_test",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
config("gmock_private_config") {
|
config("gmock_private_config") {
|
||||||
@ -74,19 +223,17 @@ config("gmock_public_config") {
|
|||||||
|
|
||||||
# The MOCK_METHODn() macros do not specify “override”, which triggers this
|
# The MOCK_METHODn() macros do not specify “override”, which triggers this
|
||||||
# warning in users: “error: 'Method' overrides a member function but is not
|
# warning in users: “error: 'Method' overrides a member function but is not
|
||||||
# marked 'override' [-Werror,-Winconsistent-missing-override]”. Suppress
|
# marked 'override' [-Werror,-Winconsistent-missing-override]”. Suppress these
|
||||||
# these warnings, and add -Wno-unknown-warning-option because only recent
|
# warnings until https://github.com/google/googletest/issues/533 is fixed.
|
||||||
# versions of clang (trunk r220703 and later, version
|
|
||||||
# 3.6 and later) recognize it.
|
|
||||||
if (is_clang) {
|
if (is_clang) {
|
||||||
cflags_cc = [
|
cflags_cc = [
|
||||||
"-Wno-inconsistent-missing-override",
|
"-Wno-inconsistent-missing-override",
|
||||||
"-Wno-unknown-warning-option",
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static_library("gmock") {
|
static_library("gmock") {
|
||||||
|
testonly = true
|
||||||
sources = [
|
sources = [
|
||||||
"gtest/googlemock/include/gmock/gmock-actions.h",
|
"gtest/googlemock/include/gmock/gmock-actions.h",
|
||||||
"gtest/googlemock/include/gmock/gmock-cardinalities.h",
|
"gtest/googlemock/include/gmock/gmock-cardinalities.h",
|
||||||
@ -113,15 +260,18 @@ static_library("gmock") {
|
|||||||
"gtest/googlemock/src/gmock.cc",
|
"gtest/googlemock/src/gmock.cc",
|
||||||
]
|
]
|
||||||
sources -= [ "gtest/googlemock/src/gmock-all.cc" ]
|
sources -= [ "gtest/googlemock/src/gmock-all.cc" ]
|
||||||
|
public_configs = [ ":gmock_public_config" ]
|
||||||
|
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
||||||
|
configs += [ ":gmock_private_config" ]
|
||||||
deps = [
|
deps = [
|
||||||
":gtest",
|
":gtest",
|
||||||
]
|
]
|
||||||
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
|
||||||
configs += [ ":gmock_private_config" ]
|
|
||||||
public_configs = [ ":gmock_public_config" ]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static_library("gmock_main") {
|
static_library("gmock_main") {
|
||||||
|
# Tests outside of this file should use ../../test:gmock_main instead.
|
||||||
|
visibility = [ ":*" ]
|
||||||
|
testonly = true
|
||||||
sources = [
|
sources = [
|
||||||
"gtest/googlemock/src/gmock_main.cc",
|
"gtest/googlemock/src/gmock_main.cc",
|
||||||
]
|
]
|
||||||
@ -130,3 +280,65 @@ static_library("gmock_main") {
|
|||||||
":gtest",
|
":gtest",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test("gmock_all_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googlemock/test/gmock-actions_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-cardinalities_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-generated-actions_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-generated-function-mockers_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-generated-internal-utils_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-generated-matchers_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-internal-utils_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-matchers_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-more-actions_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-nice-strict_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-port_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock-spec-builders_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock_test.cc",
|
||||||
|
]
|
||||||
|
configs += [
|
||||||
|
":gmock_private_config",
|
||||||
|
":gtest_private_config",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":gmock",
|
||||||
|
":gmock_main",
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gmock_link_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googlemock/test/gmock_link2_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock_link_test.cc",
|
||||||
|
"gtest/googlemock/test/gmock_link_test.h",
|
||||||
|
]
|
||||||
|
configs += [ ":gmock_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gmock",
|
||||||
|
":gmock_main",
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
test("gmock_stress_test") {
|
||||||
|
sources = [
|
||||||
|
"gtest/googlemock/test/gmock_stress_test.cc",
|
||||||
|
]
|
||||||
|
configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors" ]
|
||||||
|
configs += [ ":gmock_private_config" ]
|
||||||
|
deps = [
|
||||||
|
":gmock",
|
||||||
|
":gtest",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
group("gmock_all_tests") {
|
||||||
|
testonly = true
|
||||||
|
deps = [
|
||||||
|
":gmock_all_test",
|
||||||
|
":gmock_link_test",
|
||||||
|
":gmock_stress_test",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
7
third_party/gtest/gmock.gyp
vendored
7
third_party/gtest/gmock.gyp
vendored
@ -92,22 +92,19 @@
|
|||||||
# triggers this warning in users: “error: 'Method' overrides a
|
# triggers this warning in users: “error: 'Method' overrides a
|
||||||
# member function but is not marked 'override'
|
# member function but is not marked 'override'
|
||||||
# [-Werror,-Winconsistent-missing-override]”. Suppress these
|
# [-Werror,-Winconsistent-missing-override]”. Suppress these
|
||||||
# warnings, and add -Wno-unknown-warning-option because only
|
# warnings until https://github.com/google/googletest/issues/533 is
|
||||||
# recent versions of clang (trunk r220703 and later, version
|
# fixed.
|
||||||
# 3.6 and later) recognize it.
|
|
||||||
'conditions': [
|
'conditions': [
|
||||||
['OS=="mac"', {
|
['OS=="mac"', {
|
||||||
'xcode_settings': {
|
'xcode_settings': {
|
||||||
'WARNING_CFLAGS': [
|
'WARNING_CFLAGS': [
|
||||||
'-Wno-inconsistent-missing-override',
|
'-Wno-inconsistent-missing-override',
|
||||||
'-Wno-unknown-warning-option',
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}],
|
}],
|
||||||
['OS=="linux" or OS=="android"', {
|
['OS=="linux" or OS=="android"', {
|
||||||
'cflags': [
|
'cflags': [
|
||||||
'-Wno-inconsistent-missing-override',
|
'-Wno-inconsistent-missing-override',
|
||||||
'-Wno-unknown-warning-option',
|
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user