+tests_testplus_SOURCES= tests/plus.cpp
+tests_testplus_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_testplus_DEPENDENCIES= $(TESTS_LDADDS)
+tests_testplus_LDADD= $(tests_testplus_DEPENDENCIES)
+check_PROGRAMS+= tests/testplus
+noinst_PROGRAMS+= tests/testplus
+
+tests_failure_SOURCES= tests/failure.cc
+tests_failure_CXXFLAGS = $(AM_CXXFLAGS)
+tests_failure_DEPENDENCIES= $(TESTS_LDADDS)
+tests_failure_LDADD= $(tests_failure_DEPENDENCIES)
+check_PROGRAMS+= tests/failure
+noinst_PROGRAMS+= tests/failure
+
+tests_atomsmasher_SOURCES= \
+ tests/atomsmasher.cc \
+ tests/debug.cc \
+ tests/print.cc \
+ clients/generator.cc \
+ clients/execute.cc
+tests_atomsmasher_DEPENDENCIES= $(TESTS_LDADDS)
+tests_atomsmasher_LDADD= $(tests_atomsmasher_DEPENDENCIES)
+noinst_PROGRAMS+= tests/atomsmasher
+
+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)
+check_PROGRAMS+= tests/testudp
+noinst_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
+noinst_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_hash_plus_LDADD= $(tests_testhashkit_DEPENDENCIES)
+check_PROGRAMS+= tests/hash_plus
+noinst_PROGRAMS+= tests/hash_plus
+
+tests_memcapable_SOURCES= tests/memcapable.cc
+tests_memcapable_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memcapable_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memcapable_LDADD= $(tests_memcapable_DEPENDENCIES)
+check_PROGRAMS+= tests/memcapable
+noinst_PROGRAMS+= tests/memcapable
+
+tests_memslap_SOURCES= tests/memslap.cc
+tests_memslap_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memslap_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memslap_LDADD= $(tests_memslap_DEPENDENCIES)
+check_PROGRAMS+= tests/memslap
+noinst_PROGRAMS+= tests/memslap
+
+# Test linking with C application
+tests_c_test_SOURCES= tests/c_test.c
+tests_c_test_LDADD= libmemcached/libmemcached.la
+tests_c_test_DEPENDENCIES= libmemcached/libmemcached.la
+check_PROGRAMS+=tests/c_test
+noinst_PROGRAMS+=tests/c_test
+
+# Test linking with C application/SASL include
+tests_c_sasl_test_SOURCES= tests/c_sasl_test.c
+tests_c_sasl_test_LDADD= libmemcached/libmemcached.la
+tests_c_sasl_test_DEPENDENCIES= libmemcached/libmemcached.la
+check_PROGRAMS+=tests/c_sasl_test
+noinst_PROGRAMS+=tests/c_sasl_test
+
+test: check
+
+check-local: $(TEST_DOCS)
+ @echo "Tests completed"
+
+test-x: test-plus test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat
+ @echo "Tests completed"
+
+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