Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit caaab7c

Browse files
committedJan 27, 2025·
Fix autotools test harness
1 parent 5cedcd9 commit caaab7c

File tree

17 files changed

+305
-32
lines changed

17 files changed

+305
-32
lines changed
 

‎.github/workflows/build.yml

+10
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,13 @@ jobs:
2222
run: |
2323
mkdir -p "$(pwd)"/mcrouter-install/install
2424
./mcrouter/scripts/install_ubuntu_24.04.sh "$(pwd)"/mcrouter-install mcrouter
25+
- name: Test mcrouter
26+
run: |
27+
cd mcrouter
28+
make check -s -j$(nproc) || (cd test && make recheck -s j$(nproc))
29+
- name: Upload test logs
30+
if: ${{ always() }}
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: test-suite.log
34+
path: mcrouter/test/test-suite.log

‎mcrouter/.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,15 @@ Makefile.in
2121
/depcomp
2222
/install-sh
2323
/lib/carbon/gen-cpp2/
24+
/lib/carbon/example/gen/gen-cpp2/
2425
/lib/network/CaretSerializedMessage.h
2526
/lib/network/McAsciiParser-gen.cpp
2627
/lib/network/gen-cpp2/*
2728
/lib/network/gen/gen-cpp2/
29+
/lib/network/test/gen/gen-cpp2/
30+
/lib/network/test/mock_mc_server
31+
/lib/network/test/mock_mc_server_dual
32+
/lib/network/test/mock_mc_thrift_server
2833
/libtool
2934
/m4/libtool.m4
3035
/m4/ltoptions.m4
@@ -44,3 +49,4 @@ Makefile.in
4449
*.o
4550
*.a
4651
*.la
52+
*.lo

‎mcrouter/configure.ac

+3-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ AC_CHECK_FUNCS([gettimeofday \
198198

199199
LIBS="$LIBS $BOOST_LDFLAGS $BOOST_CONTEXT_LIB $BOOST_FILESYSTEM_LIB \
200200
$BOOST_PROGRAM_OPTIONS_LIB $BOOST_SYSTEM_LIB $BOOST_REGEX_LIB \
201-
$BOOST_THREAD_LIB -lpthread -pthread -ldl -lunwind \
201+
$BOOST_THREAD_LIB -lfmt -lpthread -pthread -ldl -lunwind \
202202
-lbz2 -llz4 -llzma -lsnappy -lzstd -latomic -lxxhash"
203203

204204
AM_PATH_PYTHON([2.6],, [:])
@@ -212,6 +212,7 @@ AC_CONFIG_FILES([Makefile
212212
lib/Makefile
213213
lib/test/Makefile
214214
lib/carbon/Makefile
215+
lib/carbon/example/gen/Makefile
215216
lib/config/Makefile
216217
lib/config/test/Makefile
217218
lib/fbi/Makefile
@@ -220,6 +221,7 @@ AC_CONFIG_FILES([Makefile
220221
lib/fbi/cpp/test/Makefile
221222
lib/network/gen/Makefile
222223
lib/network/test/Makefile
224+
lib/network/test/gen/Makefile
223225
routes/Makefile
224226
routes/test/Makefile
225227
test/Makefile

‎mcrouter/lib/Makefile.am

+23-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# This source code is licensed under the MIT license found in the
44
# LICENSE file in the root directory of this source tree.
55

6-
SUBDIRS = carbon network/gen . config fbi network/test test
6+
SUBDIRS = carbon network/gen carbon/example/gen . config fbi network/test test
77

88
noinst_LIBRARIES = libmcrouter.a
99

@@ -21,9 +21,13 @@ libmcrouter_a_SOURCES = \
2121
CompressionCodecManager.cpp \
2222
CompressionCodecManager.h \
2323
Crc32HashFunc.h \
24+
DynamicUtil.h \
25+
DynamicUtil.cpp \
2426
FailoverErrorsSettingsBase.cpp \
2527
FailoverErrorsSettingsBase.h \
2628
FailoverErrorsSettings.h \
29+
FiberLocal.h \
30+
FiberLocalInternal.cpp \
2731
HashUtil.h \
2832
IOBufUtil.cpp \
2933
IOBufUtil.h \
@@ -87,16 +91,26 @@ libmcrouter_a_SOURCES = \
8791
carbon/TypeList.h \
8892
carbon/Util.h \
8993
carbon/Variant.h \
94+
carbon/connection/CarbonConnectionUtil.h \
95+
carbon/connection/ExternalCarbonConnectionImpl.cpp \
96+
carbon/connection/ExternalCarbonConnectionImpl.h \
97+
carbon/connection/ExternalCarbonConnectionImpl-inl.h \
98+
carbon/connection/InternalCarbonConnectionImpl.h \
99+
carbon/connection/PooledCarbonConnectionImpl.h \
90100
carbon/gen-cpp2/carbon_result_types.cpp \
91101
carbon/gen-cpp2/carbon_result_types.h \
92102
carbon/gen-cpp2/carbon_result_types.tcc \
93103
carbon/gen-cpp2/carbon_result_data.cpp \
94104
carbon/gen-cpp2/carbon_result_data.h \
105+
carbon/gen-cpp2/carbon_result_metadata.cpp \
106+
carbon/gen-cpp2/carbon_result_metadata.h \
95107
carbon/gen-cpp2/carbon_types.cpp \
96108
carbon/gen-cpp2/carbon_types.h \
97109
carbon/gen-cpp2/carbon_types.tcc \
98110
carbon/gen-cpp2/carbon_data.cpp \
99111
carbon/gen-cpp2/carbon_data.h \
112+
carbon/gen-cpp2/carbon_metadata.cpp \
113+
carbon/gen-cpp2/carbon_metadata.h \
100114
config/ConfigPreprocessor.cpp \
101115
config/ConfigPreprocessor.h \
102116
config/ImportResolverIf.h \
@@ -191,20 +205,28 @@ libmcrouter_a_SOURCES = \
191205
network/gen/gen-cpp2/Common_types.tcc \
192206
network/gen/gen-cpp2/Common_data.cpp \
193207
network/gen/gen-cpp2/Common_data.h \
208+
network/gen/gen-cpp2/Common_metadata.cpp \
209+
network/gen/gen-cpp2/Common_metadata.h \
210+
network/gen/gen-cpp2/Memcache.cpp \
211+
network/gen/gen-cpp2/Memcache.h \
194212
network/gen/gen-cpp2/MemcacheAsyncClient.cpp \
195213
network/gen/gen-cpp2/MemcacheAsyncClient.h \
196214
network/gen/gen-cpp2/MemcacheService_constants.cpp \
197215
network/gen/gen-cpp2/MemcacheService_constants.h \
198216
network/gen/gen-cpp2/MemcacheService_types.cpp \
199217
network/gen/gen-cpp2/MemcacheService_types.h \
200218
network/gen/gen-cpp2/MemcacheService_types.tcc \
219+
network/gen/gen-cpp2/MemcacheService_metadata.cpp \
220+
network/gen/gen-cpp2/MemcacheService_metadata.h \
201221
network/gen/gen-cpp2/MemcacheService_data.cpp \
202222
network/gen/gen-cpp2/MemcacheService_data.h \
203223
network/gen/gen-cpp2/Memcache_types.cpp \
204224
network/gen/gen-cpp2/Memcache_types.h \
205225
network/gen/gen-cpp2/Memcache_types.tcc \
206226
network/gen/gen-cpp2/Memcache_data.cpp \
207227
network/gen/gen-cpp2/Memcache_data.h \
228+
network/gen/gen-cpp2/Memcache_metadata.cpp \
229+
network/gen/gen-cpp2/Memcache_metadata.h \
208230
network/FizzContextProvider.cpp \
209231
network/FizzContextProvider.h \
210232
network/McAsciiParser-gen.cpp \

‎mcrouter/lib/TestMain.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
#include <gtest/gtest.h>
9+
10+
#include <folly/init/Init.h>
11+
12+
/**
13+
* Main entry point shared by several test suites
14+
* in the mcrouter OSS build.
15+
*/
16+
int main(int argc, char** argv) {
17+
::testing::InitGoogleTest(&argc, argv);
18+
folly::Init init(
19+
&argc, &argv, folly::InitOptions{}.removeFlags(false).useGFlags(false));
20+
21+
return RUN_ALL_TESTS();
22+
}

