From 833018816d502e74c64a02810d4455cc16b62e4e Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Wed, 20 Feb 2019 20:09:59 +0000 Subject: [PATCH] Correct gmock/gtest expectations w.r.t. C++11/RTTI Long story short, some of the tests were failing because they expected either dynamic_cast or RTTI to be functional and it wasn't. Move all common CXXFLAGS out to googletest.test.inc.mk and reference it from googletest.test.mk and .../googletest/Makefile.inc --- lib/googletest/Makefile.inc | 10 +++++----- share/mk/Makefile | 1 + share/mk/googletest.test.inc.mk | 9 +++++++++ share/mk/googletest.test.mk | 3 +++ 4 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 share/mk/googletest.test.inc.mk diff --git a/lib/googletest/Makefile.inc b/lib/googletest/Makefile.inc index 5b65587d0b1..5d3222736e6 100644 --- a/lib/googletest/Makefile.inc +++ b/lib/googletest/Makefile.inc @@ -1,12 +1,12 @@ # $FreeBSD$ -CXXFLAGS+= -DGTEST_HAS_POSIX_RE=1 -CXXFLAGS+= -DGTEST_HAS_PTHREAD=1 -CXXFLAGS+= -DGTEST_HAS_STREAM_REDIRECTION=1 +.include GTEST_DIR= ${SRCTOP}/contrib/googletest -GOOGLEMOCK_SRCROOT= ${GTEST_DIR}/googlemock -GOOGLETEST_SRCROOT= ${GTEST_DIR}/googletest +GOOGLEMOCK_SRCROOT= ${GTEST_DIR}/googlemock +GOOGLETEST_SRCROOT= ${GTEST_DIR}/googletest + +CXXFLAGS+= ${GTESTS_FLAGS} NO_WTHREAD_SAFETY= diff --git a/share/mk/Makefile b/share/mk/Makefile index 11f6b463b6a..2fda6a04f26 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -73,6 +73,7 @@ FILESDIR= ${BINDIR}/mk .if ${MK_TESTS} != "no" FILES+= atf.test.mk +FILES+= googletest.test.inc.mk FILES+= googletest.test.mk FILES+= plain.test.mk FILES+= suite.test.mk diff --git a/share/mk/googletest.test.inc.mk b/share/mk/googletest.test.inc.mk new file mode 100644 index 00000000000..12e54e9ce4c --- /dev/null +++ b/share/mk/googletest.test.inc.mk @@ -0,0 +1,9 @@ +# $FreeBSD$ + +GTESTS_CXXFLAGS+= -DGTESTS_HAS_RTTI=1 +GTESTS_CXXFLAGS+= -DGTESTS_HAS_POSIX_RE=1 +GTESTS_CXXFLAGS+= -DGTESTS_HAS_PTHREAD=1 +GTESTS_CXXFLAGS+= -DGTESTS_HAS_STREAM_REDIRECTION=1 +GTESTS_CXXFLAGS+= -DGTESTS_LANG_CXX11=1 +GTESTS_CXXFLAGS+= -frtti +GTESTS_CXXFLAGS+= -std=c++11 diff --git a/share/mk/googletest.test.mk b/share/mk/googletest.test.mk index 8b2f2a00ffb..660e660adc7 100644 --- a/share/mk/googletest.test.mk +++ b/share/mk/googletest.test.mk @@ -27,10 +27,13 @@ GTESTS?= .if !empty(GTESTS) +.include + PROGS_CXX+= ${GTESTS} _TESTS+= ${GTESTS} .for _T in ${GTESTS} BINDIR.${_T}= ${TESTSDIR} +CXXFLAGS.${_T}+= ${GTESTS_CXXFLAGS} MAN.${_T}?= # empty SRCS.${_T}?= ${_T}.cc TEST_INTERFACE.${_T}= plain