From: Continuous Integration Date: Tue, 17 Apr 2012 18:00:15 +0000 (-0700) Subject: Merge working tree with build tree. X-Git-Tag: 1.0.7~7^2 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=0792d5bdd0b2a352cce1a4cb084eca19b15acc56;hp=2e41f2aa7540640d02892f46bd16871e4581f3cf;p=m6w6%2Flibmemcached Merge working tree with build tree. --- diff --git a/clients/generator.cc b/clients/generator.cc index 011ed3a4..c62f9a32 100644 --- a/clients/generator.cc +++ b/clients/generator.cc @@ -44,7 +44,9 @@ static void get_random_string(char *buffer, size_t size) void pairs_free(pairs_st *pairs) { if (pairs == NULL) + { return; + } /* We free until we hit the null pair we stores during creation */ for (uint32_t x= 0; pairs[x].key; x++) diff --git a/configure.ac b/configure.ac index de2bc881..19c54d5c 100644 --- a/configure.ac +++ b/configure.ac @@ -71,6 +71,7 @@ m4_include([memcached/version.m4]) AM_CONDITIONAL(BUILDING_LIBMEMCACHED, true) AM_CONDITIONAL(HAVE_LIBMEMCACHED, false) +AM_CONDITIONAL(HAVE_LIBDRIZZLE, false) AC_DEFINE([HAVE_LIBMEMCACHED], [1], [Enables libmemcached Support]) AM_CONDITIONAL(BUILDING_GEARMAN, false) @@ -218,6 +219,7 @@ AS_IF([test "x$ac_cv_header_atomic_h" = "xyes"],[ AC_DEFINE([HAVE_LIBDRIZZLE], [0], [Support for libdrizzle]) AC_DEFINE([HAVE_DRIZZLED_BINARY], [0], [Support for DrizzleD]) +AC_DEFINE([DRIZZLED_BINARY], [0], [Support for DrizzleD]) AC_DEFINE([GEARMAND_BLOBSLAP_WORKER], [0], [Support for Gearman Blobslap worker]) AC_DEFINE([HAVE_LIBPQ], [0], [Support for Postgres]) AC_DEFINE([HAVE_LIBCURL], [0], [Support for libcurl]) diff --git a/docs/man/hashkit_clone.3 b/docs/man/hashkit_clone.3 index 36711c46..52f2e0a3 100644 --- a/docs/man/hashkit_clone.3 +++ b/docs/man/hashkit_clone.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CLONE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_CLONE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_clone \- libhashkit Documentation . diff --git a/docs/man/hashkit_crc32.3 b/docs/man/hashkit_crc32.3 index 24e1e5b2..5e791646 100644 --- a/docs/man/hashkit_crc32.3 +++ b/docs/man/hashkit_crc32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CRC32" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_CRC32" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_crc32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_create.3 b/docs/man/hashkit_create.3 index 0d81e548..e549bf4d 100644 --- a/docs/man/hashkit_create.3 +++ b/docs/man/hashkit_create.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CREATE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_CREATE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_create \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1_32.3 b/docs/man/hashkit_fnv1_32.3 index 5a0d5396..9e25c8b6 100644 --- a/docs/man/hashkit_fnv1_32.3 +++ b/docs/man/hashkit_fnv1_32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1_32" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FNV1_32" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_fnv1_32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1_64.3 b/docs/man/hashkit_fnv1_64.3 index e7b9f566..1795f4ad 100644 --- a/docs/man/hashkit_fnv1_64.3 +++ b/docs/man/hashkit_fnv1_64.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1_64" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FNV1_64" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_fnv1_64 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1a_32.3 b/docs/man/hashkit_fnv1a_32.3 index 27d3b461..0097b7d3 100644 --- a/docs/man/hashkit_fnv1a_32.3 +++ b/docs/man/hashkit_fnv1a_32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1A_32" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FNV1A_32" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_fnv1a_32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1a_64.3 b/docs/man/hashkit_fnv1a_64.3 index 3f27e991..d5139b90 100644 --- a/docs/man/hashkit_fnv1a_64.3 +++ b/docs/man/hashkit_fnv1a_64.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1A_64" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FNV1A_64" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_fnv1a_64 \- libhashkit Documentation . diff --git a/docs/man/hashkit_free.3 b/docs/man/hashkit_free.3 index 6cec75db..fb2df5ec 100644 --- a/docs/man/hashkit_free.3 +++ b/docs/man/hashkit_free.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FREE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FREE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_free \- libhashkit Documentation . diff --git a/docs/man/hashkit_functions.3 b/docs/man/hashkit_functions.3 index aacf1e09..260948ec 100644 --- a/docs/man/hashkit_functions.3 +++ b/docs/man/hashkit_functions.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FUNCTIONS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_FUNCTIONS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_functions \- libhashkit Documentation . diff --git a/docs/man/hashkit_hsieh.3 b/docs/man/hashkit_hsieh.3 index a825617d..c415db1e 100644 --- a/docs/man/hashkit_hsieh.3 +++ b/docs/man/hashkit_hsieh.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_HSIEH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_HSIEH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_hsieh \- libhashkit Documentation . diff --git a/docs/man/hashkit_is_allocated.3 b/docs/man/hashkit_is_allocated.3 index 60c453d1..004831da 100644 --- a/docs/man/hashkit_is_allocated.3 +++ b/docs/man/hashkit_is_allocated.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_IS_ALLOCATED" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_IS_ALLOCATED" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_is_allocated \- libhashkit Documentation . diff --git a/docs/man/hashkit_jenkins.3 b/docs/man/hashkit_jenkins.3 index bb739829..90096edc 100644 --- a/docs/man/hashkit_jenkins.3 +++ b/docs/man/hashkit_jenkins.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_JENKINS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_JENKINS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_jenkins \- libhashkit Documentation . diff --git a/docs/man/hashkit_md5.3 b/docs/man/hashkit_md5.3 index 66bb90df..c6558e69 100644 --- a/docs/man/hashkit_md5.3 +++ b/docs/man/hashkit_md5.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_MD5" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_MD5" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_md5 \- libhashkit Documentation . diff --git a/docs/man/hashkit_murmur.3 b/docs/man/hashkit_murmur.3 index b9ef895c..482b351d 100644 --- a/docs/man/hashkit_murmur.3 +++ b/docs/man/hashkit_murmur.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_MURMUR" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_MURMUR" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_murmur \- libhashkit Documentation . diff --git a/docs/man/hashkit_value.3 b/docs/man/hashkit_value.3 index d3d22aef..b13ae74a 100644 --- a/docs/man/hashkit_value.3 +++ b/docs/man/hashkit_value.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_VALUE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "HASHKIT_VALUE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME hashkit_value \- libhashkit Documentation . diff --git a/docs/man/libhashkit.3 b/docs/man/libhashkit.3 index 4784da95..1bb57137 100644 --- a/docs/man/libhashkit.3 +++ b/docs/man/libhashkit.3 @@ -1,4 +1,4 @@ -.TH "LIBHASHKIT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBHASHKIT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libhashkit \- libhashkit Documentation . diff --git a/docs/man/libmemcached.3 b/docs/man/libmemcached.3 index 75084b30..48256365 100644 --- a/docs/man/libmemcached.3 +++ b/docs/man/libmemcached.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBMEMCACHED" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libmemcached \- Introducing the C Client Library for memcached . diff --git a/docs/man/libmemcached_check_configuration.3 b/docs/man/libmemcached_check_configuration.3 index 15ec6d8b..b5e263c4 100644 --- a/docs/man/libmemcached_check_configuration.3 +++ b/docs/man/libmemcached_check_configuration.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libmemcached_check_configuration \- libmemcached Documentation . diff --git a/docs/man/libmemcached_configuration.3 b/docs/man/libmemcached_configuration.3 index 62f7b6f0..9724f9d8 100644 --- a/docs/man/libmemcached_configuration.3 +++ b/docs/man/libmemcached_configuration.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_CONFIGURATION" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBMEMCACHED_CONFIGURATION" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libmemcached_configuration \- libmemcached Documentation . diff --git a/docs/man/libmemcached_examples.3 b/docs/man/libmemcached_examples.3 index 105fe085..8155a74b 100644 --- a/docs/man/libmemcached_examples.3 +++ b/docs/man/libmemcached_examples.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_EXAMPLES" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBMEMCACHED_EXAMPLES" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libmemcached_examples \- libmemcached Documentation . diff --git a/docs/man/libmemcachedutil.3 b/docs/man/libmemcachedutil.3 index 0f71beb7..9fbecd97 100644 --- a/docs/man/libmemcachedutil.3 +++ b/docs/man/libmemcachedutil.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHEDUTIL" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "LIBMEMCACHEDUTIL" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME libmemcachedutil \- libmemcached Documentation . diff --git a/docs/man/memaslap.1 b/docs/man/memaslap.1 index 7e25b045..4b847ecc 100644 --- a/docs/man/memaslap.1 +++ b/docs/man/memaslap.1 @@ -1,4 +1,4 @@ -.TH "MEMASLAP" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMASLAP" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memaslap \- libmemcached Documentation . diff --git a/docs/man/memcached.3 b/docs/man/memcached.3 index 2528206b..fe76bc55 100644 --- a/docs/man/memcached.3 +++ b/docs/man/memcached.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached \- libmemcached Documentation . diff --git a/docs/man/memcached_add.3 b/docs/man/memcached_add.3 index d1d350bc..fa5fb97d 100644 --- a/docs/man/memcached_add.3 +++ b/docs/man/memcached_add.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ADD" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_ADD" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_add \- Storing and Replacing Data . diff --git a/docs/man/memcached_add_by_key.3 b/docs/man/memcached_add_by_key.3 index e90bab93..039b410f 100644 --- a/docs/man/memcached_add_by_key.3 +++ b/docs/man/memcached_add_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ADD_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_ADD_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_add_by_key \- Storing and Replacing Data . diff --git a/docs/man/memcached_analyze.3 b/docs/man/memcached_analyze.3 index 0ad6c2c2..3bc3dc1b 100644 --- a/docs/man/memcached_analyze.3 +++ b/docs/man/memcached_analyze.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ANALYZE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_ANALYZE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_analyze \- libmemcached Documentation . diff --git a/docs/man/memcached_append.3 b/docs/man/memcached_append.3 index a740f7fe..2df32e1b 100644 --- a/docs/man/memcached_append.3 +++ b/docs/man/memcached_append.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_APPEND" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_APPEND" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_append \- Appending to or Prepending to data on the server . diff --git a/docs/man/memcached_append_by_key.3 b/docs/man/memcached_append_by_key.3 index fbc7abff..e8e29c79 100644 --- a/docs/man/memcached_append_by_key.3 +++ b/docs/man/memcached_append_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_APPEND_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_APPEND_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_append_by_key \- Appending to or Prepending to data on the server . diff --git a/docs/man/memcached_auto.3 b/docs/man/memcached_auto.3 index 86a56e87..84d14a1e 100644 --- a/docs/man/memcached_auto.3 +++ b/docs/man/memcached_auto.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_AUTO" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_AUTO" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_auto \- Incrementing and Decrementing Values . diff --git a/docs/man/memcached_behavior.3 b/docs/man/memcached_behavior.3 index d2334713..4a1e0517 100644 --- a/docs/man/memcached_behavior.3 +++ b/docs/man/memcached_behavior.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_BEHAVIOR" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_behavior \- libmemcached Documentation . diff --git a/docs/man/memcached_behavior_get.3 b/docs/man/memcached_behavior_get.3 index f3d4312f..87325d20 100644 --- a/docs/man/memcached_behavior_get.3 +++ b/docs/man/memcached_behavior_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR_GET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_BEHAVIOR_GET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_behavior_get \- libmemcached Documentation . diff --git a/docs/man/memcached_behavior_set.3 b/docs/man/memcached_behavior_set.3 index 6331403a..9d8c3063 100644 --- a/docs/man/memcached_behavior_set.3 +++ b/docs/man/memcached_behavior_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR_SET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_BEHAVIOR_SET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_behavior_set \- libmemcached Documentation . diff --git a/docs/man/memcached_callback.3 b/docs/man/memcached_callback.3 index bee784c4..1db9a4f6 100644 --- a/docs/man/memcached_callback.3 +++ b/docs/man/memcached_callback.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CALLBACK" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_callback \- libmemcached Documentation . diff --git a/docs/man/memcached_callback_get.3 b/docs/man/memcached_callback_get.3 index 4f6535c9..c75a5f30 100644 --- a/docs/man/memcached_callback_get.3 +++ b/docs/man/memcached_callback_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK_GET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CALLBACK_GET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_callback_get \- libmemcached Documentation . diff --git a/docs/man/memcached_callback_set.3 b/docs/man/memcached_callback_set.3 index 7351bf20..7cc7f888 100644 --- a/docs/man/memcached_callback_set.3 +++ b/docs/man/memcached_callback_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK_SET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CALLBACK_SET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_callback_set \- libmemcached Documentation . diff --git a/docs/man/memcached_cas.3 b/docs/man/memcached_cas.3 index a65e5f41..e44403b3 100644 --- a/docs/man/memcached_cas.3 +++ b/docs/man/memcached_cas.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CAS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CAS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_cas \- Working with data on the server in an atomic fashion . diff --git a/docs/man/memcached_cas_by_key.3 b/docs/man/memcached_cas_by_key.3 index 6503794a..f128264c 100644 --- a/docs/man/memcached_cas_by_key.3 +++ b/docs/man/memcached_cas_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CAS_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CAS_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_cas_by_key \- Storing and Replacing Data . diff --git a/docs/man/memcached_clone.3 b/docs/man/memcached_clone.3 index e22fa52d..6a7ee86d 100644 --- a/docs/man/memcached_clone.3 +++ b/docs/man/memcached_clone.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CLONE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CLONE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_clone \- libmemcached Documentation . diff --git a/docs/man/memcached_create.3 b/docs/man/memcached_create.3 index 0996a06a..5a595247 100644 --- a/docs/man/memcached_create.3 +++ b/docs/man/memcached_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CREATE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_CREATE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_create \- libmemcached Documentation . diff --git a/docs/man/memcached_decrement.3 b/docs/man/memcached_decrement.3 index 87fcf0d9..ada05f12 100644 --- a/docs/man/memcached_decrement.3 +++ b/docs/man/memcached_decrement.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DECREMENT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DECREMENT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_decrement \- Incrementing and Decrementing Values . diff --git a/docs/man/memcached_decrement_with_initial.3 b/docs/man/memcached_decrement_with_initial.3 index 7e9711c4..62d9b179 100644 --- a/docs/man/memcached_decrement_with_initial.3 +++ b/docs/man/memcached_decrement_with_initial.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_decrement_with_initial \- Incrementing and Decrementing Values . diff --git a/docs/man/memcached_delete.3 b/docs/man/memcached_delete.3 index ec7f7523..cbe0bd38 100644 --- a/docs/man/memcached_delete.3 +++ b/docs/man/memcached_delete.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DELETE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DELETE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_delete \- libmemcached Documentation . diff --git a/docs/man/memcached_delete_by_key.3 b/docs/man/memcached_delete_by_key.3 index 17becf4b..47ba75cb 100644 --- a/docs/man/memcached_delete_by_key.3 +++ b/docs/man/memcached_delete_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DELETE_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DELETE_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_delete_by_key \- libmemcached Documentation . diff --git a/docs/man/memcached_destroy_sasl_auth_data.3 b/docs/man/memcached_destroy_sasl_auth_data.3 index ff0d71db..07f63c39 100644 --- a/docs/man/memcached_destroy_sasl_auth_data.3 +++ b/docs/man/memcached_destroy_sasl_auth_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_destroy_sasl_auth_data \- libmemcached Documentation . diff --git a/docs/man/memcached_dump.3 b/docs/man/memcached_dump.3 index 7363412a..f1855162 100644 --- a/docs/man/memcached_dump.3 +++ b/docs/man/memcached_dump.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DUMP" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_DUMP" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_dump \- libmemcached Documentation . diff --git a/docs/man/memcached_exist.3 b/docs/man/memcached_exist.3 index 198eed66..5d2a0d77 100644 --- a/docs/man/memcached_exist.3 +++ b/docs/man/memcached_exist.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_EXIST" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_EXIST" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_exist \- libmemcached Documentation . diff --git a/docs/man/memcached_exist_by_key.3 b/docs/man/memcached_exist_by_key.3 index d224feb6..33ac0ad0 100644 --- a/docs/man/memcached_exist_by_key.3 +++ b/docs/man/memcached_exist_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_EXIST_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_EXIST_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_exist_by_key \- libmemcached Documentation . diff --git a/docs/man/memcached_fetch.3 b/docs/man/memcached_fetch.3 index 8ad43bad..60aed325 100644 --- a/docs/man/memcached_fetch.3 +++ b/docs/man/memcached_fetch.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FETCH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_fetch \- Retrieving data from the server . diff --git a/docs/man/memcached_fetch_execute.3 b/docs/man/memcached_fetch_execute.3 index 8cd4bff6..fd51ae7b 100644 --- a/docs/man/memcached_fetch_execute.3 +++ b/docs/man/memcached_fetch_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH_EXECUTE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FETCH_EXECUTE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_fetch_execute \- Retrieving data from the server . diff --git a/docs/man/memcached_fetch_result.3 b/docs/man/memcached_fetch_result.3 index 2b5c9862..dffafd23 100644 --- a/docs/man/memcached_fetch_result.3 +++ b/docs/man/memcached_fetch_result.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH_RESULT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FETCH_RESULT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_fetch_result \- Retrieving data from the server . diff --git a/docs/man/memcached_flush.3 b/docs/man/memcached_flush.3 index 62668ba8..002ccce0 100644 --- a/docs/man/memcached_flush.3 +++ b/docs/man/memcached_flush.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FLUSH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FLUSH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_flush \- libmemcached Documentation . diff --git a/docs/man/memcached_flush_buffers.3 b/docs/man/memcached_flush_buffers.3 index 64dc6957..071f167d 100644 --- a/docs/man/memcached_flush_buffers.3 +++ b/docs/man/memcached_flush_buffers.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FLUSH_BUFFERS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FLUSH_BUFFERS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_flush_buffers \- libmemcached Documentation . diff --git a/docs/man/memcached_free.3 b/docs/man/memcached_free.3 index 63bf2743..3c99aa17 100644 --- a/docs/man/memcached_free.3 +++ b/docs/man/memcached_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FREE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_FREE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_free \- libmemcached Documentation . diff --git a/docs/man/memcached_generate_hash.3 b/docs/man/memcached_generate_hash.3 index 8ce39d60..6dcd3983 100644 --- a/docs/man/memcached_generate_hash.3 +++ b/docs/man/memcached_generate_hash.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GENERATE_HASH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GENERATE_HASH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_generate_hash \- Generating hash values directly . diff --git a/docs/man/memcached_generate_hash_value.3 b/docs/man/memcached_generate_hash_value.3 index c6b8f17f..271d8116 100644 --- a/docs/man/memcached_generate_hash_value.3 +++ b/docs/man/memcached_generate_hash_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_generate_hash_value \- Generating hash values directly . diff --git a/docs/man/memcached_get.3 b/docs/man/memcached_get.3 index e7de3e26..40c1ea25 100644 --- a/docs/man/memcached_get.3 +++ b/docs/man/memcached_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_get \- Retrieving data from the server . diff --git a/docs/man/memcached_get_by_key.3 b/docs/man/memcached_get_by_key.3 index a970a18f..c635ff08 100644 --- a/docs/man/memcached_get_by_key.3 +++ b/docs/man/memcached_get_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GET_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_get_by_key \- Retrieving data from the server . diff --git a/docs/man/memcached_get_memory_allocators.3 b/docs/man/memcached_get_memory_allocators.3 index 7b745cf1..b7c921a6 100644 --- a/docs/man/memcached_get_memory_allocators.3 +++ b/docs/man/memcached_get_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_get_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_get_sasl_callbacks.3 b/docs/man/memcached_get_sasl_callbacks.3 index 3b98c925..670f9901 100644 --- a/docs/man/memcached_get_sasl_callbacks.3 +++ b/docs/man/memcached_get_sasl_callbacks.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_get_sasl_callbacks \- libmemcached Documentation . diff --git a/docs/man/memcached_get_user_data.3 b/docs/man/memcached_get_user_data.3 index 11cb61fc..b3203ddc 100644 --- a/docs/man/memcached_get_user_data.3 +++ b/docs/man/memcached_get_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_USER_DATA" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_GET_USER_DATA" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_get_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_increment.3 b/docs/man/memcached_increment.3 index 2a25cc1f..fe900873 100644 --- a/docs/man/memcached_increment.3 +++ b/docs/man/memcached_increment.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_INCREMENT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_INCREMENT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_increment \- Incrementing and Decrementing Values . diff --git a/docs/man/memcached_increment_with_initial.3 b/docs/man/memcached_increment_with_initial.3 index 265eca98..ef3c8a55 100644 --- a/docs/man/memcached_increment_with_initial.3 +++ b/docs/man/memcached_increment_with_initial.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_increment_with_initial \- Incrementing and Decrementing Values . diff --git a/docs/man/memcached_last_error_message.3 b/docs/man/memcached_last_error_message.3 index 7e54a0a2..c02116c5 100644 --- a/docs/man/memcached_last_error_message.3 +++ b/docs/man/memcached_last_error_message.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_last_error_message \- libmemcached Documentation . diff --git a/docs/man/memcached_lib_version.3 b/docs/man/memcached_lib_version.3 index b06994ae..c748850f 100644 --- a/docs/man/memcached_lib_version.3 +++ b/docs/man/memcached_lib_version.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_LIB_VERSION" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_LIB_VERSION" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_lib_version \- libmemcached Documentation . diff --git a/docs/man/memcached_memory_allocators.3 b/docs/man/memcached_memory_allocators.3 index a7850fd0..990b527f 100644 --- a/docs/man/memcached_memory_allocators.3 +++ b/docs/man/memcached_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_mget.3 b/docs/man/memcached_mget.3 index 4b55efa0..d359f112 100644 --- a/docs/man/memcached_mget.3 +++ b/docs/man/memcached_mget.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_MGET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_mget \- Retrieving data from the server . diff --git a/docs/man/memcached_mget_by_key.3 b/docs/man/memcached_mget_by_key.3 index e55fd5e5..73cbd6ae 100644 --- a/docs/man/memcached_mget_by_key.3 +++ b/docs/man/memcached_mget_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_MGET_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_mget_by_key \- Retrieving data from the server . diff --git a/docs/man/memcached_mget_execute.3 b/docs/man/memcached_mget_execute.3 index 4180e18a..a3164840 100644 --- a/docs/man/memcached_mget_execute.3 +++ b/docs/man/memcached_mget_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_EXECUTE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_MGET_EXECUTE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_mget_execute \- Retrieving data from the server . diff --git a/docs/man/memcached_mget_execute_by_key.3 b/docs/man/memcached_mget_execute_by_key.3 index 276a81bc..e11885b5 100644 --- a/docs/man/memcached_mget_execute_by_key.3 +++ b/docs/man/memcached_mget_execute_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_mget_execute_by_key \- Retrieving data from the server . diff --git a/docs/man/memcached_pool.3 b/docs/man/memcached_pool.3 index 64ca560f..127970e0 100644 --- a/docs/man/memcached_pool.3 +++ b/docs/man/memcached_pool.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_behavior_get.3 b/docs/man/memcached_pool_behavior_get.3 index 286018ca..896a6247 100644 --- a/docs/man/memcached_pool_behavior_get.3 +++ b/docs/man/memcached_pool_behavior_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_behavior_get \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_behavior_set.3 b/docs/man/memcached_pool_behavior_set.3 index 0af4c6e5..003f7950 100644 --- a/docs/man/memcached_pool_behavior_set.3 +++ b/docs/man/memcached_pool_behavior_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_behavior_set \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_create.3 b/docs/man/memcached_pool_create.3 index abce5a19..d6485cfe 100644 --- a/docs/man/memcached_pool_create.3 +++ b/docs/man/memcached_pool_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_CREATE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_CREATE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_create \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_destroy.3 b/docs/man/memcached_pool_destroy.3 index bae36435..753d8dff 100644 --- a/docs/man/memcached_pool_destroy.3 +++ b/docs/man/memcached_pool_destroy.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_DESTROY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_DESTROY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_destroy \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_fetch.3 b/docs/man/memcached_pool_fetch.3 index 3efc4e01..a465c989 100644 --- a/docs/man/memcached_pool_fetch.3 +++ b/docs/man/memcached_pool_fetch.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_FETCH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_FETCH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_fetch \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_pop.3 b/docs/man/memcached_pool_pop.3 index 0c9c3175..25075def 100644 --- a/docs/man/memcached_pool_pop.3 +++ b/docs/man/memcached_pool_pop.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_POP" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_POP" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_pop \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_push.3 b/docs/man/memcached_pool_push.3 index 919d4cfa..ed0ea277 100644 --- a/docs/man/memcached_pool_push.3 +++ b/docs/man/memcached_pool_push.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_PUSH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_PUSH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_push \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_release.3 b/docs/man/memcached_pool_release.3 index 55d766d9..3921ee03 100644 --- a/docs/man/memcached_pool_release.3 +++ b/docs/man/memcached_pool_release.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_RELEASE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_RELEASE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_release \- libmemcached Documentation . diff --git a/docs/man/memcached_pool_st.3 b/docs/man/memcached_pool_st.3 index 0f36976d..1659e91e 100644 --- a/docs/man/memcached_pool_st.3 +++ b/docs/man/memcached_pool_st.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_ST" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_POOL_ST" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_pool_st \- libmemcached Documentation . diff --git a/docs/man/memcached_prepend.3 b/docs/man/memcached_prepend.3 index 0c056f28..8310598a 100644 --- a/docs/man/memcached_prepend.3 +++ b/docs/man/memcached_prepend.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_PREPEND" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_PREPEND" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_prepend \- Appending to or Prepending to data on the server . diff --git a/docs/man/memcached_prepend_by_key.3 b/docs/man/memcached_prepend_by_key.3 index 3d89d6dc..dfc806dc 100644 --- a/docs/man/memcached_prepend_by_key.3 +++ b/docs/man/memcached_prepend_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_PREPEND_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_PREPEND_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_prepend_by_key \- Appending to or Prepending to data on the server . diff --git a/docs/man/memcached_quit.3 b/docs/man/memcached_quit.3 index 0cb8f501..cd46d858 100644 --- a/docs/man/memcached_quit.3 +++ b/docs/man/memcached_quit.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_QUIT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_QUIT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_quit \- libmemcached Documentation . diff --git a/docs/man/memcached_replace.3 b/docs/man/memcached_replace.3 index 220688ca..c978056e 100644 --- a/docs/man/memcached_replace.3 +++ b/docs/man/memcached_replace.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_REPLACE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_REPLACE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_replace \- Storing and Replacing Data . diff --git a/docs/man/memcached_replace_by_key.3 b/docs/man/memcached_replace_by_key.3 index 0b12c176..8fc502e0 100644 --- a/docs/man/memcached_replace_by_key.3 +++ b/docs/man/memcached_replace_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_REPLACE_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_REPLACE_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_replace_by_key \- Storing and Replacing Data . diff --git a/docs/man/memcached_result_cas.3 b/docs/man/memcached_result_cas.3 index 2a18dfd2..2dcb9c0b 100644 --- a/docs/man/memcached_result_cas.3 +++ b/docs/man/memcached_result_cas.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_CAS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_CAS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_cas \- Working with result sets . diff --git a/docs/man/memcached_result_create.3 b/docs/man/memcached_result_create.3 index 9b9f0aba..ee5d0245 100644 --- a/docs/man/memcached_result_create.3 +++ b/docs/man/memcached_result_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_CREATE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_CREATE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_create \- Working with result sets . diff --git a/docs/man/memcached_result_flags.3 b/docs/man/memcached_result_flags.3 index 0fe1b79a..ba4a3c7a 100644 --- a/docs/man/memcached_result_flags.3 +++ b/docs/man/memcached_result_flags.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_FLAGS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_FLAGS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_flags \- Working with result sets . diff --git a/docs/man/memcached_result_free.3 b/docs/man/memcached_result_free.3 index edba7961..553ed170 100644 --- a/docs/man/memcached_result_free.3 +++ b/docs/man/memcached_result_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_FREE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_FREE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_free \- Working with result sets . diff --git a/docs/man/memcached_result_key_length.3 b/docs/man/memcached_result_key_length.3 index 6463a9a5..9a6c5803 100644 --- a/docs/man/memcached_result_key_length.3 +++ b/docs/man/memcached_result_key_length.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_key_length \- Working with result sets . diff --git a/docs/man/memcached_result_key_value.3 b/docs/man/memcached_result_key_value.3 index f93592a5..0d54e81c 100644 --- a/docs/man/memcached_result_key_value.3 +++ b/docs/man/memcached_result_key_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_key_value \- Working with result sets . diff --git a/docs/man/memcached_result_length.3 b/docs/man/memcached_result_length.3 index a02e424d..70555dcd 100644 --- a/docs/man/memcached_result_length.3 +++ b/docs/man/memcached_result_length.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_LENGTH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_LENGTH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_length \- Working with result sets . diff --git a/docs/man/memcached_result_st.3 b/docs/man/memcached_result_st.3 index b7c7dd17..da1a914d 100644 --- a/docs/man/memcached_result_st.3 +++ b/docs/man/memcached_result_st.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_ST" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_ST" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_st \- Working with result sets . diff --git a/docs/man/memcached_result_value.3 b/docs/man/memcached_result_value.3 index ae8ae7e6..9ae59a3e 100644 --- a/docs/man/memcached_result_value.3 +++ b/docs/man/memcached_result_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_VALUE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RESULT_VALUE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_result_value \- Working with result sets . diff --git a/docs/man/memcached_return_t.3 b/docs/man/memcached_return_t.3 index b5718334..f656ff02 100644 --- a/docs/man/memcached_return_t.3 +++ b/docs/man/memcached_return_t.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RETURN_T" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_RETURN_T" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_return_t \- Return type values . diff --git a/docs/man/memcached_sasl.3 b/docs/man/memcached_sasl.3 index 2b1b1f6f..0ab8abb8 100644 --- a/docs/man/memcached_sasl.3 +++ b/docs/man/memcached_sasl.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SASL" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SASL" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_sasl \- libmemcached Documentation . diff --git a/docs/man/memcached_sasl_set_auth_data.3 b/docs/man/memcached_sasl_set_auth_data.3 index 89142fd4..5688cb61 100644 --- a/docs/man/memcached_sasl_set_auth_data.3 +++ b/docs/man/memcached_sasl_set_auth_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_sasl_set_auth_data \- libmemcached Documentation . diff --git a/docs/man/memcached_server_add.3 b/docs/man/memcached_server_add.3 index b93b87ba..7dd6b20e 100644 --- a/docs/man/memcached_server_add.3 +++ b/docs/man/memcached_server_add.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ADD" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_ADD" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_add \- libmemcached Documentation . diff --git a/docs/man/memcached_server_add_unix_socket.3 b/docs/man/memcached_server_add_unix_socket.3 index 237ca247..e2426a65 100644 --- a/docs/man/memcached_server_add_unix_socket.3 +++ b/docs/man/memcached_server_add_unix_socket.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_add_unix_socket \- libmemcached Documentation . diff --git a/docs/man/memcached_server_count.3 b/docs/man/memcached_server_count.3 index e702eb85..c6e941c0 100644 --- a/docs/man/memcached_server_count.3 +++ b/docs/man/memcached_server_count.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_COUNT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_COUNT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_count \- libmemcached Documentation . diff --git a/docs/man/memcached_server_cursor.3 b/docs/man/memcached_server_cursor.3 index 5a3431bc..5b17aa02 100644 --- a/docs/man/memcached_server_cursor.3 +++ b/docs/man/memcached_server_cursor.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_CURSOR" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_CURSOR" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_cursor \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list.3 b/docs/man/memcached_server_list.3 index 026c15a4..f3cdf389 100644 --- a/docs/man/memcached_server_list.3 +++ b/docs/man/memcached_server_list.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_LIST" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_list \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_append.3 b/docs/man/memcached_server_list_append.3 index 454bce13..0eb66f2d 100644 --- a/docs/man/memcached_server_list_append.3 +++ b/docs/man/memcached_server_list_append.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_list_append \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_count.3 b/docs/man/memcached_server_list_count.3 index a8afc9dd..27ed4366 100644 --- a/docs/man/memcached_server_list_count.3 +++ b/docs/man/memcached_server_list_count.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_list_count \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_free.3 b/docs/man/memcached_server_list_free.3 index f3e4af56..3e718504 100644 --- a/docs/man/memcached_server_list_free.3 +++ b/docs/man/memcached_server_list_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_FREE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_FREE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_list_free \- libmemcached Documentation . diff --git a/docs/man/memcached_server_push.3 b/docs/man/memcached_server_push.3 index e7c09c92..71ff1e86 100644 --- a/docs/man/memcached_server_push.3 +++ b/docs/man/memcached_server_push.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_PUSH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_PUSH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_push \- libmemcached Documentation . diff --git a/docs/man/memcached_server_st.3 b/docs/man/memcached_server_st.3 index 0ca6263f..49c89991 100644 --- a/docs/man/memcached_server_st.3 +++ b/docs/man/memcached_server_st.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ST" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVER_ST" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_server_st \- libmemcached Documentation . diff --git a/docs/man/memcached_servers.3 b/docs/man/memcached_servers.3 index 4a4c5f5f..c878d351 100644 --- a/docs/man/memcached_servers.3 +++ b/docs/man/memcached_servers.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVERS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_servers \- libmemcached Documentation . diff --git a/docs/man/memcached_servers_parse.3 b/docs/man/memcached_servers_parse.3 index 8e6ce2bb..b7ce8712 100644 --- a/docs/man/memcached_servers_parse.3 +++ b/docs/man/memcached_servers_parse.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS_PARSE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVERS_PARSE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_servers_parse \- libmemcached Documentation . diff --git a/docs/man/memcached_servers_reset.3 b/docs/man/memcached_servers_reset.3 index b2d8b273..1d64beb0 100644 --- a/docs/man/memcached_servers_reset.3 +++ b/docs/man/memcached_servers_reset.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS_RESET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SERVERS_RESET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_servers_reset \- libmemcached Documentation . diff --git a/docs/man/memcached_set.3 b/docs/man/memcached_set.3 index 37d1fc30..829a8f73 100644 --- a/docs/man/memcached_set.3 +++ b/docs/man/memcached_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set \- Storing and Replacing Data . diff --git a/docs/man/memcached_set_by_key.3 b/docs/man/memcached_set_by_key.3 index 50e26d2c..8933c3df 100644 --- a/docs/man/memcached_set_by_key.3 +++ b/docs/man/memcached_set_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set_by_key \- Storing and Replacing Data . diff --git a/docs/man/memcached_set_memory_allocators.3 b/docs/man/memcached_set_memory_allocators.3 index 741e7ed2..97ce9876 100644 --- a/docs/man/memcached_set_memory_allocators.3 +++ b/docs/man/memcached_set_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_set_memory_allocators_context.3 b/docs/man/memcached_set_memory_allocators_context.3 index f75505f4..59fbca2a 100644 --- a/docs/man/memcached_set_memory_allocators_context.3 +++ b/docs/man/memcached_set_memory_allocators_context.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set_memory_allocators_context \- libmemcached Documentation . diff --git a/docs/man/memcached_set_sasl_callbacks.3 b/docs/man/memcached_set_sasl_callbacks.3 index 6cdc40e4..4b8e8d51 100644 --- a/docs/man/memcached_set_sasl_callbacks.3 +++ b/docs/man/memcached_set_sasl_callbacks.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set_sasl_callbacks \- libmemcached Documentation . diff --git a/docs/man/memcached_set_user_data.3 b/docs/man/memcached_set_user_data.3 index 416d8a63..d94958f1 100644 --- a/docs/man/memcached_set_user_data.3 +++ b/docs/man/memcached_set_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_USER_DATA" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_SET_USER_DATA" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_set_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_stat.3 b/docs/man/memcached_stat.3 index 32b2c808..7e432375 100644 --- a/docs/man/memcached_stat.3 +++ b/docs/man/memcached_stat.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STAT" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stat \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_execute.3 b/docs/man/memcached_stat_execute.3 index 2ea5646b..32d54a1d 100644 --- a/docs/man/memcached_stat_execute.3 +++ b/docs/man/memcached_stat_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_EXECUTE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STAT_EXECUTE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stat_execute \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_get_keys.3 b/docs/man/memcached_stat_get_keys.3 index 27800bc3..accaf369 100644 --- a/docs/man/memcached_stat_get_keys.3 +++ b/docs/man/memcached_stat_get_keys.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_GET_KEYS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STAT_GET_KEYS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stat_get_keys \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_get_value.3 b/docs/man/memcached_stat_get_value.3 index 7cc2c999..e994e27d 100644 --- a/docs/man/memcached_stat_get_value.3 +++ b/docs/man/memcached_stat_get_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_GET_VALUE" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STAT_GET_VALUE" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stat_get_value \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_servername.3 b/docs/man/memcached_stat_servername.3 index 271ae615..8821f074 100644 --- a/docs/man/memcached_stat_servername.3 +++ b/docs/man/memcached_stat_servername.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_SERVERNAME" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STAT_SERVERNAME" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stat_servername \- libmemcached Documentation . diff --git a/docs/man/memcached_stats.3 b/docs/man/memcached_stats.3 index 497e74c1..13e00165 100644 --- a/docs/man/memcached_stats.3 +++ b/docs/man/memcached_stats.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STATS" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STATS" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_stats \- libmemcached Documentation . diff --git a/docs/man/memcached_strerror.3 b/docs/man/memcached_strerror.3 index 5f14b487..6f11e500 100644 --- a/docs/man/memcached_strerror.3 +++ b/docs/man/memcached_strerror.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STRERROR" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_STRERROR" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_strerror \- libmemcached Documentation . diff --git a/docs/man/memcached_touch.3 b/docs/man/memcached_touch.3 index 377d29d9..b14047f5 100644 --- a/docs/man/memcached_touch.3 +++ b/docs/man/memcached_touch.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_TOUCH" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_TOUCH" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_touch \- libmemcached Documentation . diff --git a/docs/man/memcached_touch_by_key.3 b/docs/man/memcached_touch_by_key.3 index 28b98794..f1365b14 100644 --- a/docs/man/memcached_touch_by_key.3 +++ b/docs/man/memcached_touch_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_TOUCH_BY_KEY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_TOUCH_BY_KEY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_touch_by_key \- libmemcached Documentation . diff --git a/docs/man/memcached_user_data.3 b/docs/man/memcached_user_data.3 index dd3c5f2a..55a16109 100644 --- a/docs/man/memcached_user_data.3 +++ b/docs/man/memcached_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_USER_DATA" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_USER_DATA" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_verbosity.3 b/docs/man/memcached_verbosity.3 index 27c6e018..62bd14c8 100644 --- a/docs/man/memcached_verbosity.3 +++ b/docs/man/memcached_verbosity.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_VERBOSITY" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_VERBOSITY" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_verbosity \- libmemcached Documentation . diff --git a/docs/man/memcached_version.3 b/docs/man/memcached_version.3 index e1b22ccf..7261f895 100644 --- a/docs/man/memcached_version.3 +++ b/docs/man/memcached_version.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_VERSION" "3" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCACHED_VERSION" "3" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcached_version \- libmemcached Documentation . diff --git a/docs/man/memcapable.1 b/docs/man/memcapable.1 index eafc1cc3..7c66aecf 100644 --- a/docs/man/memcapable.1 +++ b/docs/man/memcapable.1 @@ -1,4 +1,4 @@ -.TH "MEMCAPABLE" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCAPABLE" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcapable \- libmemcached Documentation . diff --git a/docs/man/memcat.1 b/docs/man/memcat.1 index 0eef1d3d..9f3bcf17 100644 --- a/docs/man/memcat.1 +++ b/docs/man/memcat.1 @@ -1,4 +1,4 @@ -.TH "MEMCAT" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCAT" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcat \- libmemcached Documentation . diff --git a/docs/man/memcp.1 b/docs/man/memcp.1 index e2b999b4..bad529ca 100644 --- a/docs/man/memcp.1 +++ b/docs/man/memcp.1 @@ -1,4 +1,4 @@ -.TH "MEMCP" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMCP" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memcp \- libmemcached Documentation . diff --git a/docs/man/memdump.1 b/docs/man/memdump.1 index c4ee0c62..4ea95ab0 100644 --- a/docs/man/memdump.1 +++ b/docs/man/memdump.1 @@ -1,4 +1,4 @@ -.TH "MEMDUMP" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMDUMP" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memdump \- libmemcached Documentation . diff --git a/docs/man/memerror.1 b/docs/man/memerror.1 index cffc8ff5..4f1690f0 100644 --- a/docs/man/memerror.1 +++ b/docs/man/memerror.1 @@ -1,4 +1,4 @@ -.TH "MEMERROR" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMERROR" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memerror \- libmemcached Documentation . diff --git a/docs/man/memflush.1 b/docs/man/memflush.1 index 8b6c5b7c..dc48190f 100644 --- a/docs/man/memflush.1 +++ b/docs/man/memflush.1 @@ -1,4 +1,4 @@ -.TH "MEMFLUSH" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMFLUSH" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memflush \- libmemcached Documentation . diff --git a/docs/man/memrm.1 b/docs/man/memrm.1 index 703e9ada..16c84d57 100644 --- a/docs/man/memrm.1 +++ b/docs/man/memrm.1 @@ -1,4 +1,4 @@ -.TH "MEMRM" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMRM" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memrm \- libmemcached Documentation . diff --git a/docs/man/memslap.1 b/docs/man/memslap.1 index 42005216..bf2199c1 100644 --- a/docs/man/memslap.1 +++ b/docs/man/memslap.1 @@ -1,4 +1,4 @@ -.TH "MEMSLAP" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMSLAP" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memslap \- libmemcached Documentation . diff --git a/docs/man/memstat.1 b/docs/man/memstat.1 index a27e19de..117dac4d 100644 --- a/docs/man/memstat.1 +++ b/docs/man/memstat.1 @@ -1,4 +1,4 @@ -.TH "MEMSTAT" "1" "April 13, 2012" "1.0.6" "libmemcached" +.TH "MEMSTAT" "1" "April 17, 2012" "1.0.6" "libmemcached" .SH NAME memstat \- libmemcached Documentation . diff --git a/example/t/memcached_light.cc b/example/t/memcached_light.cc index bcfce0a5..e24d31c2 100644 --- a/example/t/memcached_light.cc +++ b/example/t/memcached_light.cc @@ -166,8 +166,6 @@ public: } }; -static MemcachedLightRunner defualt_libmemcached_runner; - test_st cmdline_option_TESTS[] ={ {"--help", true, help_TEST }, {"--verbose", true, verbose_TEST }, @@ -238,6 +236,6 @@ void get_world(Framework *world) world->_create= world_create; world->_destroy= world_destroy; world->collections= collection; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new MemcachedLightRunner); } diff --git a/libmemcached/io.cc b/libmemcached/io.cc index 309df4c1..e83522b9 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -203,6 +203,7 @@ static memcached_return_t io_wait(memcached_server_write_instance_st ptr, if (ptr->root->poll_timeout == 0) // Mimic 0 causes timeout behavior (not all platforms do this) { + ptr->io_wait_count.timeouts++; return memcached_set_error(*ptr, MEMCACHED_TIMEOUT, MEMCACHED_AT); } @@ -340,8 +341,6 @@ static bool io_flush(memcached_server_write_instance_st ptr, } else if (rc == MEMCACHED_TIMEOUT) { - ptr->io_wait_count.timeouts++; - error= memcached_set_error(*ptr, MEMCACHED_TIMEOUT, MEMCACHED_AT); return false; } diff --git a/libtest/binaries.cc b/libtest/binaries.cc index e437f969..2efde2f3 100644 --- a/libtest/binaries.cc +++ b/libtest/binaries.cc @@ -46,10 +46,22 @@ bool has_gearmand_binary() return false; } +bool has_drizzled_binary() +{ +#if defined(HAVE_DRIZZLED_BINARY) && HAVE_DRIZZLED_BINARY + if (access(DRIZZLED_BINARY, R_OK|X_OK) == 0) + { + return true; + } +#endif + + return false; +} + bool has_memcached_binary() { #if defined(HAVE_MEMCACHED_BINARY) && HAVE_MEMCACHED_BINARY - if (access(MEMCACHED_BINARY,R_OK|X_OK) == 0) + if (access(MEMCACHED_BINARY, R_OK|X_OK) == 0) { return true; } diff --git a/libtest/binaries.h b/libtest/binaries.h index e071016c..0b886872 100644 --- a/libtest/binaries.h +++ b/libtest/binaries.h @@ -32,5 +32,8 @@ bool has_memcached_sasl_binary(); LIBTEST_API bool has_gearmand_binary(); +LIBTEST_API +bool has_drizzled_binary(); + } // namespace libtest diff --git a/libtest/cmdline.cc b/libtest/cmdline.cc index de7c89d7..6b8205cb 100644 --- a/libtest/cmdline.cc +++ b/libtest/cmdline.cc @@ -113,6 +113,7 @@ Application::Application(const std::string& arg, const bool _use_libtool_arg) : _use_valgrind(false), _use_gdb(false), _use_ptrcheck(false), + _will_fail(false), _argc(0), _exectuble(arg), stdin_fd(STDIN_FILENO), @@ -252,7 +253,10 @@ Application::error_t Application::run(const char *args[]) if (spawn_ret != 0) { - Error << strerror(spawn_ret) << "(" << spawn_ret << ")"; + if (_will_fail == false) + { + Error << strerror(spawn_ret) << "(" << spawn_ret << ")"; + } _pid= -1; return Application::INVALID; } @@ -792,4 +796,9 @@ const char *gearmand_binary() return GEARMAND_BINARY; } +const char *drizzled_binary() +{ + return DRIZZLED_BINARY; +} + } // namespace exec_cmdline diff --git a/libtest/cmdline.h b/libtest/cmdline.h index 44fd17f9..a3d9cb25 100644 --- a/libtest/cmdline.h +++ b/libtest/cmdline.h @@ -134,6 +134,11 @@ public: return _pid; } + void will_fail() + { + _will_fail= true; + } + private: void create_argv(const char *args[]); void delete_argv(); @@ -143,6 +148,7 @@ private: bool _use_valgrind; bool _use_gdb; bool _use_ptrcheck; + bool _will_fail; size_t _argc; std::string _exectuble_name; std::string _exectuble; @@ -184,5 +190,6 @@ static inline std::ostream& operator<<(std::ostream& output, const enum Applicat int exec_cmdline(const std::string& executable, const char *args[], bool use_libtool= false); const char *gearmand_binary(); +const char *drizzled_binary(); } diff --git a/libtest/common.h b/libtest/common.h index 05f273a7..39b99c51 100644 --- a/libtest/common.h +++ b/libtest/common.h @@ -58,6 +58,7 @@ #include #include #include +#include #include #include diff --git a/libtest/drizzled.cc b/libtest/drizzled.cc new file mode 100644 index 00000000..c1241922 --- /dev/null +++ b/libtest/drizzled.cc @@ -0,0 +1,206 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * libtest + * + * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#include +#include + +#include + +#include "util/instance.hpp" +#include "util/operation.hpp" + +using namespace datadifferential; +using namespace libtest; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __INTEL_COMPILER +#pragma GCC diagnostic ignored "-Wold-style-cast" +#endif + +#if defined(HAVE_LIBDRIZZLE) && HAVE_LIBDRIZZLE +#include +#endif + +using namespace libtest; + +namespace libtest { +bool ping_drizzled(const in_port_t _port) +{ +#if defined(HAVE_LIBDRIZZLE) && HAVE_LIBDRIZZLE + { + drizzle_st *drizzle= drizzle_create(NULL); + + if (drizzle == NULL) + { + return false; + } + + drizzle_con_st *con; + + if ((con= drizzle_con_create(drizzle, NULL)) == NULL) + { + drizzle_free(drizzle); + return false; + } + + drizzle_con_set_tcp(con, "localhost", _port); + drizzle_con_set_auth(con, "root", 0); + + bool success= false; + + drizzle_return_t rc; + if ((rc= drizzle_con_connect(con)) == DRIZZLE_RETURN_OK) + { + drizzle_result_st *result= drizzle_ping(con, NULL, &rc); + success= bool(result); + drizzle_result_free(result); + } + + if (success == true) + { } + else if (rc != DRIZZLE_RETURN_OK) + { + Error << drizzle_error(drizzle) << " localhost:" << _port; + } + + drizzle_con_free(con); + drizzle_free(drizzle); + + return success; + } +#endif + + return false; +} +} // namespace libtest + +class Drizzle : public libtest::Server +{ +private: +public: + Drizzle(const std::string& host_arg, in_port_t port_arg) : + libtest::Server(host_arg, port_arg, DRIZZLED_BINARY, false) + { + set_pid_file(); + } + + bool ping() + { + size_t limit= 5; + while (_app.check() and --limit) + { + if (ping_drizzled(_port)) + { + return true; + } + libtest::dream(1, 0); + } + + return false; + } + + const char *name() + { + return "drizzled"; + }; + + void log_file_option(Application& app, const std::string& arg) + { + } + + bool has_log_file_option() const + { + return true; + } + + bool broken_pid_file() + { + return true; + } + + bool is_libtool() + { + return false; + } + + bool has_syslog() const + { + return true; + } + + bool has_port_option() const + { + return true; + } + + void port_option(Application& app, in_port_t arg) + { + if (arg > 0) + { + char buffer[1024]; + snprintf(buffer, sizeof(buffer), "--drizzle-protocol.port=%d", int(arg)); + app.add_option(buffer); + } + } + + bool build(size_t argc, const char *argv[]); +}; + +bool Drizzle::build(size_t argc, const char *argv[]) +{ + if (getuid() == 0 or geteuid() == 0) + { + add_option("--user=root"); + } + + add_option("--verbose=INSPECT"); +#if 0 + add_option("--datadir=var/drizzle"); +#endif + + for (size_t x= 0 ; x < argc ; x++) + { + add_option(argv[x]); + } + + return true; +} + +namespace libtest { + +libtest::Server *build_drizzled(const char *hostname, in_port_t try_port) +{ + return new Drizzle(hostname, try_port); +} + +} diff --git a/libtest/drizzled.h b/libtest/drizzled.h new file mode 100644 index 00000000..496a2019 --- /dev/null +++ b/libtest/drizzled.h @@ -0,0 +1,36 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * libtest + * + * Copyright (C) 2012 Data Differential, http://datadifferential.com/ + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#pragma once + +#include + +namespace libtest { struct Server; } + +namespace libtest { + +libtest::Server *build_drizzled(const char *hostname, in_port_t try_port); + +bool ping_drizzled(const in_port_t); + +} + diff --git a/libtest/framework.cc b/libtest/framework.cc index 96918664..3a4d85d5 100644 --- a/libtest/framework.cc +++ b/libtest/framework.cc @@ -33,8 +33,6 @@ static test_return_t _default_callback(void *p) return TEST_SUCCESS; } -static Runner defualt_runners; - Framework::Framework() : collections(NULL), _create(NULL), @@ -56,6 +54,8 @@ Framework::~Framework() } _servers.shutdown(); + + delete _runner; } test_return_t Framework::Item::pre(void *arg) @@ -122,7 +122,7 @@ libtest::Runner *Framework::runner() { if (_runner == NULL) { - _runner= &defualt_runners; + _runner= new Runner; } _runner->set_servers(_servers); diff --git a/libtest/gearmand.cc b/libtest/gearmand.cc index 325582f6..7a33b4df 100644 --- a/libtest/gearmand.cc +++ b/libtest/gearmand.cc @@ -122,7 +122,7 @@ public: bool has_syslog() const { - return true; + return false; // --syslog.errmsg-enable } bool has_port_option() const diff --git a/libtest/include.am b/libtest/include.am index 59706ad8..58c7eb49 100644 --- a/libtest/include.am +++ b/libtest/include.am @@ -49,6 +49,7 @@ drd: EXTRA_DIST+= libtest/run.gdb CLEANFILES+= \ + tmp_chroot/var/drizzle/* \ tmp_chroot/var/log/* \ tmp_chroot/var/run/* \ tmp_chroot/var/tmp/* @@ -73,6 +74,7 @@ noinst_HEADERS+= \ libtest/fatal.hpp \ libtest/framework.h \ libtest/gearmand.h \ + libtest/drizzled.h \ libtest/get.h \ libtest/has.hpp \ libtest/http.hpp \ @@ -99,34 +101,36 @@ noinst_HEADERS+= \ libtest/wait.h noinst_LTLIBRARIES+= libtest/libtest.la -libtest_libtest_la_SOURCES= \ - libtest/binaries.cc \ - libtest/cmdline.cc \ - libtest/comparison.cc \ - libtest/core.cc \ - libtest/cpu.cc \ - libtest/dream.cc \ - libtest/fatal.cc \ - libtest/framework.cc \ - libtest/has.cc \ - libtest/http.cc \ - libtest/is_local.cc \ - libtest/killpid.cc \ - libtest/libtool.cc \ - libtest/port.cc \ - libtest/runner.cc \ - libtest/server.cc \ - libtest/server_container.cc \ - libtest/signal.cc \ - libtest/socket.cc \ - libtest/strerror.cc \ - libtest/test.cc \ - libtest/tmpfile.cc \ - libtest/vchar.cc libtest_libtest_la_CXXFLAGS= libtest_libtest_la_DEPENDENCIES= libtest_libtest_la_LIBADD= +libtest_libtest_la_SOURCES= + +libtest_libtest_la_SOURCES+= libtest/binaries.cc +libtest_libtest_la_SOURCES+= libtest/cmdline.cc +libtest_libtest_la_SOURCES+= libtest/comparison.cc +libtest_libtest_la_SOURCES+= libtest/core.cc +libtest_libtest_la_SOURCES+= libtest/cpu.cc +libtest_libtest_la_SOURCES+= libtest/dream.cc +libtest_libtest_la_SOURCES+= libtest/fatal.cc +libtest_libtest_la_SOURCES+= libtest/framework.cc +libtest_libtest_la_SOURCES+= libtest/has.cc +libtest_libtest_la_SOURCES+= libtest/drizzled.cc +libtest_libtest_la_SOURCES+= libtest/http.cc +libtest_libtest_la_SOURCES+= libtest/is_local.cc +libtest_libtest_la_SOURCES+= libtest/killpid.cc +libtest_libtest_la_SOURCES+= libtest/libtool.cc +libtest_libtest_la_SOURCES+= libtest/main.cc +libtest_libtest_la_SOURCES+= libtest/port.cc +libtest_libtest_la_SOURCES+= libtest/runner.cc +libtest_libtest_la_SOURCES+= libtest/server.cc +libtest_libtest_la_SOURCES+= libtest/server_container.cc +libtest_libtest_la_SOURCES+= libtest/signal.cc +libtest_libtest_la_SOURCES+= libtest/socket.cc +libtest_libtest_la_SOURCES+= libtest/strerror.cc +libtest_libtest_la_SOURCES+= libtest/tmpfile.cc +libtest_libtest_la_SOURCES+= libtest/vchar.cc libtest_libtest_la_CXXFLAGS+= ${NO_CONVERSION} libtest_libtest_la_CXXFLAGS+= -DBUILDING_LIBTEST @@ -170,6 +174,13 @@ libtest_unittest_CXXFLAGS+= -DHAVE_LIBMEMCACHED=0 endif endif +if HAVE_LIBDRIZZLE + +libtest_libtest_la_LIBADD+= $(libdrizzle_LIBS) +libtest_libtest_la_CXXFLAGS+= $(libdrizzle_CFLAGS) + +endif + if BUILDING_GEARMAN libtest_libtest_la_DEPENDENCIES+= libgearman/libgearman.la libtest_libtest_la_LIBADD+= libgearman/libgearman.la @@ -192,7 +203,7 @@ libtest_libtest_la_SOURCES+= util/operation.cc endif endif -libtest_tmp_dir: tmp_chroot/var/log tmp_chroot/var/tmp tmp_chroot/var/run +libtest_tmp_dir: tmp_chroot/var/log tmp_chroot/var/tmp tmp_chroot/var/run tmp_chroot/var/drizzle tmp_chroot: @$(mkdir_p) tmp_chroot @@ -206,6 +217,9 @@ tmp_chroot/var/log: tmp_chroot/var tmp_chroot/var/tmp: tmp_chroot/var @$(mkdir_p) tmp_chroot/var/tmp +tmp_chroot/var/drizzle: tmp_chroot/var + @$(mkdir_p) tmp_chroot/var/drizzle + tmp_chroot/var/run: tmp_chroot/var @$(mkdir_p) tmp_chroot/var/run diff --git a/libtest/main.cc b/libtest/main.cc new file mode 100644 index 00000000..ef10028c --- /dev/null +++ b/libtest/main.cc @@ -0,0 +1,479 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * libtest + * + * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#ifndef __INTEL_COMPILER +#pragma GCC diagnostic ignored "-Wold-style-cast" +#endif + +using namespace libtest; + +static void stats_print(Stats *stats) +{ + if (stats->collection_failed == 0 and stats->collection_success == 0) + { + return; + } + + Out << "\tTotal Collections\t\t\t\t" << stats->collection_total; + Out << "\tFailed Collections\t\t\t\t" << stats->collection_failed; + Out << "\tSkipped Collections\t\t\t\t" << stats->collection_skipped; + Out << "\tSucceeded Collections\t\t\t\t" << stats->collection_success; + Outn(); + Out << "Total\t\t\t\t" << stats->total; + Out << "\tFailed\t\t\t" << stats->failed; + Out << "\tSkipped\t\t\t" << stats->skipped; + Out << "\tSucceeded\t\t" << stats->success; +} + +static long int timedif(struct timeval a, struct timeval b) +{ + long us, s; + + us = (long)(a.tv_usec - b.tv_usec); + us /= 1000; + s = (long)(a.tv_sec - b.tv_sec); + s *= 1000; + return s + us; +} + +#include +#include + +int main(int argc, char *argv[]) +{ + bool opt_massive= false; + unsigned long int opt_repeat= 1; // Run all tests once + bool opt_quiet= false; + std::string collection_to_run; + + // Options parsing + { + enum long_option_t { + OPT_LIBYATL_VERSION, + OPT_LIBYATL_MATCH_COLLECTION, + OPT_LIBYATL_MASSIVE, + OPT_LIBYATL_QUIET, + OPT_LIBYATL_REPEAT + }; + + static struct option long_options[]= + { + { "version", no_argument, NULL, OPT_LIBYATL_VERSION }, + { "quiet", no_argument, NULL, OPT_LIBYATL_QUIET }, + { "repeat", no_argument, NULL, OPT_LIBYATL_REPEAT }, + { "collection", required_argument, NULL, OPT_LIBYATL_MATCH_COLLECTION }, + { "massive", no_argument, NULL, OPT_LIBYATL_MASSIVE }, + { 0, 0, 0, 0 } + }; + + int option_index= 0; + while (1) + { + int option_rv= getopt_long(argc, argv, "", long_options, &option_index); + if (option_rv == -1) + { + break; + } + + switch (option_rv) + { + case OPT_LIBYATL_VERSION: + break; + + case OPT_LIBYATL_QUIET: + opt_quiet= true; + break; + + case OPT_LIBYATL_REPEAT: + opt_repeat= strtoul(optarg, (char **) NULL, 10); + break; + + case OPT_LIBYATL_MATCH_COLLECTION: + collection_to_run= optarg; + break; + + case OPT_LIBYATL_MASSIVE: + opt_massive= true; + break; + + case '?': + /* getopt_long already printed an error message. */ + Error << "unknown option to getopt_long()"; + exit(EXIT_FAILURE); + + default: + break; + } + } + } + + srandom((unsigned int)time(NULL)); + + if (bool(getenv("YATL_REPEAT")) and (strtoul(getenv("YATL_REPEAT"), (char **) NULL, 10) > 1)) + { + opt_repeat= strtoul(getenv("YATL_REPEAT"), (char **) NULL, 10); + } + + if ((bool(getenv("YATL_QUIET")) and (strcmp(getenv("YATL_QUIET"), "0") == 0)) or opt_quiet) + { + opt_quiet= true; + } + else if (getenv("JENKINS_URL")) + { + if (bool(getenv("YATL_QUIET")) and (strcmp(getenv("YATL_QUIET"), "1") == 0)) + { } + else + { + opt_quiet= true; + } + } + + if (opt_quiet) + { + close(STDOUT_FILENO); + } + + char buffer[1024]; + if (getenv("LIBTEST_TMP")) + { + snprintf(buffer, sizeof(buffer), "%s", getenv("LIBTEST_TMP")); + } + else + { + snprintf(buffer, sizeof(buffer), "%s", LIBTEST_TEMP); + } + + if (chdir(buffer) == -1) + { + char getcwd_buffer[1024]; + char *dir= getcwd(getcwd_buffer, sizeof(getcwd_buffer)); + + Error << "Unable to chdir() from " << dir << " to " << buffer << " errno:" << strerror(errno); + return EXIT_FAILURE; + } + + if (libtest::libtool() == NULL) + { + Error << "Failed to locate libtool"; + return EXIT_FAILURE; + } + + int exit_code; + + try { + do { + exit_code= EXIT_SUCCESS; + Framework world; + + fatal_assert(sigignore(SIGPIPE) == 0); + + libtest::SignalThread signal; + if (signal.setup() == false) + { + Error << "Failed to setup signals"; + return EXIT_FAILURE; + } + + Stats stats; + + get_world(&world); + + test_return_t error; + void *creators_ptr= world.create(error); + + switch (error) + { + case TEST_SUCCESS: + break; + + case TEST_SKIPPED: + Out << "SKIP " << argv[0]; + return EXIT_SUCCESS; + + case TEST_FAILURE: + return EXIT_FAILURE; + } + + if (getenv("YATL_COLLECTION_TO_RUN")) + { + if (strlen(getenv("YATL_COLLECTION_TO_RUN"))) + { + collection_to_run= getenv("YATL_COLLECTION_TO_RUN"); + } + } + + if (collection_to_run.compare("none") == 0) + { + return EXIT_SUCCESS; + } + + if (collection_to_run.empty() == false) + { + Out << "Only testing " << collection_to_run; + } + + char *wildcard= NULL; + if (argc == 3) + { + wildcard= argv[2]; + } + + for (collection_st *next= world.collections; next and next->name and (not signal.is_shutdown()); next++) + { + bool failed= false; + bool skipped= false; + + if (collection_to_run.empty() == false and fnmatch(collection_to_run.c_str(), next->name, 0)) + { + continue; + } + + stats.collection_total++; + + test_return_t collection_rc= world.startup(creators_ptr); + + if (collection_rc == TEST_SUCCESS and next->pre) + { + collection_rc= world.runner()->pre(next->pre, creators_ptr); + } + + switch (collection_rc) + { + case TEST_SUCCESS: + break; + + case TEST_FAILURE: + Out << next->name << " [ failed ]"; + failed= true; + signal.set_shutdown(SHUTDOWN_GRACEFUL); + goto cleanup; + + case TEST_SKIPPED: + Out << next->name << " [ skipping ]"; + skipped= true; + goto cleanup; + + default: + fatal_message("invalid return code"); + } + + Out << "Collection: " << next->name; + + for (test_st *run= next->tests; run->name; run++) + { + struct timeval start_time, end_time; + long int load_time= 0; + + if (wildcard && fnmatch(wildcard, run->name, 0)) + { + continue; + } + + test_return_t return_code; + try { + if (test_success(return_code= world.item.startup(creators_ptr))) + { + if (test_success(return_code= world.item.flush(creators_ptr, run))) + { + // @note pre will fail is SKIPPED is returned + if (test_success(return_code= world.item.pre(creators_ptr))) + { + { // Runner Code + gettimeofday(&start_time, NULL); + assert(world.runner()); + assert(run->test_fn); + try + { + return_code= world.runner()->run(run->test_fn, creators_ptr); + } + // Special case where check for the testing of the exception + // system. + catch (libtest::fatal &e) + { + if (fatal::is_disabled()) + { + fatal::increment_disabled_counter(); + return_code= TEST_SUCCESS; + } + else + { + throw; + } + } + + gettimeofday(&end_time, NULL); + load_time= timedif(end_time, start_time); + } + } + + // @todo do something if post fails + (void)world.item.post(creators_ptr); + } + else if (return_code == TEST_SKIPPED) + { } + else if (return_code == TEST_FAILURE) + { + Error << " item.flush(failure)"; + signal.set_shutdown(SHUTDOWN_GRACEFUL); + } + } + else if (return_code == TEST_SKIPPED) + { } + else if (return_code == TEST_FAILURE) + { + Error << " item.startup(failure)"; + signal.set_shutdown(SHUTDOWN_GRACEFUL); + } + } + + catch (libtest::fatal &e) + { + Error << "Fatal exception was thrown: " << e.what(); + return_code= TEST_FAILURE; + } + catch (std::exception &e) + { + Error << "Exception was thrown: " << e.what(); + return_code= TEST_FAILURE; + } + catch (...) + { + Error << "Unknown exception occurred"; + return_code= TEST_FAILURE; + } + + stats.total++; + + switch (return_code) + { + case TEST_SUCCESS: + Out << "\tTesting " << run->name << "\t\t\t\t\t" << load_time / 1000 << "." << load_time % 1000 << "[ " << test_strerror(return_code) << " ]"; + stats.success++; + break; + + case TEST_FAILURE: + stats.failed++; + failed= true; + Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]"; + break; + + case TEST_SKIPPED: + stats.skipped++; + skipped= true; + Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]"; + break; + + default: + fatal_message("invalid return code"); + } + + if (test_failed(world.on_error(return_code, creators_ptr))) + { + Error << "Failed while running on_error()"; + signal.set_shutdown(SHUTDOWN_GRACEFUL); + break; + } + } + + (void) world.runner()->post(next->post, creators_ptr); + +cleanup: + if (failed == false and skipped == false) + { + stats.collection_success++; + } + + if (failed) + { + stats.collection_failed++; + } + + if (skipped) + { + stats.collection_skipped++; + } + + world.shutdown(creators_ptr); + Outn(); + } + + if (not signal.is_shutdown()) + { + signal.set_shutdown(SHUTDOWN_GRACEFUL); + } + + shutdown_t status= signal.get_shutdown(); + if (status == SHUTDOWN_FORCED) + { + Out << "Tests were aborted."; + exit_code= EXIT_FAILURE; + } + else if (stats.collection_failed) + { + Out << "Some test failed."; + exit_code= EXIT_FAILURE; + } + else if (stats.collection_skipped and stats.collection_failed and stats.collection_success) + { + Out << "Some tests were skipped."; + } + else if (stats.collection_success and stats.collection_failed == 0) + { + Out << "All tests completed successfully."; + } + + stats_print(&stats); + + Outn(); // Generate a blank to break up the messages if make check/test has been run + } while (exit_code == EXIT_SUCCESS and --opt_repeat); + } + catch (libtest::fatal& e) + { + std::cerr << e.what() << std::endl; + } + catch (std::exception& e) + { + std::cerr << e.what() << std::endl; + } + catch (...) + { + std::cerr << "Unknown exception halted execution." << std::endl; + } + + return exit_code; +} diff --git a/libtest/server.cc b/libtest/server.cc index 99a9eeb9..41da231c 100644 --- a/libtest/server.cc +++ b/libtest/server.cc @@ -201,6 +201,7 @@ bool Server::start() { if (_app.check()) { + _app.slurp(); continue; } @@ -254,14 +255,18 @@ bool Server::start() } throw libtest::fatal(LIBYATL_DEFAULT_PARAM, - "Failed to ping(), waited: %u server started, having pid_file. exec: %s stderr:%s", + "Failed native ping(), pid: %d is alive: %s waited: %u server started, having pid_file. exec: %s stderr:%s", + int(_app.pid()), + _app.check() ? "true" : "false", this_wait, _running.c_str(), _app.stderr_c_str()); } else { throw libtest::fatal(LIBYATL_DEFAULT_PARAM, - "Failed to ping(), waited: %u server started. exec: %s stderr:%s", + "Failed native ping(), pid: %d is alive: %s waited: %u server started. exec: %s stderr:%s", + int(_app.pid()), + _app.check() ? "true" : "false", this_wait, _running.c_str(), _app.stderr_c_str()); @@ -371,7 +376,7 @@ bool Server::args(Application& app) { // Set a log file if it was requested (and we can) - if (false and has_log_file_option()) + if (has_log_file_option()) { set_log_file(); log_file_option(app, _log_file); diff --git a/libtest/server_container.cc b/libtest/server_container.cc index b63cfbb4..4fdfd414 100644 --- a/libtest/server_container.cc +++ b/libtest/server_container.cc @@ -179,6 +179,16 @@ bool server_startup(server_startup_st& construct, const std::string& server_type } } } + else if (server_type.compare("drizzled") == 0) + { + if (DRIZZLED_BINARY) + { + if (HAVE_LIBDRIZZLE) + { + server= build_drizzled("localhost", try_port); + } + } + } else if (server_type.compare("blobslap_worker") == 0) { if (GEARMAND_BINARY) diff --git a/libtest/test.cc b/libtest/test.cc deleted file mode 100644 index ef10028c..00000000 --- a/libtest/test.cc +++ /dev/null @@ -1,479 +0,0 @@ -/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: - * - * libtest - * - * Copyright (C) 2011 Data Differential, http://datadifferential.com/ - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#ifndef __INTEL_COMPILER -#pragma GCC diagnostic ignored "-Wold-style-cast" -#endif - -using namespace libtest; - -static void stats_print(Stats *stats) -{ - if (stats->collection_failed == 0 and stats->collection_success == 0) - { - return; - } - - Out << "\tTotal Collections\t\t\t\t" << stats->collection_total; - Out << "\tFailed Collections\t\t\t\t" << stats->collection_failed; - Out << "\tSkipped Collections\t\t\t\t" << stats->collection_skipped; - Out << "\tSucceeded Collections\t\t\t\t" << stats->collection_success; - Outn(); - Out << "Total\t\t\t\t" << stats->total; - Out << "\tFailed\t\t\t" << stats->failed; - Out << "\tSkipped\t\t\t" << stats->skipped; - Out << "\tSucceeded\t\t" << stats->success; -} - -static long int timedif(struct timeval a, struct timeval b) -{ - long us, s; - - us = (long)(a.tv_usec - b.tv_usec); - us /= 1000; - s = (long)(a.tv_sec - b.tv_sec); - s *= 1000; - return s + us; -} - -#include -#include - -int main(int argc, char *argv[]) -{ - bool opt_massive= false; - unsigned long int opt_repeat= 1; // Run all tests once - bool opt_quiet= false; - std::string collection_to_run; - - // Options parsing - { - enum long_option_t { - OPT_LIBYATL_VERSION, - OPT_LIBYATL_MATCH_COLLECTION, - OPT_LIBYATL_MASSIVE, - OPT_LIBYATL_QUIET, - OPT_LIBYATL_REPEAT - }; - - static struct option long_options[]= - { - { "version", no_argument, NULL, OPT_LIBYATL_VERSION }, - { "quiet", no_argument, NULL, OPT_LIBYATL_QUIET }, - { "repeat", no_argument, NULL, OPT_LIBYATL_REPEAT }, - { "collection", required_argument, NULL, OPT_LIBYATL_MATCH_COLLECTION }, - { "massive", no_argument, NULL, OPT_LIBYATL_MASSIVE }, - { 0, 0, 0, 0 } - }; - - int option_index= 0; - while (1) - { - int option_rv= getopt_long(argc, argv, "", long_options, &option_index); - if (option_rv == -1) - { - break; - } - - switch (option_rv) - { - case OPT_LIBYATL_VERSION: - break; - - case OPT_LIBYATL_QUIET: - opt_quiet= true; - break; - - case OPT_LIBYATL_REPEAT: - opt_repeat= strtoul(optarg, (char **) NULL, 10); - break; - - case OPT_LIBYATL_MATCH_COLLECTION: - collection_to_run= optarg; - break; - - case OPT_LIBYATL_MASSIVE: - opt_massive= true; - break; - - case '?': - /* getopt_long already printed an error message. */ - Error << "unknown option to getopt_long()"; - exit(EXIT_FAILURE); - - default: - break; - } - } - } - - srandom((unsigned int)time(NULL)); - - if (bool(getenv("YATL_REPEAT")) and (strtoul(getenv("YATL_REPEAT"), (char **) NULL, 10) > 1)) - { - opt_repeat= strtoul(getenv("YATL_REPEAT"), (char **) NULL, 10); - } - - if ((bool(getenv("YATL_QUIET")) and (strcmp(getenv("YATL_QUIET"), "0") == 0)) or opt_quiet) - { - opt_quiet= true; - } - else if (getenv("JENKINS_URL")) - { - if (bool(getenv("YATL_QUIET")) and (strcmp(getenv("YATL_QUIET"), "1") == 0)) - { } - else - { - opt_quiet= true; - } - } - - if (opt_quiet) - { - close(STDOUT_FILENO); - } - - char buffer[1024]; - if (getenv("LIBTEST_TMP")) - { - snprintf(buffer, sizeof(buffer), "%s", getenv("LIBTEST_TMP")); - } - else - { - snprintf(buffer, sizeof(buffer), "%s", LIBTEST_TEMP); - } - - if (chdir(buffer) == -1) - { - char getcwd_buffer[1024]; - char *dir= getcwd(getcwd_buffer, sizeof(getcwd_buffer)); - - Error << "Unable to chdir() from " << dir << " to " << buffer << " errno:" << strerror(errno); - return EXIT_FAILURE; - } - - if (libtest::libtool() == NULL) - { - Error << "Failed to locate libtool"; - return EXIT_FAILURE; - } - - int exit_code; - - try { - do { - exit_code= EXIT_SUCCESS; - Framework world; - - fatal_assert(sigignore(SIGPIPE) == 0); - - libtest::SignalThread signal; - if (signal.setup() == false) - { - Error << "Failed to setup signals"; - return EXIT_FAILURE; - } - - Stats stats; - - get_world(&world); - - test_return_t error; - void *creators_ptr= world.create(error); - - switch (error) - { - case TEST_SUCCESS: - break; - - case TEST_SKIPPED: - Out << "SKIP " << argv[0]; - return EXIT_SUCCESS; - - case TEST_FAILURE: - return EXIT_FAILURE; - } - - if (getenv("YATL_COLLECTION_TO_RUN")) - { - if (strlen(getenv("YATL_COLLECTION_TO_RUN"))) - { - collection_to_run= getenv("YATL_COLLECTION_TO_RUN"); - } - } - - if (collection_to_run.compare("none") == 0) - { - return EXIT_SUCCESS; - } - - if (collection_to_run.empty() == false) - { - Out << "Only testing " << collection_to_run; - } - - char *wildcard= NULL; - if (argc == 3) - { - wildcard= argv[2]; - } - - for (collection_st *next= world.collections; next and next->name and (not signal.is_shutdown()); next++) - { - bool failed= false; - bool skipped= false; - - if (collection_to_run.empty() == false and fnmatch(collection_to_run.c_str(), next->name, 0)) - { - continue; - } - - stats.collection_total++; - - test_return_t collection_rc= world.startup(creators_ptr); - - if (collection_rc == TEST_SUCCESS and next->pre) - { - collection_rc= world.runner()->pre(next->pre, creators_ptr); - } - - switch (collection_rc) - { - case TEST_SUCCESS: - break; - - case TEST_FAILURE: - Out << next->name << " [ failed ]"; - failed= true; - signal.set_shutdown(SHUTDOWN_GRACEFUL); - goto cleanup; - - case TEST_SKIPPED: - Out << next->name << " [ skipping ]"; - skipped= true; - goto cleanup; - - default: - fatal_message("invalid return code"); - } - - Out << "Collection: " << next->name; - - for (test_st *run= next->tests; run->name; run++) - { - struct timeval start_time, end_time; - long int load_time= 0; - - if (wildcard && fnmatch(wildcard, run->name, 0)) - { - continue; - } - - test_return_t return_code; - try { - if (test_success(return_code= world.item.startup(creators_ptr))) - { - if (test_success(return_code= world.item.flush(creators_ptr, run))) - { - // @note pre will fail is SKIPPED is returned - if (test_success(return_code= world.item.pre(creators_ptr))) - { - { // Runner Code - gettimeofday(&start_time, NULL); - assert(world.runner()); - assert(run->test_fn); - try - { - return_code= world.runner()->run(run->test_fn, creators_ptr); - } - // Special case where check for the testing of the exception - // system. - catch (libtest::fatal &e) - { - if (fatal::is_disabled()) - { - fatal::increment_disabled_counter(); - return_code= TEST_SUCCESS; - } - else - { - throw; - } - } - - gettimeofday(&end_time, NULL); - load_time= timedif(end_time, start_time); - } - } - - // @todo do something if post fails - (void)world.item.post(creators_ptr); - } - else if (return_code == TEST_SKIPPED) - { } - else if (return_code == TEST_FAILURE) - { - Error << " item.flush(failure)"; - signal.set_shutdown(SHUTDOWN_GRACEFUL); - } - } - else if (return_code == TEST_SKIPPED) - { } - else if (return_code == TEST_FAILURE) - { - Error << " item.startup(failure)"; - signal.set_shutdown(SHUTDOWN_GRACEFUL); - } - } - - catch (libtest::fatal &e) - { - Error << "Fatal exception was thrown: " << e.what(); - return_code= TEST_FAILURE; - } - catch (std::exception &e) - { - Error << "Exception was thrown: " << e.what(); - return_code= TEST_FAILURE; - } - catch (...) - { - Error << "Unknown exception occurred"; - return_code= TEST_FAILURE; - } - - stats.total++; - - switch (return_code) - { - case TEST_SUCCESS: - Out << "\tTesting " << run->name << "\t\t\t\t\t" << load_time / 1000 << "." << load_time % 1000 << "[ " << test_strerror(return_code) << " ]"; - stats.success++; - break; - - case TEST_FAILURE: - stats.failed++; - failed= true; - Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]"; - break; - - case TEST_SKIPPED: - stats.skipped++; - skipped= true; - Out << "\tTesting " << run->name << "\t\t\t\t\t" << "[ " << test_strerror(return_code) << " ]"; - break; - - default: - fatal_message("invalid return code"); - } - - if (test_failed(world.on_error(return_code, creators_ptr))) - { - Error << "Failed while running on_error()"; - signal.set_shutdown(SHUTDOWN_GRACEFUL); - break; - } - } - - (void) world.runner()->post(next->post, creators_ptr); - -cleanup: - if (failed == false and skipped == false) - { - stats.collection_success++; - } - - if (failed) - { - stats.collection_failed++; - } - - if (skipped) - { - stats.collection_skipped++; - } - - world.shutdown(creators_ptr); - Outn(); - } - - if (not signal.is_shutdown()) - { - signal.set_shutdown(SHUTDOWN_GRACEFUL); - } - - shutdown_t status= signal.get_shutdown(); - if (status == SHUTDOWN_FORCED) - { - Out << "Tests were aborted."; - exit_code= EXIT_FAILURE; - } - else if (stats.collection_failed) - { - Out << "Some test failed."; - exit_code= EXIT_FAILURE; - } - else if (stats.collection_skipped and stats.collection_failed and stats.collection_success) - { - Out << "Some tests were skipped."; - } - else if (stats.collection_success and stats.collection_failed == 0) - { - Out << "All tests completed successfully."; - } - - stats_print(&stats); - - Outn(); // Generate a blank to break up the messages if make check/test has been run - } while (exit_code == EXIT_SUCCESS and --opt_repeat); - } - catch (libtest::fatal& e) - { - std::cerr << e.what() << std::endl; - } - catch (std::exception& e) - { - std::cerr << e.what() << std::endl; - } - catch (...) - { - std::cerr << "Unknown exception halted execution." << std::endl; - } - - return exit_code; -} diff --git a/libtest/unittest.cc b/libtest/unittest.cc index de3e6f50..f884af33 100644 --- a/libtest/unittest.cc +++ b/libtest/unittest.cc @@ -154,6 +154,12 @@ static test_return_t var_log_exists_test(void *) return TEST_SUCCESS; } +static test_return_t var_drizzle_exists_test(void *) +{ + test_compare(0, access("var/drizzle", R_OK | W_OK | X_OK)); + return TEST_SUCCESS; +} + static test_return_t var_tmp_test(void *) { FILE *file= fopen("var/tmp/junk", "w+"); @@ -180,6 +186,14 @@ static test_return_t var_log_test(void *) return TEST_SUCCESS; } +static test_return_t var_drizzle_test(void *) +{ + FILE *file= fopen("var/drizzle/junk", "w+"); + test_true(file); + fclose(file); + return TEST_SUCCESS; +} + static test_return_t var_tmp_rm_test(void *) { test_true(unlink("var/tmp/junk") == 0); @@ -198,6 +212,12 @@ static test_return_t var_log_rm_test(void *) return TEST_SUCCESS; } +static test_return_t var_drizzle_rm_test(void *) +{ + test_true(unlink("var/drizzle/junk") == 0); + return TEST_SUCCESS; +} + static test_return_t _compare_test_return_t_test(void *) { test_compare(TEST_SUCCESS, TEST_SUCCESS); @@ -225,6 +245,22 @@ static test_return_t _compare_gearman_return_t_test(void *) return TEST_SUCCESS; } +static test_return_t drizzled_cycle_test(void *object) +{ + server_startup_st *servers= (server_startup_st*)object; + test_true(servers and servers->validate()); + +#if defined(HAVE_GEARMAND_BINARY) && HAVE_GEARMAND_BINARY + test_true(has_drizzled_binary()); +#endif + + test_skip(true, has_drizzled_binary()); + + test_true(server_startup(*servers, "drizzled", get_free_port(), 0, NULL)); + + return TEST_SUCCESS; +} + static test_return_t gearmand_cycle_test(void *object) { server_startup_st *servers= (server_startup_st*)object; @@ -384,6 +420,7 @@ static test_return_t application_doesnotexist_BINARY(void *) test_skip_valgrind(); Application true_app("doesnotexist"); + true_app.will_fail(); const char *args[]= { "--fubar", 0 }; #if defined(TARGET_OS_OSX) && TARGET_OS_OSX @@ -710,6 +747,18 @@ static test_return_t check_for_gearman(void *) return TEST_SUCCESS; } +static test_return_t check_for_drizzle(void *) +{ + test_skip(true, HAVE_LIBDRIZZLE); + test_skip(true, has_drizzled_binary()); + return TEST_SUCCESS; +} + + +test_st drizzled_tests[] ={ + {"drizzled startup-shutdown", 0, drizzled_cycle_test }, + {0, 0, 0} +}; test_st gearmand_tests[] ={ #if 0 @@ -768,12 +817,15 @@ test_st directories_tests[] ={ {"var/tmp exists", 0, var_tmp_exists_test }, {"var/run exists", 0, var_run_exists_test }, {"var/log exists", 0, var_log_exists_test }, + {"var/drizzle exists", 0, var_drizzle_exists_test }, {"var/tmp", 0, var_tmp_test }, {"var/run", 0, var_run_test }, {"var/log", 0, var_log_test }, + {"var/drizzle", 0, var_drizzle_test }, {"var/tmp rm", 0, var_tmp_rm_test }, {"var/run rm", 0, var_run_rm_test }, {"var/log rm", 0, var_log_rm_test }, + {"var/drizzle rm", 0, var_drizzle_rm_test }, {0, 0, 0} }; @@ -868,6 +920,7 @@ collection_st collection[] ={ {"comparison", 0, 0, comparison_tests}, {"gearmand", check_for_gearman, 0, gearmand_tests}, {"memcached", check_for_libmemcached, 0, memcached_tests}, + {"drizzled", check_for_drizzle, 0, drizzled_tests}, {"cmdline", 0, 0, cmdline_tests}, {"application", 0, 0, application_tests}, {"http", check_for_curl, 0, http_tests}, diff --git a/tests/failure.cc b/tests/failure.cc index ccc32f39..4d81ecd4 100644 --- a/tests/failure.cc +++ b/tests/failure.cc @@ -227,7 +227,7 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); global_framework= world; } diff --git a/tests/include.am b/tests/include.am index c0d7771c..ff5223fe 100644 --- a/tests/include.am +++ b/tests/include.am @@ -25,6 +25,7 @@ noinst_HEADERS+= tests/keys.hpp noinst_HEADERS+= tests/hash_results.h noinst_HEADERS+= tests/libmemcached_world.h noinst_HEADERS+= tests/libmemcached_world_socket.h +noinst_HEADERS+= tests/runner.h # Cycle should always run first tests_cycle_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING) @@ -39,7 +40,14 @@ noinst_PROGRAMS+= tests/cycle include tests/libmemcached-1.0/include.am -tests_failure_SOURCES= tests/failure.cc +tests_failure_SOURCES= +tests_failure_SOURCES+= tests/failure.cc +tests_failure_SOURCES+= clients/execute.cc +tests_failure_SOURCES+= clients/generator.cc +tests_failure_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_failure_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc +tests_failure_SOURCES+= tests/libmemcached-1.0/generate.cc + tests_failure_CXXFLAGS = $(AM_CXXFLAGS) tests_failure_DEPENDENCIES= $(TESTS_LDADDS) tests_failure_LDADD= $(tests_failure_DEPENDENCIES) diff --git a/tests/libmemcached-1.0/all_tests.cc b/tests/libmemcached-1.0/all_tests.cc index 6121e628..5e2882c6 100644 --- a/tests/libmemcached-1.0/all_tests.cc +++ b/tests/libmemcached-1.0/all_tests.cc @@ -96,7 +96,7 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); world->set_socket(); } diff --git a/tests/libmemcached-1.0/all_tests.h b/tests/libmemcached-1.0/all_tests.h index 4dab69ff..15d6ff28 100644 --- a/tests/libmemcached-1.0/all_tests.h +++ b/tests/libmemcached-1.0/all_tests.h @@ -282,12 +282,14 @@ test_st ketama_compatibility[]= { }; test_st generate_tests[] ={ - {"generate_pairs", true, (test_callback_fn*)generate_pairs }, {"generate_data", true, (test_callback_fn*)generate_data }, {"get_read", false, (test_callback_fn*)get_read }, {"delete_generate", false, (test_callback_fn*)delete_generate }, - {"generate_buffer_data", true, (test_callback_fn*)generate_buffer_data }, - {"delete_buffer", false, (test_callback_fn*)delete_buffer_generate}, + {"cleanup", true, (test_callback_fn*)cleanup_pairs }, + {0, 0, (test_callback_fn*)0} +}; + // New start +test_st generate_mget_TESTS[] ={ {"generate_data", true, (test_callback_fn*)generate_data }, {"mget_read", false, (test_callback_fn*)mget_read }, {"mget_read_result", false, (test_callback_fn*)mget_read_result }, @@ -295,15 +297,16 @@ test_st generate_tests[] ={ {"memcached_fetch_result() partial read", false, (test_callback_fn*)mget_read_partial_result }, {"mget_read_function", false, (test_callback_fn*)mget_read_function }, {"cleanup", true, (test_callback_fn*)cleanup_pairs }, + {0, 0, (test_callback_fn*)0} +}; + +test_st generate_large_TESTS[] ={ {"generate_large_pairs", true, (test_callback_fn*)generate_large_pairs }, - {"generate_data", true, (test_callback_fn*)generate_data }, - {"generate_buffer_data", true, (test_callback_fn*)generate_buffer_data }, {"cleanup", true, (test_callback_fn*)cleanup_pairs }, {0, 0, (test_callback_fn*)0} }; test_st consistent_tests[] ={ - {"generate_pairs", true, (test_callback_fn*)generate_pairs }, {"generate_data", true, (test_callback_fn*)generate_data }, {"get_read", 0, (test_callback_fn*)get_read_count }, {"cleanup", true, (test_callback_fn*)cleanup_pairs }, @@ -311,7 +314,6 @@ test_st consistent_tests[] ={ }; test_st consistent_weighted_tests[] ={ - {"generate_pairs", true, (test_callback_fn*)generate_pairs }, {"generate_data", true, (test_callback_fn*)generate_data_with_stats }, {"get_read", false, (test_callback_fn*)get_read_count }, {"cleanup", true, (test_callback_fn*)cleanup_pairs }, @@ -468,6 +470,9 @@ collection_st collection[] ={ {"Cal Haldenbrand's tests", 0, 0, haldenbrand_TESTS}, {"user written tests", 0, 0, user_tests}, {"generate", 0, 0, generate_tests}, + {"generate MEMCACHED_BEHAVIOR_BUFFER_REQUESTS", (test_callback_fn*)pre_buffer, 0, generate_tests}, + {"mget generate MEMCACHED_BEHAVIOR_BUFFER_REQUESTS", (test_callback_fn*)pre_buffer, 0, generate_mget_TESTS}, + {"generate large", 0, 0, generate_large_TESTS}, {"generate_hsieh", (test_callback_fn*)pre_hsieh, 0, generate_tests}, {"generate_ketama", (test_callback_fn*)pre_behavior_ketama, 0, generate_tests}, {"generate_hsieh_consistent", (test_callback_fn*)enable_consistent_hsieh, 0, generate_tests}, @@ -475,9 +480,7 @@ collection_st collection[] ={ {"generate_murmur", (test_callback_fn*)pre_murmur, 0, generate_tests}, {"generate_jenkins", (test_callback_fn*)pre_jenkins, 0, generate_tests}, {"generate_nonblock", (test_callback_fn*)pre_nonblock, 0, generate_tests}, - // Too slow - {"generate_corked", (test_callback_fn*)pre_cork, 0, generate_tests}, - {"generate_corked_and_nonblock", (test_callback_fn*)pre_cork_and_nonblock, 0, generate_tests}, + {"mget generate_nonblock", (test_callback_fn*)pre_nonblock, 0, generate_mget_TESTS}, {"consistent_not", 0, 0, consistent_tests}, {"consistent_ketama", (test_callback_fn*)pre_behavior_ketama, 0, consistent_tests}, {"consistent_ketama_weighted", (test_callback_fn*)pre_behavior_ketama_weighted, 0, consistent_weighted_tests}, diff --git a/tests/libmemcached-1.0/all_tests_socket.cc b/tests/libmemcached-1.0/all_tests_socket.cc index b9342cf3..6398c1eb 100644 --- a/tests/libmemcached-1.0/all_tests_socket.cc +++ b/tests/libmemcached-1.0/all_tests_socket.cc @@ -85,5 +85,5 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); } diff --git a/tests/libmemcached-1.0/atomsmasher.cc b/tests/libmemcached-1.0/atomsmasher.cc index ad4483ed..23d6dd23 100644 --- a/tests/libmemcached-1.0/atomsmasher.cc +++ b/tests/libmemcached-1.0/atomsmasher.cc @@ -293,5 +293,5 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); } diff --git a/tests/libmemcached-1.0/generate.cc b/tests/libmemcached-1.0/generate.cc index da31fe0c..9f677584 100644 --- a/tests/libmemcached-1.0/generate.cc +++ b/tests/libmemcached-1.0/generate.cc @@ -53,20 +53,20 @@ using namespace libtest; -static pairs_st *global_pairs; +static pairs_st *global_pairs= NULL; static const char *global_keys[GLOBAL_COUNT]; static size_t global_keys_length[GLOBAL_COUNT]; static size_t global_count= 0; -test_return_t cleanup_pairs(memcached_st *memc) +test_return_t cleanup_pairs(memcached_st*) { - (void)memc; pairs_free(global_pairs); + global_pairs= NULL; return TEST_SUCCESS; } -test_return_t generate_pairs(memcached_st *) +static test_return_t generate_pairs(memcached_st *) { global_pairs= pairs_generate(GLOBAL_COUNT, 400); global_count= GLOBAL_COUNT; @@ -80,7 +80,7 @@ test_return_t generate_pairs(memcached_st *) return TEST_SUCCESS; } -test_return_t generate_large_pairs(memcached_st *) +test_return_t generate_large_pairs(memcached_st *memc) { global_pairs= pairs_generate(GLOBAL2_COUNT, MEMCACHED_MAX_BUFFER+10); global_count= GLOBAL2_COUNT; @@ -91,11 +91,18 @@ test_return_t generate_large_pairs(memcached_st *) global_keys_length[x]= global_pairs[x].key_length; } + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, true); + unsigned int check_execute= execute_set(memc, global_pairs, global_count); + + test_compare_warn_hint(global_count, check_execute, "Possible false, positive, memcached may have ejected key/value based on memory needs"); + return TEST_SUCCESS; } test_return_t generate_data(memcached_st *memc) { + test_compare(TEST_SUCCESS, generate_pairs(memc)); + unsigned int check_execute= execute_set(memc, global_pairs, global_count); test_compare_warn_hint(global_count, check_execute, "Possible false, positive, memcached may have ejected key/value based on memory needs"); @@ -105,6 +112,8 @@ test_return_t generate_data(memcached_st *memc) test_return_t generate_data_with_stats(memcached_st *memc) { + test_compare(TEST_SUCCESS, generate_pairs(memc)); + unsigned int check_execute= execute_set(memc, global_pairs, global_count); test_compare(check_execute, global_count); diff --git a/tests/libmemcached-1.0/generate.h b/tests/libmemcached-1.0/generate.h index eacb6026..bd4855a9 100644 --- a/tests/libmemcached-1.0/generate.h +++ b/tests/libmemcached-1.0/generate.h @@ -44,7 +44,6 @@ test_return_t generate_buffer_data(memcached_st*); test_return_t generate_data(memcached_st*); test_return_t generate_data_with_stats(memcached_st*); test_return_t generate_large_pairs(memcached_st *); -test_return_t generate_pairs(memcached_st*); test_return_t get_read(memcached_st*); test_return_t get_read_count(memcached_st*); test_return_t mget_read(memcached_st*); diff --git a/tests/libmemcached-1.0/include.am b/tests/libmemcached-1.0/include.am index 186e655b..d4b3fc14 100644 --- a/tests/libmemcached-1.0/include.am +++ b/tests/libmemcached-1.0/include.am @@ -56,9 +56,11 @@ tests_libmemcached_1_0_testapp_CXXFLAGS = $(AM_CXXFLAGS) ${PTHREAD_CFLAGS} tests_libmemcached_1_0_testapp_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING) tests_libmemcached_1_0_testapp_SOURCES= tests_libmemcached_1_0_testapp_SOURCES+= tests/libmemcached-1.0/all_tests.cc +tests_libmemcached_1_0_testapp_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_libmemcached_1_0_testapp_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc +tests_libmemcached_1_0_testapp_SOURCES+= tests/libmemcached-1.0/generate.cc tests_libmemcached_1_0_testapp_SOURCES+= \ tests/libmemcached-1.0/basic.cc \ - tests/libmemcached-1.0/callback_counter.cc \ tests/libmemcached-1.0/callbacks.cc \ tests/libmemcached-1.0/debug.cc \ tests/libmemcached-1.0/deprecated.cc \ @@ -66,8 +68,6 @@ tests_libmemcached_1_0_testapp_SOURCES+= \ tests/libmemcached-1.0/encoding_key.cc \ tests/libmemcached-1.0/error_conditions.cc \ tests/libmemcached-1.0/exist.cc \ - tests/libmemcached-1.0/fetch_all_results.cc \ - tests/libmemcached-1.0/generate.cc \ tests/libmemcached-1.0/haldenbrand.cc \ tests/libmemcached-1.0/ketama.cc \ tests/libmemcached-1.0/mem_functions.cc \ @@ -106,7 +106,6 @@ tests_libmemcached_1_0_testsocket_CFLAGS= $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STR tests_libmemcached_1_0_testsocket_SOURCES= \ tests/libmemcached-1.0/all_tests_socket.cc \ tests/libmemcached-1.0/basic.cc \ - tests/libmemcached-1.0/callback_counter.cc \ tests/libmemcached-1.0/callbacks.cc \ tests/libmemcached-1.0/debug.cc \ tests/libmemcached-1.0/deprecated.cc \ @@ -114,8 +113,6 @@ tests_libmemcached_1_0_testsocket_SOURCES= \ tests/libmemcached-1.0/encoding_key.cc \ tests/libmemcached-1.0/error_conditions.cc \ tests/libmemcached-1.0/exist.cc \ - tests/libmemcached-1.0/fetch_all_results.cc \ - tests/libmemcached-1.0/generate.cc \ tests/libmemcached-1.0/haldenbrand.cc \ tests/libmemcached-1.0/ketama.cc \ tests/libmemcached-1.0/mem_functions.cc \ @@ -131,7 +128,11 @@ tests_libmemcached_1_0_testsocket_SOURCES= \ tests/libmemcached-1.0/touch.cc \ tests/libmemcached-1.0/virtual_buckets.cc -tests_libmemcached_1_0_testsocket_SOURCES+= clients/generator.cc clients/execute.cc +tests_libmemcached_1_0_testsocket_SOURCES+= clients/generator.cc +tests_libmemcached_1_0_testsocket_SOURCES+= clients/execute.cc +tests_libmemcached_1_0_testsocket_SOURCES+= tests/libmemcached-1.0/generate.cc +tests_libmemcached_1_0_testsocket_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_libmemcached_1_0_testsocket_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc tests_libmemcached_1_0_testsocket_DEPENDENCIES= \ libmemcached/libmemcached.la \ libtest/libtest.la \ @@ -164,7 +165,12 @@ tests_libmemcached_1_0_sasl_SOURCES= \ tests/libmemcached-1.0/replication.cc \ tests/libmemcached-1.0/sasl.cc \ tests/libmemcached-1.0/virtual_buckets.cc -tests_libmemcached_1_0_sasl_SOURCES+= clients/generator.cc clients/execute.cc +tests_libmemcached_1_0_sasl_SOURCES+= clients/execute.cc +tests_libmemcached_1_0_sasl_SOURCES+= clients/generator.cc +tests_libmemcached_1_0_sasl_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_libmemcached_1_0_sasl_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc +tests_libmemcached_1_0_sasl_SOURCES+= tests/libmemcached-1.0/generate.cc + tests_libmemcached_1_0_sasl_DEPENDENCIES= \ libmemcached/libmemcached.la \ libtest/libtest.la @@ -188,7 +194,15 @@ 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_SOURCES= + +tests_testudp_SOURCES+= tests/mem_udp.cc +tests_testudp_SOURCES+= clients/execute.cc +tests_testudp_SOURCES+= clients/generator.cc +tests_testudp_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_testudp_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc +tests_testudp_SOURCES+= tests/libmemcached-1.0/generate.cc + tests_testudp_DEPENDENCIES= $(TESTS_LDADDS) tests_testudp_LDADD= $(tests_testudp_DEPENDENCIES) check_PROGRAMS+= tests/testudp @@ -197,7 +211,15 @@ noinst_PROGRAMS+= tests/testudp test-udp: tests/testudp @tests/testudp -tests_testplus_SOURCES= tests/libmemcached-1.0/plus.cpp +tests_testplus_SOURCES= + +tests_testplus_SOURCES+= tests/libmemcached-1.0/plus.cpp +tests_testplus_SOURCES+= clients/execute.cc +tests_testplus_SOURCES+= clients/generator.cc +tests_testplus_SOURCES+= tests/libmemcached-1.0/callback_counter.cc +tests_testplus_SOURCES+= tests/libmemcached-1.0/fetch_all_results.cc +tests_testplus_SOURCES+= tests/libmemcached-1.0/generate.cc + tests_testplus_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX) tests_testplus_DEPENDENCIES= $(TESTS_LDADDS) tests_testplus_LDADD= $(tests_testplus_DEPENDENCIES) diff --git a/tests/libmemcached-1.0/mem_functions.cc b/tests/libmemcached-1.0/mem_functions.cc index fce23b84..e39c2a8b 100644 --- a/tests/libmemcached-1.0/mem_functions.cc +++ b/tests/libmemcached-1.0/mem_functions.cc @@ -646,7 +646,12 @@ test_return_t memcached_mget_mixed_memcached_get_TEST(memcached_st *memc) memcached_return_t rc; char *out_value= memcached_get(memc, keys.key_at(which_key), keys.length_at(which_key), &value_length, &flags, &rc); - test_compare(MEMCACHED_SUCCESS, rc); + if (rc == MEMCACHED_NOTFOUND) + { } // It is possible that the value has been purged. + else + { + test_compare_hint(MEMCACHED_SUCCESS, rc, memcached_last_error_message(memc)); + } test_null(out_value); test_zero(value_length); test_zero(flags); diff --git a/tests/libmemcached-1.0/plus.cpp b/tests/libmemcached-1.0/plus.cpp index 5078f1f5..5b3f7e88 100644 --- a/tests/libmemcached-1.0/plus.cpp +++ b/tests/libmemcached-1.0/plus.cpp @@ -300,5 +300,5 @@ void get_world(Framework *world) world->collection_startup= reinterpret_cast(world_container_startup); world->collection_shutdown= reinterpret_cast(world_container_shutdown); - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); } diff --git a/tests/libmemcached-1.0/sasl.cc b/tests/libmemcached-1.0/sasl.cc index ee8b5e67..bbf905d9 100644 --- a/tests/libmemcached-1.0/sasl.cc +++ b/tests/libmemcached-1.0/sasl.cc @@ -115,7 +115,7 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); world->set_sasl("memcached", "memcached"); } diff --git a/tests/libmemcached-1.0/setup_and_teardowns.cc b/tests/libmemcached-1.0/setup_and_teardowns.cc index 093be490..95ba4c8d 100644 --- a/tests/libmemcached-1.0/setup_and_teardowns.cc +++ b/tests/libmemcached-1.0/setup_and_teardowns.cc @@ -67,6 +67,13 @@ test_return_t pre_binary(memcached_st *memc) return TEST_SUCCESS; } +test_return_t pre_buffer(memcached_st *memc) +{ + test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, true)); + + return TEST_SUCCESS; +} + test_return_t pre_unix_socket(memcached_st *memc) { struct stat buf; @@ -218,30 +225,6 @@ test_return_t pre_nonblock(memcached_st *memc) return TEST_SUCCESS; } -test_return_t pre_cork(memcached_st *memc) -{ -#ifdef __APPLE__ - return TEST_SKIPPED; -#endif - bool set= true; - if (memcached_success(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CORK, set))) - return TEST_SUCCESS; - - return TEST_SKIPPED; -} - -test_return_t pre_cork_and_nonblock(memcached_st *memc) -{ -#ifdef __APPLE__ - return TEST_SKIPPED; -#endif - test_return_t test_rc; - if ((test_rc= pre_cork(memc)) != TEST_SUCCESS) - return test_rc; - - return pre_nonblock(memc); -} - test_return_t pre_nonblock_binary(memcached_st *memc) { memcached_st *memc_clone= memcached_clone(NULL, memc); diff --git a/tests/libmemcached-1.0/setup_and_teardowns.h b/tests/libmemcached-1.0/setup_and_teardowns.h index fa6fbdf2..655cab44 100644 --- a/tests/libmemcached-1.0/setup_and_teardowns.h +++ b/tests/libmemcached-1.0/setup_and_teardowns.h @@ -60,3 +60,4 @@ test_return_t pre_replication(memcached_st*); test_return_t pre_replication_noblock(memcached_st*); test_return_t pre_settimer(memcached_st*); test_return_t pre_unix_socket(memcached_st*); +test_return_t pre_buffer(memcached_st*); diff --git a/tests/libmemcached_world.h b/tests/libmemcached_world.h index 5fab96fe..c31b303f 100644 --- a/tests/libmemcached_world.h +++ b/tests/libmemcached_world.h @@ -208,67 +208,4 @@ static bool world_destroy(void *object) typedef test_return_t (*libmemcached_test_callback_fn)(memcached_st *); -class LibmemcachedRunner : public libtest::Runner { -public: - test_return_t run(test_callback_fn* func, void *object) - { - return _runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } - - test_return_t pre(test_callback_fn* func, void *object) - { - return _pre_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } - - test_return_t post(test_callback_fn* func, void *object) - { - return _post_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } - -private: - test_return_t _runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) - { - test_compare(true, check()); - - if (func) - { - test_true(container); - test_true(container->memc); - test_return_t ret; - try { - ret= func(container->memc); - } - catch (std::exception& e) - { - libtest::Error << e.what(); - return TEST_FAILURE; - } - - return ret; - } - - return TEST_SUCCESS; - } - - test_return_t _pre_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) - { - if (func) - { - return func(container->parent); - } - - return TEST_SUCCESS; - } - - test_return_t _post_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) - { - if (func) - { - return func(container->parent); - } - - return TEST_SUCCESS; - } -}; - -static LibmemcachedRunner defualt_libmemcached_runner; +#include "tests/runner.h" diff --git a/tests/libmemcached_world_socket.h b/tests/libmemcached_world_socket.h index b1748cab..8016dba4 100644 --- a/tests/libmemcached_world_socket.h +++ b/tests/libmemcached_world_socket.h @@ -190,64 +190,4 @@ static bool world_destroy(void *object) typedef test_return_t (*libmemcached_test_callback_fn)(memcached_st *); -static test_return_t _runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) -{ - if (func) - { - test_true(container); - test_true(container->memc); - test_return_t ret; - try { - ret= func(container->memc); - } - catch (std::exception& e) - { - libtest::Error << e.what(); - return TEST_FAILURE; - } - - return ret; - } - - return TEST_SUCCESS; -} - -static test_return_t _pre_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) -{ - if (func) - { - return func(container->parent); - } - - return TEST_SUCCESS; -} - -static test_return_t _post_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) -{ - if (func) - { - return func(container->parent); - } - - return TEST_SUCCESS; -} - -class LibmemcachedRunner : public libtest::Runner { -public: - test_return_t run(test_callback_fn* func, void *object) - { - return _runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } - - test_return_t pre(test_callback_fn* func, void *object) - { - return _pre_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } - - test_return_t post(test_callback_fn* func, void *object) - { - return _post_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); - } -}; - -static LibmemcachedRunner defualt_libmemcached_runner; +#include "tests/runner.h" diff --git a/tests/mem_udp.cc b/tests/mem_udp.cc index 713885fd..3a97d849 100644 --- a/tests/mem_udp.cc +++ b/tests/mem_udp.cc @@ -580,5 +580,5 @@ void get_world(Framework *world) world->collection_startup= (test_callback_fn*)world_container_startup; world->collection_shutdown= (test_callback_fn*)world_container_shutdown; - world->set_runner(&defualt_libmemcached_runner); + world->set_runner(new LibmemcachedRunner); } diff --git a/tests/runner.h b/tests/runner.h new file mode 100644 index 00000000..deb685af --- /dev/null +++ b/tests/runner.h @@ -0,0 +1,110 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * Libmemcached Client and Server + * + * Copyright (C) 2012 Data Differential, http://datadifferential.com/ + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * The names of its contributors may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +#pragma once + +#include "tests/libmemcached-1.0/generate.h" + +class LibmemcachedRunner : public libtest::Runner { +public: + test_return_t run(test_callback_fn* func, void *object) + { + return _runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); + } + + test_return_t pre(test_callback_fn* func, void *object) + { + return _pre_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); + } + + test_return_t post(test_callback_fn* func, void *object) + { + return _post_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object); + } + +private: + test_return_t _runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) + { + test_compare(true, check()); + + if (func) + { + test_true(container); + test_true(container->memc); + test_return_t ret; + try { + ret= func(container->memc); + } + catch (std::exception& e) + { + libtest::Error << e.what(); + return TEST_FAILURE; + } + + return ret; + } + + return TEST_SUCCESS; + } + + test_return_t _pre_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) + { + test_compare(true, check()); + + if (func) + { + return func(container->parent); + } + + return TEST_SUCCESS; + } + + test_return_t _post_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container) + { + test_compare(true, check()); + cleanup_pairs(NULL); + + if (func) + { + return func(container->parent); + } + + return TEST_SUCCESS; + } +}; +