Added more test cases for command line applications.
[m6w6/libmemcached] / tests / include.am
1 # vim:ft=automake
2 # included from Top Level Makefile.am
3 # All paths should be given relative to the root
4
5 TESTS_LDADDS = libmemcached/libmemcached.la
6
7 VALGRIND_COMMAND= $(LIBTOOL) --mode=execute valgrind --leak-check=yes --show-reachable=yes
8
9 DEBUG_COMMAND= $(LIBTOOL) --mode=execute gdb
10
11 if BUILD_LIBMEMCACHEDUTIL
12 TESTS_LDADDS+= libmemcached/libmemcachedutil.la
13 endif
14
15 EXTRA_DIST+= \
16 tests/r/memcat.res \
17 tests/r/memcp.res \
18 tests/r/memrm.res \
19 tests/r/memslap.res \
20 tests/r/memstat.res \
21 tests/t/memcat.test \
22 tests/t/memcp.test \
23 tests/t/memrm.test \
24 tests/t/memslap.test \
25 tests/t/memstat.test
26
27 noinst_HEADERS+= \
28 tests/hash_results.h \
29 tests/ketama_test_cases.h \
30 tests/ketama_test_cases_spy.h \
31 tests/libmemcached_world.h \
32 tests/server.h \
33 tests/test.h
34
35 noinst_PROGRAMS+= \
36 tests/atomsmasher \
37 tests/startservers \
38 tests/testapp \
39 tests/testhashkit \
40 tests/testplus
41
42 noinst_LTLIBRARIES+= tests/libserver.la
43 tests_libserver_la_SOURCES= tests/server.c
44
45 noinst_LTLIBRARIES+= tests/libtest.la
46 tests_libtest_la_SOURCES= tests/test.c
47
48 tests_testapp_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING)
49 tests_testapp_SOURCES= tests/mem_functions.c
50 tests_testapp_LDADD= \
51 clients/libgenexec.la \
52 tests/libserver.la \
53 tests/libtest.la \
54 libmemcached/libmemcachedinternal.la \
55 $(TESTS_LDADDS)
56 tests_testapp_DEPENDENCIES= $(tests_testapp_LDADD)
57
58 tests_testplus_SOURCES= tests/plus.cpp
59 tests_testplus_LDADD= tests/libtest.la tests/libserver.la $(TESTS_LDADDS)
60 tests_testplus_DEPENDENCIES= $(tests_testplus_LDADD)
61
62 tests_atomsmasher_SOURCES= tests/atomsmasher.c
63 tests_atomsmasher_LDADD= \
64 clients/libgenexec.la \
65 tests/libserver.la \
66 tests/libtest.la \
67 $(TESTS_LDADDS)
68 tests_atomsmasher_DEPENDENCIES= $(tests_atomsmasher_LDADD)
69
70 tests_startservers_SOURCES= tests/start.c
71 tests_startservers_LDADD= tests/libserver.la $(TESTS_LDADDS)
72 tests_startservers_DEPENDENCIES= $(tests_startservers_LDADD)
73
74 tests_testhashkit_SOURCES = tests/hashkit_functions.c
75 tests_testhashkit_LDADD = tests/libtest.la libhashkit/libhashkit.la
76 tests_testhashkit_DEPENDENCIES = $(tests_testhashkit_LDADD)
77
78 test: test-docs test-plus test-mem test-hash memcapable test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat
79 echo "Tests completed"
80
81 memcapable: clients/memcapable
82 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
83 @clients/memcapable -p 12555 || echo "Your memcached server does not support all commands"
84 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
85 @rm tests/Xumemc.pid
86
87 test-memcat: clients/memcat clients/memcp
88 @echo "Testing memcat"
89 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
90 @clients/memcp --servers="localhost:12555" clients/memcp
91 @clients/memcat --servers="localhost:12555" memcp > tests/scratch
92 # @diff clients/memcp tests/scratch
93 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
94 @rm tests/Xumemc.pid
95 @rm tests/scratch
96
97 valgrind-memcat: clients/memcat clients/memcp
98 @echo "Testing memcat"
99 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
100 @clients/memcp --servers="localhost:12555" clients/memcp
101 @$(VALGRIND_COMMAND) clients/memcat --servers="localhost:12555" memcp > tests/scratch
102 # @diff clients/memcp tests/scratch
103 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
104 @rm tests/Xumemc.pid
105 @rm tests/scratch
106
107 test-memcp: clients/memcp
108 @echo "Testing memcp"
109 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
110 @clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat
111 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
112 @rm tests/Xumemc.pid
113
114 valgrind-memcp: clients/memcat clients/memcp
115 @echo "Testing memcp"
116 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
117 @$(VALGRIND_COMMAND) clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat
118 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
119 @rm tests/Xumemc.pid
120
121 test-memrm: clients/memrm clients/memcp
122 @echo "Testing memrm"
123 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
124 @clients/memcp --servers="localhost:12555" clients/memcat
125 @clients/memrm --servers="localhost:12555" memcat
126 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
127 @rm tests/Xumemc.pid
128
129 valgrind-memrm: clients/memcat clients/memcp
130 @echo "Testing memrm"
131 @@MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555
132 @clients/memcp --servers="localhost:12555" clients/memcat
133 @$(VALGRIND_COMMAND) clients/memrm --servers="localhost:12555" memcat
134 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
135 @rm tests/Xumemc.pid
136
137 test-memflush: clients/memflush
138 @echo "Testing memflush"
139 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
140 @clients/memflush --servers="localhost:12555"
141 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
142 @rm tests/Xumemc.pid
143
144 valgrind-memflush: clients/memflush
145 @echo "Testing memflush"
146 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
147 @$(VALGRIND_COMMAND) clients/memflush --servers="localhost:12555"
148 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
149 @rm tests/Xumemc.pid
150
151 test-memdump: clients/memdump clients/memcp
152 @echo "Testing memdump"
153 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
154 @clients/memcp --servers="localhost:12555" clients/memcat
155 @clients/memdump --servers="localhost:12555" > /dev/null
156 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
157 @rm tests/Xumemc.pid
158
159 valgrind-memdump: clients/memcat clients/memcp
160 @echo "Testing memdump"
161 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
162 @clients/memcp --servers="localhost:12555" clients/memcat
163 @$(VALGRIND_COMMAND) clients/memdump --servers="localhost:12555" > /dev/null
164 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
165 @rm tests/Xumemc.pid
166
167 test-memstat: clients/memstat
168 @echo "Testing memstat"
169 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
170 @clients/memstat --servers="localhost:12555" > /dev/null
171 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
172 @rm tests/Xumemc.pid
173
174 valgrind-memstat: clients/memstat
175 @echo "Testing memstat"
176 @/usr/local/bin/memcached -d -P `pwd`/tests/Xumemc.pid -p 12555
177 @$(VALGRIND_COMMAND) clients/memstat --servers="localhost:12555" > /dev/null
178 @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
179 @rm tests/Xumemc.pid
180
181 test-memerror: clients/memerror
182 @echo "Testing memerror"
183 @clients/memerror 0 > /dev/null
184
185 valgrind-memerror: clients/memerror
186 @echo "Testing memerror"
187 @$(VALGRIND_COMMAND) clients/memerror 0 > /dev/null
188
189
190
191
192
193 MEMSLAP_COMMAND= clients/memslap $(COLLECTION) $(SUITE)
194
195 MEM_COMMAND= tests/testapp $(COLLECTION) $(SUITE)
196
197 PLUS_COMMAND= tests/testplus $(COLLECTION) $(SUITE)
198
199 ATOM_COMMAND= tests/atomsmasher $(COLLECTION) $(SUITE)
200
201 HASH_COMMAND= tests/testhashkit $(COLLECTION) $(SUITE)
202
203 test-mem: tests/testapp
204 $(MEM_COMMAND)
205
206 test-atom: tests/atomsmasher
207 $(ATOM_COMMAND)
208
209 test-plus: tests/testplus
210 $(PLUS_COMMAND)
211
212 test-hash: tests/testhashkit
213 $(HASH_COMMAND)
214
215 gdb-mem: tests/testapp
216 $(DEBUG_COMMAND) $(MEM_COMMAND)
217
218 gdb-atom: tests/atomsmasher
219 $(DEBUG_COMMAND) $(ATOM_COMMAND)
220
221 gdb-plus: tests/testplus
222 $(DEBUG_COMMAND) $(PLUS_COMMAND)
223
224 gdb-hash: tests/testhashkit
225 $(DEBUG_COMMAND) $(HASH_COMMAND)
226
227 gdb-memslap: clients/memslap
228 $(DEBUG_COMMAND) $(MEMSLAP_COMMAND)
229
230 valgrind-mem: tests/testapp
231 $(VALGRIND_COMMAND) $(MEM_COMMAND)
232
233 valgrind-atom: tests/atomsmasher
234 $(VALGRIND_COMMAND) $(ATOM_COMMAND)
235
236 valgrind-plus: tests/testplus
237 $(VALGRIND_COMMAND) $(PLUS_COMMAND)
238
239 valgrind-hash: tests/testhashkit
240 $(VALGRIND_COMMAND) $(HASH_COMMAND)
241
242 valgrind-memslap: clients/memslap
243 $(VALGRIND_COMMAND) $(MEMSLAP_COMMAND)
244
245 PHONY += valgrind
246 valgrind: tests/testapp tests/testhashkit valgrind-mem valgrind-hash valgrind-memcat valgrind-memcp valgrind-memrm valgrind-memerror valgrind-memdump valgrind-memflush valgrind-memstat
247
248 PHONY += cachegrind
249 CLEANFILES += tests/cachegrind.out
250 cachegrind:
251 rm -f tests/cachegrind.out.*
252 $(LIBTOOL) --mode=execute valgrind --tool=cachegrind --cachegrind-out-file=tests/cachegrind.out.%p --branch-sim=yes tests/testapp
253 cg_annotate tests/cachegrind.out.* --auto=yes > tests/cachegrind.out
254
255 PHONY += callgrind
256 CLEANFILES += tests/callgrind.out
257 callgrind:
258 rm -f tests/callgrind.out.*
259 $(LIBTOOL) --mode=execute valgrind --tool=callgrind --callgrind-out-file=tests/callgrind.out.%p tests/testapp
260 callgrind_annotate tests/callgrind.out.* --auto=yes > tests/callgrind.out
261
262 PHONY += helgrind
263 CLEANFILES+= helgrind.out.*
264 helgrind:
265 rm -f helgrind.out.*
266 $(LIBTOOL) --mode=execute valgrind --tool=helgrind tests/testapp
267
268 PHONY += helgrind-slap
269 helgrind-slap:
270 $(LIBTOOL) --mode=execute valgrind --tool=helgrind clients/memslap --server=localhost --concurrency=30
271
272 test-no-outputdiff: test
273
274 hudson-valgrind: tests/testapp
275 $(VALGRIND_COMMAND) --log-file=tests/valgrind.out $(MEM_COMMAND)