‎mcrouter/lib/carbon/Makefile.am

+6-2
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,18 @@ BUILT_SOURCES = \
1717

1818
gen-cpp2/carbon_result_types.cpp: gen-cpp2/carbon_result_types.h
1919
gen-cpp2/carbon_result_types.h: gen-cpp2/carbon_result_types.tcc
20-
gen-cpp2/carbon_result_types.tcc: gen-cpp2/carbon_result_data.cpp
20+
gen-cpp2/carbon_result_types.tcc: gen-cpp2/carbon_result_metadata.cpp
21+
gen-cpp2/carbon_result_metadata.cpp: gen-cpp2/carbon_result_metadata.h
22+
gen-cpp2/carbon_result_metadata.h: gen-cpp2/carbon_result_data.cpp
2123
gen-cpp2/carbon_result_data.cpp: gen-cpp2/carbon_result_data.h
2224
gen-cpp2/carbon_result_data.h: carbon_result.thrift
2325
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,include_prefix=mcrouter/lib/carbon/ carbon_result.thrift
2426

2527
gen-cpp2/carbon_types.cpp: gen-cpp2/carbon_types.h
2628
gen-cpp2/carbon_types.h: gen-cpp2/carbon_types.tcc
27-
gen-cpp2/carbon_types.tcc: gen-cpp2/carbon_data.cpp
29+
gen-cpp2/carbon_types.tcc: gen-cpp2/carbon_metadata.cpp
30+
gen-cpp2/carbon_metadata.cpp: gen-cpp2/carbon_metadata.h
31+
gen-cpp2/carbon_metadata.h: gen-cpp2/carbon_data.cpp
2832
gen-cpp2/carbon_data.cpp: gen-cpp2/carbon_data.h
2933
gen-cpp2/carbon_data.h: carbon.thrift
3034
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,include_prefix=mcrouter/lib/carbon/ -I $(INSTALL_DIR)/include/ carbon.thrift
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
noinst_LIBRARIES = libcarbon_hello_goodbye.a
2+
3+
thrift_sources = \
4+
gen-cpp2/HelloGoodbye_types.cpp \
5+
gen-cpp2/HelloGoodbye_types.h \
6+
gen-cpp2/HelloGoodbye_types.tcc \
7+
gen-cpp2/HelloGoodbye_data.cpp \
8+
gen-cpp2/HelloGoodbye_data.h
9+
10+
BUILT_SOURCES = $(thrift_sources)
11+
12+
gen-cpp2/HelloGoodbye_types.cpp: gen-cpp2/HelloGoodbye_types.h $(top_srcdir)/lib/network/gen/gen-cpp2/Common_types.h
13+
gen-cpp2/HelloGoodbye_types.h: gen-cpp2/HelloGoodbye_types.tcc
14+
gen-cpp2/HelloGoodbye_types.tcc: gen-cpp2/HelloGoodbye_data.cpp
15+
gen-cpp2/HelloGoodbye_data.cpp: gen-cpp2/HelloGoodbye_data.h
16+
gen-cpp2/HelloGoodbye_data.h: HelloGoodbye.thrift
17+
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/carbon/example/gen/ -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ HelloGoodbye.thrift
18+
19+
libcarbon_hello_goodbye_a_SOURCES = \
20+
$(thrift_sources) \
21+
HelloGoodbyeMessages.h \
22+
HelloGoodbyeMessages-inl.h \
23+
HelloGoodbyeMessagesThrift.cpp
24+
25+
libcarbon_hello_goodbye_a_CPPFLAGS = -I$(top_srcdir)/..

