Add memcapable, a tool to test memcached capabilities
[awesomized/libmemcached] / tests / Makefile.am
index f23fde0b9a054c8f44081e1a3d6ba1b80d4f7e85..d9a1f7e6bbc7edcf0e6ab88ea7b158b5ee1ac908 100644 (file)
@@ -1,5 +1,8 @@
-INCLUDES = -I$(top_builddir)/include -I$(top_builddir)/lib
-LDADDS = ../lib/libmemcached.la
+LDADDS = $(top_builddir)/libmemcached/libmemcached.la
+
+if BUILD_LIBMEMCACHEDUTIL
+LDADDS+= $(top_builddir)/libmemcachedutil/libmemcachedutil.la
+endif
 
 EXTRA_DIST = output.res output2.res\
                r/memcat.res\
@@ -13,28 +16,34 @@ EXTRA_DIST = output.res output2.res\
                t/memslap.test\
                t/memstat.test
 
-LIBS = 
+LIBS =
 
-noinst_HEADERS = test.h server.h
+noinst_HEADERS = test.h server.h ketama_test_cases.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_SOURCES = test.c function.c ../src/generator.c ../src/execute.c server.c
-testapp_LDADD = $(LDADDS)
+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)
 
-testplus_SOURCES = test.c plus.cpp server.c
-testplus_LDADD = $(LDADDS)
+testplus_SOURCES = plus.cpp
+testplus_LDADD = libtest.la libserver.la $(LDADDS)
 
-udptest_SOURCES = test.c udp.c server.c
-udptest_LDADD = $(LDADDS)
+udptest_SOURCES = udp.c
+udptest_LDADD = libtest.la libserver.la $(LDADDS)
 
-atomsmasher_SOURCES = test.c atomsmasher.c server.c ../src/generator.c ../src/execute.c
-atomsmasher_LDADD = $(LDADDS)
+atomsmasher_SOURCES = atomsmasher.c
+atomsmasher_LDADD = $(top_builddir)/clients/libgenexec.la libtest.la libserver.la $(LDADDS)
 
-startservers_SOURCES = start.c server.c
-startservers_LDADD = $(LDADDS)
+startservers_SOURCES = start.c
+startservers_LDADD = libserver.la $(LDADDS)
 
 record:
        ./testapp > output.res
+       ./testplus > output_plus.res
 
 client-record:
        sh t/memcat.test > r/memcat.res
@@ -46,15 +55,23 @@ client-record:
 record-extended:
        ./testapp extended > output2.res
 
-test: testapp library_test
+test: testapp testplus library_test memcapable
        echo "Tests completed"
 
 library_test:
        ./testapp > output.cmp
        diff output.res output.cmp
+#      ./testplus > output_plus.cmp
+#      diff output_plus.res output_plus.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:
-       memcached -d -P /tmp/Xumemc.pid -p 12555
+       @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
@@ -71,3 +88,24 @@ clients:
 
 valgrind:
        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: testapp
+       ./testapp > /dev/null
+       @echo "Test completed"