Skip to content

Commit 33c4396

Browse files
authored
Make unit tests runnable on macOS (#3018)
1 parent e6d803e commit 33c4396

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

test/Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ include ../config.mk
2121
CPPFLAGS+=-DBTHREAD_USE_FAST_PTHREAD_MUTEX -D_GNU_SOURCE -DUSE_SYMBOLIZE -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUNIT_TEST -Dprivate=public -Dprotected=public -DBVAR_NOT_LINK_DEFAULT_VARIABLES --include sstream_workaround.h
2222
CXXFLAGS+=$(CPPFLAGS) -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer -std=c++0x
2323

24+
# On Darwin, only gtest library is needed, other libraries have been linked in `brpc.dbg.dylib`
25+
ifeq ($(SYSTEM),Darwin)
26+
GTEST_STATIC_LINKINGS := $(filter %libgtest.a %libgtest_main.a,$(STATIC_LINKINGS))
27+
endif
28+
2429
#required by butil/crc32.cc to boost performance for 10x
2530
ifeq ($(shell test $(GCC_VERSION) -ge 40400; echo $$?),0)
2631
ifeq ($(shell uname -p),i386) #note: i386 is processor family type, not the 32-bit x86 arch
@@ -210,7 +215,7 @@ test_butil:$(TEST_BUTIL_OBJS) | libbrpc.dbg.$(SOEXT)
210215
ifeq ($(SYSTEM),Linux)
211216
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) -Xlinker "-(" $^ -Xlinker "-)" $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
212217
else ifeq ($(SYSTEM),Darwin)
213-
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
218+
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(GTEST_STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
214219
endif
215220

216221
test_bvar:libbvar.dbg.a $(TEST_BVAR_OBJS)
@@ -226,15 +231,15 @@ bthread%unittest:bthread%unittest.o | libbrpc.dbg.$(SOEXT)
226231
ifeq ($(SYSTEM),Linux)
227232
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) -Xlinker "-(" $^ -Xlinker "-)" $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
228233
else ifeq ($(SYSTEM),Darwin)
229-
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
234+
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(GTEST_STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
230235
endif
231236

232237
brpc_%_unittest:$(TEST_PROTO_OBJS) brpc_%_unittest.o | libbrpc.dbg.$(SOEXT)
233238
@echo "> Linking $@"
234239
ifeq ($(SYSTEM),Linux)
235240
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) -Xlinker "-(" $^ -Xlinker "-)" $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
236241
else ifeq ($(SYSTEM),Darwin)
237-
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
242+
$(CXX) -o $@ $(LIBPATHS) $(SOPATHS) $^ $(GTEST_STATIC_LINKINGS) $(UT_DYNAMIC_LINKINGS)
238243
endif
239244

240245
%.pb.cc %.pb.h:%.proto

0 commit comments

Comments
 (0)