‎mcrouter/lib/fbi/cpp/test/Makefile.am

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
check_PROGRAMS = mcrouter_fbi_cpp_test
77

88
mcrouter_fbi_cpp_test_SOURCES = \
9-
main.cpp
9+
main.cpp \
10+
LowerBoundPrefixMapTest.cpp \
11+
ObjectPoolTests.cpp
1012

1113
mcrouter_fbi_cpp_test_CPPFLAGS = \
1214
-I$(top_srcdir)/.. \

‎mcrouter/lib/network/gen/Makefile.am

+13-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ BUILT_SOURCES = \
1414
gen-cpp2/Memcache_types.tcc \
1515
gen-cpp2/Memcache_data.cpp \
1616
gen-cpp2/Memcache_data.h \
17+
gen-cpp2/Memcache.cpp \
18+
gen-cpp2/Memcache.h \
1719
gen-cpp2/MemcacheAsyncClient.cpp \
1820
gen-cpp2/MemcacheAsyncClient.h \
1921
gen-cpp2/MemcacheService_constants.cpp \
@@ -26,25 +28,33 @@ BUILT_SOURCES = \
2628

2729
gen-cpp2/Common_types.cpp: gen-cpp2/Common_types.h
2830
gen-cpp2/Common_types.h: gen-cpp2/Common_types.tcc
29-
gen-cpp2/Common_types.tcc: gen-cpp2/Common_data.cpp
31+
gen-cpp2/Common_types.tcc: gen-cpp2/Common_metadata.cpp
32+
gen-cpp2/Common_metadata.cpp: gen-cpp2/Common_metadata.h
33+
gen-cpp2/Common_metadata.h: gen-cpp2/Common_data.cpp
3034
gen-cpp2/Common_data.cpp: gen-cpp2/Common_data.h
3135
gen-cpp2/Common_data.h: Common.thrift
3236
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/network/gen -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ Common.thrift
3337

