diff --git a/contrib/googletest/googlemock/test/gmock-matchers-comparisons_test.cc b/contrib/googletest/googlemock/test/gmock-matchers-comparisons_test.cc --- a/contrib/googletest/googlemock/test/gmock-matchers-comparisons_test.cc +++ b/contrib/googletest/googlemock/test/gmock-matchers-comparisons_test.cc @@ -2220,15 +2220,25 @@ TEST(WhenDynamicCastToTest, AmbiguousCast) { AmbiguousCastTypes::DerivedSub1 sub1; AmbiguousCastTypes::ManyDerivedInHierarchy many_derived; + + // This testcase fails on FreeBSD. See this GitHub issue for more details: + // https://github.com/google/googletest/issues/2172 +#ifdef __FreeBSD__ + EXPECT_NONFATAL_FAILURE({ +#endif // Multiply derived from Base. dynamic_cast<> returns NULL. Base* as_base_ptr = static_cast(&many_derived); + EXPECT_THAT(as_base_ptr, WhenDynamicCastTo(IsNull())); as_base_ptr = &sub1; EXPECT_THAT( as_base_ptr, WhenDynamicCastTo(Not(IsNull()))); +#ifdef __FreeBSD__ + }, ""); +#endif } TEST(WhenDynamicCastToTest, Describe) { diff --git a/lib/googletest/gmock/Makefile b/lib/googletest/gmock/Makefile --- a/lib/googletest/gmock/Makefile +++ b/lib/googletest/gmock/Makefile @@ -18,27 +18,25 @@ INCSGROUPS= MAIN_INCS INTERNAL_INCS INTERNAL_CUSTOM_INCS MAIN_INCSDIR= ${INCLUDEDIR}${PRIVATELIB:D/private/${LIB}} +MAIN_INCS+= gmock/gmock-actions.h +MAIN_INCS+= gmock/gmock-cardinalities.h +MAIN_INCS+= gmock/gmock-function-mocker.h MAIN_INCS+= gmock/gmock-matchers.h MAIN_INCS+= gmock/gmock-more-actions.h -MAIN_INCS+= gmock/gmock-generated-actions.h -MAIN_INCS+= gmock/gmock-generated-matchers.h -MAIN_INCS+= gmock/gmock-generated-nice-strict.h MAIN_INCS+= gmock/gmock-more-matchers.h -MAIN_INCS+= gmock/gmock-generated-function-mockers.h -MAIN_INCS+= gmock/gmock-cardinalities.h +MAIN_INCS+= gmock/gmock-nice-strict.h MAIN_INCS+= gmock/gmock-spec-builders.h MAIN_INCS+= gmock/gmock.h -MAIN_INCS+= gmock/gmock-actions.h INTERNAL_INCSDIR= ${MAIN_INCSDIR}/internal -INTERNAL_INCS+= gmock/internal/gmock-port.h INTERNAL_INCS+= gmock/internal/gmock-internal-utils.h -INTERNAL_INCS+= gmock/internal/gmock-generated-internal-utils.h +INTERNAL_INCS+= gmock/internal/gmock-port.h +INTERNAL_INCS+= gmock/internal/gmock-pp.h INTERNAL_CUSTOM_INCSDIR= ${INTERNAL_INCSDIR}/custom -INTERNAL_CUSTOM_INCS+= gmock/internal/custom/gmock-port.h -INTERNAL_CUSTOM_INCS+= gmock/internal/custom/gmock-matchers.h INTERNAL_CUSTOM_INCS+= gmock/internal/custom/gmock-generated-actions.h +INTERNAL_CUSTOM_INCS+= gmock/internal/custom/gmock-matchers.h +INTERNAL_CUSTOM_INCS+= gmock/internal/custom/gmock-port.h SRCS+= gmock-all.cc diff --git a/lib/googletest/gtest/Makefile b/lib/googletest/gtest/Makefile --- a/lib/googletest/gtest/Makefile +++ b/lib/googletest/gtest/Makefile @@ -14,7 +14,9 @@ INCSGROUPS= MAIN_INCS INTERNAL_INCS INTERNAL_CUSTOM_INCS MAIN_INCSDIR= ${INCLUDEDIR}${PRIVATELIB:D/private/${LIB}} +MAIN_INCS+= gtest/gtest-assertion-result.h MAIN_INCS+= gtest/gtest-death-test.h +MAIN_INCS+= gtest/gtest-matchers.h MAIN_INCS+= gtest/gtest-message.h MAIN_INCS+= gtest/gtest-param-test.h MAIN_INCS+= gtest/gtest-printers.h @@ -29,13 +31,10 @@ INTERNAL_INCS+= gtest/internal/gtest-death-test-internal.h INTERNAL_INCS+= gtest/internal/gtest-filepath.h INTERNAL_INCS+= gtest/internal/gtest-internal.h -INTERNAL_INCS+= gtest/internal/gtest-linked_ptr.h -INTERNAL_INCS+= gtest/internal/gtest-param-util-generated.h INTERNAL_INCS+= gtest/internal/gtest-param-util.h INTERNAL_INCS+= gtest/internal/gtest-port-arch.h INTERNAL_INCS+= gtest/internal/gtest-port.h INTERNAL_INCS+= gtest/internal/gtest-string.h -INTERNAL_INCS+= gtest/internal/gtest-tuple.h INTERNAL_INCS+= gtest/internal/gtest-type-util.h INTERNAL_CUSTOM_INCSDIR= ${INTERNAL_INCSDIR}/custom diff --git a/lib/googletest/tests/gmock/Makefile b/lib/googletest/tests/gmock/Makefile --- a/lib/googletest/tests/gmock/Makefile +++ b/lib/googletest/tests/gmock/Makefile @@ -2,13 +2,10 @@ .include -.PATH: ${GOOGLEMOCK_SRCROOT}/src ${GOOGLEMOCK_SRCROOT}/test +.PATH: ${GOOGLEMOCK_SRCROOT}/src ${GOOGLEMOCK_SRCROOT}/test GTESTS+= gmock_stress_test LIBADD+= pthread gtest gmock -# The next release will resolve a number of build warnings issues. -MK_WERROR= no - .include diff --git a/lib/googletest/tests/gmock_main/Makefile b/lib/googletest/tests/gmock_main/Makefile --- a/lib/googletest/tests/gmock_main/Makefile +++ b/lib/googletest/tests/gmock_main/Makefile @@ -6,17 +6,17 @@ GTESTS+= gmock-actions_test GTESTS+= gmock-cardinalities_test -GTESTS+= gmock_ex_test -GTESTS+= gmock-generated-actions_test -GTESTS+= gmock-generated-function-mockers_test -GTESTS+= gmock-generated-internal-utils_test -GTESTS+= gmock-generated-matchers_test +GTESTS+= gmock-function-mocker_test GTESTS+= gmock-internal-utils_test -GTESTS+= gmock-matchers_test +GTESTS+= gmock-matchers-arithmetic_test +GTESTS+= gmock-matchers-comparisons_test +GTESTS+= gmock-matchers-containers_test +GTESTS+= gmock-matchers-misc_test GTESTS+= gmock-more-actions_test GTESTS+= gmock-nice-strict_test GTESTS+= gmock-port_test GTESTS+= gmock-spec-builders_test +GTESTS+= gmock_ex_test GTESTS+= gmock_link_test GTESTS+= gmock_test @@ -29,9 +29,11 @@ gmock_link_test.cc \ gmock_link2_test.cc -LIBADD= gmock_main gmock gtest +LIBADD= gmock_main -# The next release will resolve a number of build warnings issues. -MK_WERROR= no +CXXFLAGS.clang+= -Wno-error=inconsistent-missing-override +CXXFLAGS.clang+= -Wno-error=missing-variable-declarations +CXXFLAGS.clang+= -Wno-error=sign-compare +CXXFLAGS.clang+= -Wno-error=unused-parameter .include diff --git a/lib/googletest/tests/gtest/Makefile b/lib/googletest/tests/gtest/Makefile --- a/lib/googletest/tests/gtest/Makefile +++ b/lib/googletest/tests/gtest/Makefile @@ -30,17 +30,16 @@ CXXFLAGS.gtest-death-test_ex_nocatch_test+= \ -DGTEST_ENABLE_CATCH_EXCEPTIONS_=0 -SRCS.googletest-param-test-test= \ - googletest-param-test-test.cc \ +SRCS.googletest-param-test-test= \ + googletest-param-test-test.cc \ googletest-param-test2-test.cc LIBADD+= gtest +CXXFLAGS.clang+= -Wno-error=missing-variable-declarations + # XXX: explicitly listing -lpthread is incorrect. src.libnames.mk should be # handling this. -LIBADD.gtest_stress_test+= pthread - -# The next release will resolve a number of build warnings issues. -MK_WERROR= no +LIBADD.gtest_stress_test+= pthread .include diff --git a/lib/googletest/tests/gtest_main/Makefile b/lib/googletest/tests/gtest_main/Makefile --- a/lib/googletest/tests/gtest_main/Makefile +++ b/lib/googletest/tests/gtest_main/Makefile @@ -6,20 +6,19 @@ GTESTS+= googletest-death-test-test GTESTS+= googletest-filepath-test -GTESTS+= googletest-linked-ptr-test GTESTS+= googletest-listener-test -GTESTS+= gtest_main_unittest GTESTS+= googletest-message-test GTESTS+= googletest-options-test GTESTS+= googletest-port-test -GTESTS+= gtest_pred_impl_unittest GTESTS+= googletest-printers-test -GTESTS+= gtest_prod_test -GTESTS+= gtest_sole_header_test GTESTS+= googletest-test-part-test GTESTS+= gtest-typed-test_test +GTESTS+= gtest_main_unittest +GTESTS+= gtest_pred_impl_unittest +GTESTS+= gtest_prod_test GTESTS+= gtest_skip_test GTESTS+= gtest_skip_in_environment_setup_test +GTESTS+= gtest_sole_header_test GTESTS+= gtest_unittest CXXFLAGS+= -I${GOOGLETEST_SRCROOT}/include @@ -33,12 +32,12 @@ gtest_prod_test.cc \ production.cc -LIBADD+= gtest gtest_main +LIBADD+= gtest_main LIBADD.googletest-port-test+= pthread LIBADD.gtest_unittest+= pthread -# The next release will resolve a number of build warnings issues. -MK_WERROR= no +CXXFLAGS.clang+= -Wno-error=missing-variable-declarations +CXXFLAGS.clang+= -Wno-error=unused-but-set-variable .include diff --git a/share/mk/googletest.test.inc.mk b/share/mk/googletest.test.inc.mk --- a/share/mk/googletest.test.inc.mk +++ b/share/mk/googletest.test.inc.mk @@ -21,6 +21,6 @@ # libgmock's, etc, headers. CXXFLAGS+= -I${DESTDIR}${INCLUDEDIR}/private -CXXSTD?= c++11 +CXXSTD?= c++14 NO_WTHREAD_SAFETY=