2 # Copyright (C) 2011 Data Differential
5 # Use and distribution licensed under the BSD license. See
6 # the COPYING file in the parent directory for full text.
8 # included from Top Level Makefile.am
9 # All paths should be given relative to the root
12 libmemcached/libmemcached.la \
13 libmemcached/libmemcachedutil.la \
16 DEBUG_COMMAND= $(LIBTOOL) --mode=execute gdb
18 PAHOLE_COMMAND= $(LIBTOOL) --mode=execute pahole
21 tests/cpp_example.cc \
26 tests/libmemcached_world.h
28 # Cycle should always run first
29 tests_cycle_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING)
30 tests_cycle_CXXFLAGS= $(AM_CXXFLAGS)
31 tests_cycle_CXXFLAGS+= ${PTHREAD_CFLAGS}
32 tests_cycle_SOURCES= tests/cycle.cc
33 tests_cycle_DEPENDENCIES= $(TESTS_LDADDS)
34 tests_cycle_LDADD= $(tests_cycle_DEPENDENCIES)
35 tests_cycle_LDADD+= ${PTHREAD_LIBS}
36 check_PROGRAMS+= tests/cycle
37 noinst_PROGRAMS+= tests/cycle
39 include tests/libmemcached-1.0/include.am
41 tests_failure_SOURCES= tests/failure.cc
42 tests_failure_CXXFLAGS = $(AM_CXXFLAGS)
43 tests_failure_DEPENDENCIES= $(TESTS_LDADDS)
44 tests_failure_LDADD= $(tests_failure_DEPENDENCIES)
45 check_PROGRAMS+= tests/failure
46 noinst_PROGRAMS+= tests/failure
48 tests_testhashkit_SOURCES = tests/hashkit_functions.cc
49 tests_testhashkit_DEPENDENCIES = libtest/libtest.la libhashkit/libhashkit.la $(TESTS_LDADDS)
50 tests_testhashkit_LDADD = $(tests_testhashkit_DEPENDENCIES)
51 check_PROGRAMS+= tests/testhashkit
52 noinst_PROGRAMS+= tests/testhashkit
54 tests_hash_plus_SOURCES= tests/hash_plus.cc
55 tests_hash_plus_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
56 tests_hash_plus_DEPENDENCIES= $(tests_testhashkit_DEPENDENCIES)
57 tests_hash_plus_LDADD= $(tests_testhashkit_DEPENDENCIES)
58 check_PROGRAMS+= tests/hash_plus
59 noinst_PROGRAMS+= tests/hash_plus
61 tests_memcapable_SOURCES= tests/memcapable.cc
62 tests_memcapable_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
63 tests_memcapable_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memcapable
64 tests_memcapable_LDADD= libtest/libtest.la $(TESTS_LDADDS)
65 check_PROGRAMS+= tests/memcapable
66 noinst_PROGRAMS+= tests/memcapable
68 tests_memstat_SOURCES= tests/memstat.cc
69 tests_memstat_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
70 tests_memstat_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memstat
71 tests_memstat_LDADD= libtest/libtest.la $(TESTS_LDADDS)
72 check_PROGRAMS+= tests/memstat
73 noinst_PROGRAMS+= tests/memstat
75 tests_memcp_SOURCES= tests/memcp.cc
76 tests_memcp_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
77 tests_memcp_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memcp
78 tests_memcp_LDADD= libtest/libtest.la $(TESTS_LDADDS)
79 check_PROGRAMS+= tests/memcp
80 noinst_PROGRAMS+= tests/memcp
82 tests_memflush_SOURCES= tests/memflush.cc
83 tests_memflush_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
84 tests_memflush_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memflush
85 tests_memflush_LDADD= libtest/libtest.la $(TESTS_LDADDS)
86 check_PROGRAMS+= tests/memflush
87 noinst_PROGRAMS+= tests/memflush
89 tests_memrm_SOURCES= tests/memrm.cc
90 tests_memrm_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
91 tests_memrm_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memrm
92 tests_memrm_LDADD= libtest/libtest.la $(TESTS_LDADDS)
93 check_PROGRAMS+= tests/memrm
94 noinst_PROGRAMS+= tests/memrm
96 tests_memexist_SOURCES= tests/memexist.cc
97 tests_memexist_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
98 tests_memexist_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memexist
99 tests_memexist_LDADD= libtest/libtest.la $(TESTS_LDADDS)
100 check_PROGRAMS+= tests/memexist
101 noinst_PROGRAMS+= tests/memexist
103 tests_memtouch_SOURCES= tests/memtouch.cc
104 tests_memtouch_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
105 tests_memtouch_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memtouch
106 tests_memtouch_LDADD= libtest/libtest.la $(TESTS_LDADDS)
107 check_PROGRAMS+= tests/memtouch
108 noinst_PROGRAMS+= tests/memtouch
110 tests_memcat_SOURCES= tests/memcat.cc
111 tests_memcat_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
112 tests_memcat_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memcat
113 tests_memcat_LDADD= libtest/libtest.la $(TESTS_LDADDS)
114 check_PROGRAMS+= tests/memcat
115 noinst_PROGRAMS+= tests/memcat
117 tests_memerror_SOURCES= tests/memerror.cc
118 tests_memerror_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
119 tests_memerror_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memerror
120 tests_memerror_LDADD= libtest/libtest.la $(TESTS_LDADDS)
121 check_PROGRAMS+= tests/memerror
122 noinst_PROGRAMS+= tests/memerror
124 tests_memslap_SOURCES= tests/memslap.cc
125 tests_memslap_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
126 tests_memslap_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memslap
127 tests_memslap_LDADD= libtest/libtest.la $(TESTS_LDADDS)
128 check_PROGRAMS+= tests/memslap
129 noinst_PROGRAMS+= tests/memslap
131 tests_memdump_SOURCES= tests/memdump.cc
132 tests_memdump_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
133 tests_memdump_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS) clients/memdump
134 tests_memdump_LDADD= libtest/libtest.la $(TESTS_LDADDS)
135 check_PROGRAMS+= tests/memdump
136 noinst_PROGRAMS+= tests/memdump
138 # Test linking with C application
139 tests_c_test_SOURCES= tests/c_test.c
140 tests_c_test_LDADD= libmemcached/libmemcached.la
141 tests_c_test_DEPENDENCIES= libmemcached/libmemcached.la
142 check_PROGRAMS+=tests/c_test
143 noinst_PROGRAMS+=tests/c_test
145 # Test linking with C application/SASL include
146 tests_c_sasl_test_SOURCES= tests/c_sasl_test.c
147 tests_c_sasl_test_LDADD= libmemcached/libmemcached.la
148 tests_c_sasl_test_DEPENDENCIES= libmemcached/libmemcached.la
149 check_PROGRAMS+=tests/c_sasl_test
150 noinst_PROGRAMS+=tests/c_sasl_test
154 check-local: $(TEST_DOCS)
155 @echo "Tests completed"
157 test-x: test-plus test-memcp test-memdump test-memflush test-memstat
158 @echo "Tests completed"
160 test-memcp: clients/memcp
161 @echo "Testing memcp"
162 @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
163 @clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat
164 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
167 valgrind-memcp: clients/memcat clients/memcp
168 @echo "Testing memcp"
169 @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
170 @$(VALGRIND_COMMAND) clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat
171 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
174 test-memflush: clients/memflush
175 @echo "Testing memflush"
176 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
177 @clients/memflush --servers="localhost:12555"
178 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
181 valgrind-memflush: clients/memflush
182 @echo "Testing memflush"
183 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
184 @$(VALGRIND_COMMAND) clients/memflush --servers="localhost:12555"
185 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
188 test-memdump: clients/memdump clients/memcp
189 @echo "Testing memdump"
190 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
191 @clients/memcp --servers="localhost:12555" clients/memcat
192 @clients/memdump --servers="localhost:12555" > /dev/null
193 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
196 valgrind-memdump: clients/memcat clients/memcp
197 @echo "Testing memdump"
198 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
199 @clients/memcp --servers="localhost:12555" clients/memcat
200 @$(VALGRIND_COMMAND) clients/memdump --servers="localhost:12555" > /dev/null
201 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
204 test-memstat: clients/memstat
205 @echo "Testing memstat"
206 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
207 @clients/memstat --servers="localhost:12555" > /dev/null
208 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
211 valgrind-memstat: clients/memstat
212 @echo "Testing memstat"
213 @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
214 @$(VALGRIND_COMMAND) clients/memstat --servers="localhost:12555" > /dev/null
215 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
218 test-mem: tests/var tests/testapp
221 test-sasl: tests/sasl
224 test-atom: tests/var tests/atomsmasher
227 test-plus: tests/var tests/testplus
230 test-hash: tests/var tests/testhashkit
233 test-hashplus: tests/var tests/hash_plus
236 test-cycle: tests/var tests/cycle
239 test-memcapable: tests/var tests/memcapable
242 pahole-mem: tests/testapp
243 @$(PAHOLE_COMMAND) tests/testapp
245 gdb-mem: tests/testapp
246 @$(DEBUG_COMMAND) tests/testapp
249 @$(DEBUG_COMMAND) tests/sasl
251 gdb-atom: tests/atomsmasher
252 @$(DEBUG_COMMAND) tests/atomsmasher
254 gdb-udp: tests/testudp
255 @$(DEBUG_COMMAND) tests/testudp
257 gdb-plus: tests/testplus
258 $(DEBUG_COMMAND) tests/testplus
260 gdb-hash: tests/testhashkit
261 @$(DEBUG_COMMAND) tests/testhashkit
263 gdb-hashplus: tests/hash_plus
264 @$(DEBUG_COMMAND) tests/hash_plus
266 gdb-cycle: tests/cycle
267 @$(DEBUG_COMMAND) tests/cycle
269 gdb-failure: tests/failure
270 @$(DEBUG_COMMAND) tests/failure
272 valgrind-cycle: tests/cycle
273 $(VALGRIND_COMMAND) tests/cycle
275 valgrind-mem: tests/testapp
276 @$(VALGRIND_COMMAND) tests/testapp
278 valgrind-failure: tests/failure
279 @$(VALGRIND_COMMAND) tests/failure
281 valgrind-atom: tests/atomsmasher
282 $(VALGRIND_COMMAND) tests/atomsmasher
284 valgrind-udp: tests/testudp
285 $(VALGRIND_COMMAND) tests/testudp
287 valgrind-plus: tests/testplus
288 @$(VALGRIND_COMMAND) tests/testplus
290 valgrind-sasl: tests/sasl
291 @$(VALGRIND_COMMAND) tests/sasl
293 valgrind-hash: tests/testhashkit
294 @$(VALGRIND_COMMAND) tests/testhashkit
296 valgrind-hashplus: tests/hash_plus
297 @$(VALGRIND_COMMAND) tests/hash_plus
299 helgrind-cycle: tests/cycle
300 @$(HELGRIND_COMMAND) tests/cycle
302 helgrind-mem: tests/testapp
303 @$(HELGRIND_COMMAND) tests/testapp
305 helgrind-atom: tests/atomsmasher
306 @$(HELGRIND_COMMAND) tests/atomsmasher
308 helgrind-udp: tests/testudp
309 @$(HELGRIND_COMMAND) tests/testudp
311 helgrind-plus: tests/testplus
312 @$(HELGRIND_COMMAND) tests/testplus
314 helgrind-hash: tests/testhashkit
315 @$(HELGRIND_COMMAND) tests/testhashkit
317 helgrind-hashplus: tests/hash_plus
318 @$(HELGRIND_COMMAND) tests/hash_plus