-INCLUDES = -I$(top_builddir)/include -I$(top_builddir)/lib
-LDADDS = ../lib/libmemcached.la
+LDADDS = $(top_builddir)/libmemcached/libmemcached.la
-EXTRA_DIST = output.res output2.res\
+if BUILD_LIBMEMCACHEDUTIL
+LDADDS+= $(top_builddir)/libmemcached/libmemcachedutil.la
+endif
+
+EXTRA_DIST = \
r/memcat.res\
r/memcp.res\
r/memrm.res\
t/memslap.test\
t/memstat.test
-LIBS =
+LIBS =
+
+noinst_HEADERS = test.h server.h ketama_test_cases.h ketama_test_cases_spy.h hash_results.h libmemcached_world.h
+noinst_PROGRAMS = testapp testplus udptest atomsmasher startservers
+noinst_LTLIBRARIES= libserver.la libtest.la
+
+libserver_la_SOURCES= server.c
+libtest_la_SOURCES= test.c
+
+testapp_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING)
+testapp_SOURCES = function.c
+testapp_LDADD = $(top_builddir)/clients/libgenexec.la libtest.la libserver.la $(LDADDS)
-noinst_PROGRAMS = testapp
+testplus_SOURCES = plus.cpp
+testplus_LDADD = libtest.la libserver.la $(LDADDS)
-testapp_SOURCES = test.c
-testapp_LDADD = $(LDADDS)
+udptest_SOURCES = udp.c
+udptest_LDADD = libtest.la libserver.la $(LDADDS)
-record:
- ./testapp > output.res
+atomsmasher_SOURCES = atomsmasher.c
+atomsmasher_LDADD = $(top_builddir)/clients/libgenexec.la libtest.la libserver.la $(LDADDS)
+
+startservers_SOURCES = start.c
+startservers_LDADD = libserver.la $(LDADDS)
+
+client-record:
sh t/memcat.test > r/memcat.res
sh t/memcp.test > r/memcp.res
sh t/memrm.test > r/memrm.res
sh t/memslap.test > r/memslap.res
sh t/memstat.test > r/memstat.res
-record-extended:
- ./testapp extended > output2.res
+test: testapp testplus library_test memcapable
+ echo "Tests completed"
+
+library_test:
+ ./testapp
+# ./testplus
-test: testapp
- ./testapp > output.cmp
- diff output.res output.cmp
+memcapable:
+ @MEMC_BINARY@ -d -P /tmp/Xumemc.pid -p 12555
+ @$(top_builddir)/clients/memcapable -p 12555 || echo "Your memcached server does not support all commands"
+ @cat /tmp/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
+ @rm /tmp/Xumemc.pid
+
+clients:
+ @MEMC_BINARY@ -d -P /tmp/Xumemc.pid -p 12555
+ export MEMCACHED_SERVERS="localhost:12555"
sh t/memcat.test > r/memcat.cmp
diff r/memcat.res r/memcat.cmp
sh t/memcp.test > r/memcp.cmp
diff r/memslap.res r/memslap.cmp
sh t/memstat.test > r/memstat.cmp
diff r/memstat.res r/memstat.cmp
-
-test-extended: testapp
- ./testapp extended > output.cmp
- diff output2.res output.cmp
+ cat /tmp/Xumemc.pid | xargs kill
+ rm /tmp/Xumemc.pid
valgrind:
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes testapp
+ $(LIBTOOL) --mode=execute valgrind --leak-check=yes --show-reachable=yes testapp
+
+cachegrind:
+ rm -f cachegrind.out.*
+ $(LIBTOOL) --mode=execute valgrind --tool=cachegrind --branch-sim=yes testapp
+ cg_annotate cachegrind.out.* --auto=yes > /tmp/cachegrind.out
+
+callgrind:
+ rm -f callgrind.out.*
+ $(LIBTOOL) --mode=execute valgrind --tool=callgrind testapp
+ callgrind_annotate callgrind.out.* --auto=yes > /tmp/callgrind.out
+
+helgrind:
+ rm -f helgrind.out.*
+ $(LIBTOOL) --mode=execute valgrind --tool=helgrind testapp
+
+helgrind-slap:
+ $(LIBTOOL) --mode=execute valgrind --tool=helgrind ${top_builddir}/clients/memslap --server=localhost --concurrency=30
+
+test-no-outputdiff: test
-valgrind-extended:
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes testapp extended
+hudson-valgrind:
+ $(LIBTOOL) --mode=execute valgrind --leak-check=yes --show-reachable=yes --log-file=/tmp/valgrind.out testapp