3438
gen-cpp2/Memcache_types.cpp: gen-cpp2/Memcache_types.h
3539
gen-cpp2/Memcache_types.h: gen-cpp2/Memcache_types.tcc
36-
gen-cpp2/Memcache_types.tcc: gen-cpp2/Memcache_data.cpp
40+
gen-cpp2/Memcache_types.tcc: gen-cpp2/Memcache_metadata.cpp
41+
gen-cpp2/Memcache_metadata.cpp: gen-cpp2/Memcache_metadata.h
42+
gen-cpp2/Memcache_metadata.h: gen-cpp2/Memcache_data.cpp
3743
gen-cpp2/Memcache_data.cpp: gen-cpp2/Memcache_data.h
3844
gen-cpp2/Memcache_data.h: Memcache.thrift
3945
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/network/gen -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ Memcache.thrift
4046

47+
gen-cpp2/Memcache.cpp: gen-cpp2/Memcache.h
48+
gen-cpp2/Memcache.h: gen-cpp2/MemcacheAsyncClient.cpp
4149
gen-cpp2/MemcacheAsyncClient.cpp: gen-cpp2/MemcacheAsyncClient.h
4250
gen-cpp2/MemcacheAsyncClient.h: gen-cpp2/MemcacheService_constants.cpp
4351
gen-cpp2/MemcacheService_constants.cpp: gen-cpp2/MemcacheService_constants.h
4452
gen-cpp2/MemcacheService_constants.h: gen-cpp2/MemcacheService_types.cpp
4553
gen-cpp2/MemcacheService_types.cpp: gen-cpp2/MemcacheService_types.h
4654
gen-cpp2/MemcacheService_types.h: gen-cpp2/MemcacheService_types.tcc
47-
gen-cpp2/MemcacheService_types.tcc: gen-cpp2/MemcacheService_data.cpp
55+
gen-cpp2/MemcacheService_types.tcc: gen-cpp2/MemcacheService_metadata.cpp
56+
gen-cpp2/MemcacheService_metadata.cpp: gen-cpp2/MemcacheService_metadata.h
57+
gen-cpp2/MemcacheService_metadata.h: gen-cpp2/MemcacheService_data.cpp
4858
gen-cpp2/MemcacheService_data.cpp: gen-cpp2/MemcacheService_data.h
4959
gen-cpp2/MemcacheService_data.h: MemcacheService.thrift
5060
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/network/gen -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ MemcacheService.thrift

‎mcrouter/lib/network/test/Makefile.am

+40-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
# This source code is licensed under the MIT license found in the
44
# LICENSE file in the root directory of this source tree.
55

6-
noinst_PROGRAMS = mock_mc_server
6+
SUBDIRS = gen
7+
8+
noinst_PROGRAMS = mock_mc_server mock_mc_thrift_server mock_mc_server_dual
79
noinst_LIBRARIES = libtest_util.a
810
check_PROGRAMS = mcrouter_network_test
911

