X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Finclude.am;h=6c263765bdb507bc329a6ed62261264fe895685b;hb=48171051f3c496c6bb2841a3abadbe9faa9cad07;hp=379e9e4aab94f106568aeec9b7769f0c3a3e75e8;hpb=c2aabfa4fef8c0069f693a5522c6c23a00ae9d83;p=m6w6%2Flibmemcached diff --git a/tests/include.am b/tests/include.am index 379e9e4a..6c263765 100644 --- a/tests/include.am +++ b/tests/include.am @@ -1,156 +1,362 @@ # vim:ft=automake +# Copyright (C) 2011 Data Differential +# All rights reserved. +# +# Use and distribution licensed under the BSD license. See +# the COPYING file in the parent directory for full text. +# # included from Top Level Makefile.am # All paths should be given relative to the root -TESTS_LDADDS = libmemcached/libmemcached.la - -VALGRIND_COMMAND= $(LIBTOOL) --mode=execute valgrind --leak-check=yes --show-reachable=yes +TESTS_LDADDS= \ + libmemcached/libmemcached.la \ + libtest/libtest.la DEBUG_COMMAND= $(LIBTOOL) --mode=execute gdb +PAHOLE_COMMAND= $(LIBTOOL) --mode=execute pahole + if BUILD_LIBMEMCACHEDUTIL TESTS_LDADDS+= libmemcached/libmemcachedutil.la endif EXTRA_DIST+= \ - tests/r/memcat.res \ - tests/r/memcp.res \ - tests/r/memrm.res \ - tests/r/memslap.res \ - tests/r/memstat.res \ - tests/t/memcat.test \ - tests/t/memcp.test \ - tests/t/memrm.test \ - tests/t/memslap.test \ - tests/t/memstat.test + tests/cpp_example.cc \ + tests/output_plus.res noinst_HEADERS+= \ + tests/basic.h \ + tests/debug.h \ + tests/error_conditions.h \ tests/hash_results.h \ tests/ketama_test_cases.h \ tests/ketama_test_cases_spy.h \ tests/libmemcached_world.h \ - tests/server.h \ - tests/test.h + tests/namespace.h \ + tests/parser.h \ + tests/deprecated.h \ + tests/pool.h \ + tests/print.h \ + tests/replication.h \ + tests/string.h \ + tests/virtual_buckets.h + noinst_PROGRAMS+= \ tests/atomsmasher \ - tests/startservers \ + tests/cycle \ + tests/hash_plus \ tests/testapp \ tests/testhashkit \ tests/testplus \ - tests/udptest + tests/testudp -noinst_LTLIBRARIES+= tests/libserver.la -tests_libserver_la_SOURCES= tests/server.c +# Cycle should always run first +tests_cycle_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING) +tests_cycle_SOURCES= tests/cycle.cc +tests_cycle_DEPENDENCIES= $(TESTS_LDADDS) +tests_cycle_LDADD= $(tests_cycle_DEPENDENCIES) +check_PROGRAMS+= tests/cycle -noinst_LTLIBRARIES+= tests/libtest.la -tests_libtest_la_SOURCES= tests/test.c tests_testapp_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING) -tests_testapp_SOURCES= tests/mem_functions.c +tests_testapp_SOURCES= \ + tests/basic.cc \ + tests/debug.cc \ + tests/deprecated.cc \ + tests/error_conditions.cc \ + tests/mem_functions.cc \ + tests/namespace.cc \ + tests/parser.cc \ + tests/pool.cc \ + tests/print.cc \ + tests/replication.cc \ + tests/string.cc \ + tests/virtual_buckets.cc +tests_testapp_SOURCES+= clients/generator.cc clients/execute.cc + +tests_testapp_DEPENDENCIES= \ + $(BUILT_SOURCES) \ + $(TESTS_LDADDS) \ + libhashkit/libhashkit.la \ + libmemcached/libmemcachedinternal.la + tests_testapp_LDADD= \ - clients/libgenexec.la \ - tests/libserver.la \ - tests/libtest.la \ - libmemcached/libmemcachedinternal.la \ - $(TESTS_LDADDS) -tests_testapp_DEPENDENCIES= $(tests_testapp_LDADD) + $(LIBSASL) \ + $(TESTS_LDADDS) \ + libhashkit/libhashkit.la \ + libmemcached/libmemcachedinternal.la +check_PROGRAMS+= tests/testapp tests_testplus_SOURCES= tests/plus.cpp -tests_testplus_LDADD= tests/libtest.la tests/libserver.la $(TESTS_LDADDS) -tests_testplus_DEPENDENCIES= $(tests_testplus_LDADD) +tests_testplus_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX) +tests_testplus_DEPENDENCIES= $(TESTS_LDADDS) +tests_testplus_LDADD= $(tests_testplus_DEPENDENCIES) $(LIBSASL) +check_PROGRAMS+= tests/testplus + +tests_atomsmasher_SOURCES= \ + tests/atomsmasher.cc \ + clients/generator.cc \ + clients/execute.cc +tests_atomsmasher_DEPENDENCIES= $(TESTS_LDADDS) +tests_atomsmasher_LDADD= $(tests_atomsmasher_DEPENDENCIES) $(LIBSASL) + +tests_testudp_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING) +tests_testudp_SOURCES= tests/mem_udp.cc +tests_testudp_DEPENDENCIES= $(TESTS_LDADDS) +tests_testudp_LDADD= $(tests_testudp_DEPENDENCIES) $(LIBSASL) +check_PROGRAMS+= tests/testudp + +tests_testhashkit_SOURCES = tests/hashkit_functions.cc +tests_testhashkit_DEPENDENCIES = libtest/libtest.la libhashkit/libhashkit.la $(TESTS_LDADDS) +tests_testhashkit_LDADD = $(tests_testhashkit_DEPENDENCIES) +check_PROGRAMS+= tests/testhashkit + +tests_hash_plus_SOURCES= tests/hash_plus.cc +tests_hash_plus_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX) +tests_hash_plus_DEPENDENCIES= $(tests_testhashkit_DEPENDENCIES) $(TESTS_LDADDS) +tests_hash_plus_LDADD= $(tests_testhashkit_DEPENDENCIES) +check_PROGRAMS+= tests/hash_plus + +test: check + +check-local: tests/var $(TEST_DOCS) memcapable + @echo "Tests completed" + +test-x: tests/var test-plus test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat + @echo "Tests completed" -tests_udptest_SOURCES= tests/udp.c -tests_udptest_LDADD= tests/libtest.la tests/libserver.la $(TESTS_LDADDS) -tests_udptest_DEPENDENCIES= $(tests_udptest_LDADD) +memcapable: clients/memcapable + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcapable -p 12555 || echo "Your memcached server does not support all commands" + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -tests_atomsmasher_SOURCES= tests/atomsmasher.c -tests_atomsmasher_LDADD= \ - clients/libgenexec.la \ - tests/libserver.la \ - tests/libtest.la \ - $(TESTS_LDADDS) -tests_atomsmasher_DEPENDENCIES= $(tests_atomsmasher_LDADD) +test-memcat: clients/memcat clients/memcp + @echo "Testing memcat" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" `pwd`/clients/memcp + @clients/memcat --servers="localhost:12555" memcp > `pwd`/tests/scratch + @clients/memcat --servers="localhost:12555" --file=`pwd`/tests/scratch2 memcp +# @diff clients/memcp tests/scratch + @cat `pwd`/tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm `pwd`/tests/Xumemc.pid + @rm `pwd`/tests/scratch + @rm `pwd`/tests/scratch2 + +valgrind-memcat: clients/memcat clients/memcp + @echo "Testing memcat" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcp + @$(VALGRIND_COMMAND) clients/memcat --servers="localhost:12555" memcp > tests/scratch +# @diff clients/memcp tests/scratch + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid + @rm tests/scratch -tests_startservers_SOURCES= tests/start.c -tests_startservers_LDADD= tests/libserver.la $(TESTS_LDADDS) -tests_startservers_DEPENDENCIES= $(tests_startservers_LDADD) +test-memcp: clients/memcp + @echo "Testing memcp" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -tests_testhashkit_SOURCES = tests/hashkit_functions.c -tests_testhashkit_LDADD = tests/libtest.la libhashkit/libhashkit.la -tests_testhashkit_DEPENDENCIES = $(tests_testhashkit_LDADD) +valgrind-memcp: clients/memcat clients/memcp + @echo "Testing memcp" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @$(VALGRIND_COMMAND) clients/memcp --servers="localhost:12555" clients/memcp clients/memcat clients/memstat + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -client-record: - sh tests/t/memcat.test > tests/r/memcat.res - sh tests/t/memcp.test > tests/r/memcp.res - sh tests/t/memrm.test > tests/r/memrm.res - sh tests/t/memslap.test > tests/r/memslap.res - sh tests/t/memstat.test > tests/r/memstat.res +test-memrm: clients/memrm clients/memcp + @echo "Testing memrm" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcat + @clients/memrm --servers="localhost:12555" memcat + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -test: test-docs tests/testplus library_test memcapable libmhashkit_test - echo "Tests completed" +valgrind-memrm: clients/memcat clients/memcp + @echo "Testing memrm" + @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcat + @$(VALGRIND_COMMAND) clients/memrm --servers="localhost:12555" memcat + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -library_test: tests/testapp - tests/testapp +test-memflush: clients/memflush + @echo "Testing memflush" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memflush --servers="localhost:12555" + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -libmhashkit_test: libhashkit - tests/testhashkit +valgrind-memflush: clients/memflush + @echo "Testing memflush" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @$(VALGRIND_COMMAND) clients/memflush --servers="localhost:12555" + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid -memcapable: clients/memcapable - @MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555 - @clients/memcapable -p 12555 || echo "Your memcached server does not support all commands" +test-memdump: clients/memdump clients/memcp + @echo "Testing memdump" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcat + @clients/memdump --servers="localhost:12555" > /dev/null + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid + +valgrind-memdump: clients/memcat clients/memcp + @echo "Testing memdump" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memcp --servers="localhost:12555" clients/memcat + @$(VALGRIND_COMMAND) clients/memdump --servers="localhost:12555" > /dev/null + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid + +test-memstat: clients/memstat + @echo "Testing memstat" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @clients/memstat --servers="localhost:12555" > /dev/null + @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" + @rm tests/Xumemc.pid + +valgrind-memstat: clients/memstat + @echo "Testing memstat" + @$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555 + @$(VALGRIND_COMMAND) clients/memstat --servers="localhost:12555" > /dev/null @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server" @rm tests/Xumemc.pid -PHONY += clients -clients: - @MEMC_BINARY@ -d -P `pwd`/tests/Xumemc.pid -p 12555 - export MEMCACHED_SERVERS="localhost:12555" - sh tests/t/memcat.test > tests/r/memcat.cmp - diff tests/r/memcat.res tests/r/memcat.cmp - sh tests/t/memcp.test > tests/r/memcp.cmp - diff tests/r/memcp.res tests/r/memcp.cmp - sh tests/t/memrm.test > tests/r/memrm.cmp - diff tests/r/memrm.res tests/r/memrm.cmp - sh tests/t/memslap.test > tests/r/memslap.cmp - diff tests/r/memslap.res tests/r/memslap.cmp - sh tests/t/memstat.test > tests/r/memstat.cmp - diff tests/r/memstat.res tests/r/memstat.cmp - cat tests/Xumemc.pid | xargs kill - rm tests/Xumemc.pid - -MEMSLAP_COMMAND= clients/memslap $(COLLECTION) $(SUITE) - -MEM_COMMAND= tests/testapp $(COLLECTION) $(SUITE) - -HASH_COMMAND= tests/testhashkit $(COLLECTION) $(SUITE) - -test-mem: +test-memerror: clients/memerror + @echo "Testing memerror" + @clients/memerror 0 > /dev/null + +valgrind-memerror: clients/memerror + @echo "Testing memerror" + @$(VALGRIND_COMMAND) clients/memerror 0 > /dev/null + + + + + +MEMSLAP_COMMAND= clients/memslap + +MEM_COMMAND= tests/testapp + +TESTPLUS_COMMAND= tests/testplus + +HASHPLUS_COMMAND= tests/hashplus + +CYCLE_COMMAND= tests/cycle + +ATOM_COMMAND= tests/atomsmasher + +UDP_COMMAND= tests/testudp + +HASH_COMMAND= tests/testhashkit + +test-mem: tests/var tests/testapp $(MEM_COMMAND) -test-hash: +test-udp: tests/var tests/testudp + $(UDP_COMMAND) + +test-atom: tests/var tests/atomsmasher + $(ATOM_COMMAND) + +test-plus: tests/var tests/testplus + $(TESTPLUS_COMMAND) + +test-hash: tests/var tests/testhashkit $(HASH_COMMAND) -gdb-mem: +test-hashplus: tests/var tests/hashplus + $(HASHPLUS_COMMAND) + +test-cycle: tests/var tests/cycle + $(CYCLE_COMMAND) + +pahole-mem: tests/testapp + $(PAHOLE_COMMAND) $(MEM_COMMAND) + +gdb-mem: tests/testapp $(DEBUG_COMMAND) $(MEM_COMMAND) -gdb-hash: +gdb-atom: tests/atomsmasher + $(DEBUG_COMMAND) $(UDP_COMMAND) + +gdb-udp: tests/testudp + $(DEBUG_COMMAND) $(ATOM_COMMAND) + +gdb-plus: tests/testplus + $(DEBUG_COMMAND) $(TESTPLUS_COMMAND) + +gdb-hash: tests/testhashkit $(DEBUG_COMMAND) $(HASH_COMMAND) -gdb-memslap: +gdb-hashplus: tests/hashplus + $(DEBUG_COMMAND) $(HASHPLUS_COMMAND) + +gdb-cycle: tests/cycle + $(DEBUG_COMMAND) $(CYCLE_COMMAND) + +gdb-memslap: clients/memslap $(DEBUG_COMMAND) $(MEMSLAP_COMMAND) -valgrind-mem: +valgrind-cycle: tests/cycle + $(VALGRIND_COMMAND) $(CYCLE_COMMAND) + +valgrind-mem: tests/testapp $(VALGRIND_COMMAND) $(MEM_COMMAND) -valgrind-hash: +valgrind-atom: tests/atomsmasher + $(VALGRIND_COMMAND) $(ATOM_COMMAND) + +valgrind-udp: tests/testudp + $(VALGRIND_COMMAND) $(UDP_COMMAND) + +valgrind-plus: tests/testplus + $(VALGRIND_COMMAND) $(TESTPLUS_COMMAND) + +valgrind-hash: tests/testhashkit $(VALGRIND_COMMAND) $(HASH_COMMAND) -valgrind-memslap: +valgrind-hashplus: tests/hashplus + $(VALGRIND_COMMAND) $(HASHPLUS_COMMAND) + +valgrind-memslap: clients/memslap $(VALGRIND_COMMAND) $(MEMSLAP_COMMAND) PHONY += valgrind -valgrind: tests/testapp tests/testhashkit valgrind-mem valgrind-hash +valgrind: valgrind-mem valgrind-hash valgrind-memcat valgrind-memcp valgrind-memrm valgrind-memerror valgrind-memdump valgrind-memflush valgrind-memstat + +helgrind-cycle: tests/cycle + $(HELGRIND_COMMAND) $(CYCLE_COMMAND) + +helgrind-mem: tests/testapp + $(HELGRIND_COMMAND) $(MEM_COMMAND) + +helgrind-atom: tests/atomsmasher + $(HELGRIND_COMMAND) $(ATOM_COMMAND) + +helgrind-udp: tests/testudp + $(HELGRIND_COMMAND) $(UDP_COMMAND) + +helgrind-plus: tests/testplus + $(HELGRIND_COMMAND) $(TESTPLUS_COMMAND) + +helgrind-hash: tests/testhashkit + $(HELGRIND_COMMAND) $(HASH_COMMAND) + +helgrind-hashplus: tests/hashplus + $(HELGRIND_COMMAND) $(HASHPLUS_COMMAND) + +helgrind-memslap: clients/memslap + $(HELGRIND_COMMAND) $(MEMSLAP_COMMAND) + +PHONY += helgrind +helgrind: helgrind-mem helgrind-hash helgrind-memcat helgrind-memcp helgrind-memrm helgrind-memerror helgrind-memdump helgrind-memflush helgrind-memstat PHONY += cachegrind CLEANFILES += tests/cachegrind.out @@ -178,5 +384,5 @@ helgrind-slap: test-no-outputdiff: test -hudson-valgrind: - $(LIBTOOL) --mode=execute valgrind --leak-check=yes --show-reachable=yes --log-file=tests/valgrind.out tests/testapp +hudson-valgrind: tests/testapp + $(VALGRIND_COMMAND) --log-file=tests/valgrind.out $(MEM_COMMAND)