@@ -44,11 +46,17 @@ mock_mc_thrift_server_CPPFLAGS = -I$(top_srcdir)/..
4446
mock_mc_thrift_server_LDADD = \
4547
$(top_builddir)/lib/libmcrouter.a \
4648
-lthriftcpp2 \
49+
-lserverdbginfo \
4750
-ltransport \
51+
-lthriftanyrep \
52+
-lthrifttype \
53+
-lthrifttyperep \
4854
-lthriftprotocol \
4955
-lrpcmetadata \
56+
-lthriftmetadata \
5057
-lasync \
5158
-lconcurrency \
59+
-lruntime \
5260
-lthrift-core \
5361
-lfmt \
5462
-lfizz \
@@ -65,11 +73,17 @@ mock_mc_server_dual_CPPFLAGS = -I$(top_srcdir)/..
6573
mock_mc_server_dual_LDADD = \
6674
$(top_builddir)/lib/libmcrouter.a \
6775
-lthriftcpp2 \
76+
-lserverdbginfo \
6877
-ltransport \
78+
-lthriftanyrep \
79+
-lthrifttype \
80+
-lthrifttyperep \
6981
-lthriftprotocol \
7082
-lrpcmetadata \
83+
-lthriftmetadata \
7184
-lasync \
7285
-lconcurrency \
86+
-lruntime \
7387
-lthrift-core \
7488
-lfmt \
7589
-lfizz \
@@ -86,15 +100,25 @@ libtest_util_a_CPPFLAGS = -I$(top_srcdir)/..
86100
mcrouter_network_test_SOURCES = \
87101
AccessPointTest.cpp \
88102
AsyncMcClientTestSync.cpp \
103+
AsyncMcServerShutdownTest.cpp \
104+
AsyncMcServerTest.cpp \
89105
CarbonMessageDispatcherTest.cpp \
90106
CarbonMockMcTest.cpp \
91107
CarbonQueueAppenderTest.cpp \
108+
gen/gen-cpp2/CarbonTest_types.cpp \
109+
gen/gen-cpp2/CarbonTest_types.h \
110+
gen/gen-cpp2/CarbonTest_types.tcc \
111+
gen/gen-cpp2/CarbonTest_data.cpp \
112+
gen/gen-cpp2/CarbonTest_data.h \
92113
gen/CarbonTestMessages.cpp \
114+
gen/CarbonTestMessagesThrift.cpp \
93115
McAsciiParserTest.cpp \
94116
McParserTest.cpp \
95117
McServerAsciiParserTest.cpp \
118+
MemcacheConnectionTest.cpp \
119+
MemcacheTest.cpp \
120+
RequestExpiryTest.cpp \
96121
MockMc.cpp \
97-
MockMcServer.cpp \
98122
SessionTest.cpp \
99123
SessionTestHarness.cpp \
100124
SessionTestHarness.h \
@@ -108,13 +132,25 @@ mcrouter_network_test_CPPFLAGS = \
108132
-isystem $(top_srcdir)/lib/gtest/include
109133

110134
mcrouter_network_test_LDADD = \
135+
$(top_builddir)/libmcroutercore.a \
111136
$(top_builddir)/lib/libmcrouter.a \
137+
$(top_builddir)/lib/carbon/example/gen/libcarbon_hello_goodbye.a \
112138
$(top_builddir)/lib/libtestmain.la \
113-
$(top_builddir)/lib/network/libtest_util.a \
139+
$(top_builddir)/lib/network/test/libtest_util.a \
114140
-lthriftcpp2 \
141+
-lserverdbginfo \
142+
-ltransport \
143+
-lthriftanyrep \
144+
-lthrifttype \
145+
-lthrifttyperep \
115146
-lthriftprotocol \
116147
-lrpcmetadata \
117-
-ltransport \
148+
-lthriftannotation \
149+
-lthriftmetadata \
150+
-lasync \
151+
-lconcurrency \
152+
-lruntime \
153+
-lthrift-core \
118154
-lwangle \
119155
-lfizz \
120156
-lsodium \
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
BUILT_SOURCES = \
2+
gen-cpp2/CarbonTest_types.cpp \
3+
gen-cpp2/CarbonTest_types.h \
4+
gen-cpp2/CarbonTest_types.tcc \
5+
gen-cpp2/CarbonTest_data.cpp \
6+
gen-cpp2/CarbonTest_data.h
7+
8+
gen-cpp2/CarbonTest_types.cpp: gen-cpp2/CarbonTest_types.h
9+
gen-cpp2/CarbonTest_types.h: gen-cpp2/CarbonTest_types.tcc
10+
gen-cpp2/CarbonTest_types.tcc: gen-cpp2/CarbonTest_data.cpp
11+
gen-cpp2/CarbonTest_data.cpp: gen-cpp2/CarbonTest_data.h
12+
gen-cpp2/CarbonTest_data.h: CarbonTest.thrift
13+
@FBTHRIFT@ -gen mstch_cpp2:stack_arguments,sync_methods_return_try,deprecated_terse_writes,include_prefix=mcrouter/lib/network/test/gen/ -I $(top_srcdir)/.. -I $(INSTALL_DIR)/include/ CarbonTest.thrift

0 commit comments

Comments
 (0)
Please sign in to comment.