Merging bzr://gaz.tangent.org/libmemcached/build/ to Build branch
authorContinuous Integration <ci@tangent.org>
Tue, 17 Apr 2012 17:03:21 +0000 (10:03 -0700)
committerContinuous Integration <ci@tangent.org>
Tue, 17 Apr 2012 17:03:21 +0000 (10:03 -0700)
173 files changed:
clients/generator.cc
configure.ac
docs/man/hashkit_clone.3
docs/man/hashkit_crc32.3
docs/man/hashkit_create.3
docs/man/hashkit_fnv1_32.3
docs/man/hashkit_fnv1_64.3
docs/man/hashkit_fnv1a_32.3
docs/man/hashkit_fnv1a_64.3
docs/man/hashkit_free.3
docs/man/hashkit_functions.3
docs/man/hashkit_hsieh.3
docs/man/hashkit_is_allocated.3
docs/man/hashkit_jenkins.3
docs/man/hashkit_md5.3
docs/man/hashkit_murmur.3
docs/man/hashkit_value.3
docs/man/libhashkit.3
docs/man/libmemcached.3
docs/man/libmemcached_check_configuration.3
docs/man/libmemcached_configuration.3
docs/man/libmemcached_examples.3
docs/man/libmemcachedutil.3
docs/man/memaslap.1
docs/man/memcached.3
docs/man/memcached_add.3
docs/man/memcached_add_by_key.3
docs/man/memcached_analyze.3
docs/man/memcached_append.3
docs/man/memcached_append_by_key.3
docs/man/memcached_auto.3
docs/man/memcached_behavior.3
docs/man/memcached_behavior_get.3
docs/man/memcached_behavior_set.3
docs/man/memcached_callback.3
docs/man/memcached_callback_get.3
docs/man/memcached_callback_set.3
docs/man/memcached_cas.3
docs/man/memcached_cas_by_key.3
docs/man/memcached_clone.3
docs/man/memcached_create.3
docs/man/memcached_decrement.3
docs/man/memcached_decrement_with_initial.3
docs/man/memcached_delete.3
docs/man/memcached_delete_by_key.3
docs/man/memcached_destroy_sasl_auth_data.3
docs/man/memcached_dump.3
docs/man/memcached_exist.3
docs/man/memcached_exist_by_key.3
docs/man/memcached_fetch.3
docs/man/memcached_fetch_execute.3
docs/man/memcached_fetch_result.3
docs/man/memcached_flush.3
docs/man/memcached_flush_buffers.3
docs/man/memcached_free.3
docs/man/memcached_generate_hash.3
docs/man/memcached_generate_hash_value.3
docs/man/memcached_get.3
docs/man/memcached_get_by_key.3
docs/man/memcached_get_memory_allocators.3
docs/man/memcached_get_sasl_callbacks.3
docs/man/memcached_get_user_data.3
docs/man/memcached_increment.3
docs/man/memcached_increment_with_initial.3
docs/man/memcached_last_error_message.3
docs/man/memcached_lib_version.3
docs/man/memcached_memory_allocators.3
docs/man/memcached_mget.3
docs/man/memcached_mget_by_key.3
docs/man/memcached_mget_execute.3
docs/man/memcached_mget_execute_by_key.3
docs/man/memcached_pool.3
docs/man/memcached_pool_behavior_get.3
docs/man/memcached_pool_behavior_set.3
docs/man/memcached_pool_create.3
docs/man/memcached_pool_destroy.3
docs/man/memcached_pool_fetch.3
docs/man/memcached_pool_pop.3
docs/man/memcached_pool_push.3
docs/man/memcached_pool_release.3
docs/man/memcached_pool_st.3
docs/man/memcached_prepend.3
docs/man/memcached_prepend_by_key.3
docs/man/memcached_quit.3
docs/man/memcached_replace.3
docs/man/memcached_replace_by_key.3
docs/man/memcached_result_cas.3
docs/man/memcached_result_create.3
docs/man/memcached_result_flags.3
docs/man/memcached_result_free.3
docs/man/memcached_result_key_length.3
docs/man/memcached_result_key_value.3
docs/man/memcached_result_length.3
docs/man/memcached_result_st.3
docs/man/memcached_result_value.3
docs/man/memcached_return_t.3
docs/man/memcached_sasl.3
docs/man/memcached_sasl_set_auth_data.3
docs/man/memcached_server_add.3
docs/man/memcached_server_add_unix_socket.3
docs/man/memcached_server_count.3
docs/man/memcached_server_cursor.3
docs/man/memcached_server_list.3
docs/man/memcached_server_list_append.3
docs/man/memcached_server_list_count.3
docs/man/memcached_server_list_free.3
docs/man/memcached_server_push.3
docs/man/memcached_server_st.3
docs/man/memcached_servers.3
docs/man/memcached_servers_parse.3
docs/man/memcached_servers_reset.3
docs/man/memcached_set.3
docs/man/memcached_set_by_key.3
docs/man/memcached_set_memory_allocators.3
docs/man/memcached_set_memory_allocators_context.3
docs/man/memcached_set_sasl_callbacks.3
docs/man/memcached_set_user_data.3
docs/man/memcached_stat.3
docs/man/memcached_stat_execute.3
docs/man/memcached_stat_get_keys.3
docs/man/memcached_stat_get_value.3
docs/man/memcached_stat_servername.3
docs/man/memcached_stats.3
docs/man/memcached_strerror.3
docs/man/memcached_touch.3
docs/man/memcached_touch_by_key.3
docs/man/memcached_user_data.3
docs/man/memcached_verbosity.3
docs/man/memcached_version.3
docs/man/memcapable.1
docs/man/memcat.1
docs/man/memcp.1
docs/man/memdump.1
docs/man/memerror.1
docs/man/memflush.1
docs/man/memrm.1
docs/man/memslap.1
docs/man/memstat.1
example/t/memcached_light.cc
libmemcached/io.cc
libtest/binaries.cc
libtest/binaries.h
libtest/cmdline.cc
libtest/cmdline.h
libtest/common.h
libtest/drizzled.cc [new file with mode: 0644]
libtest/drizzled.h [new file with mode: 0644]
libtest/framework.cc
libtest/gearmand.cc
libtest/include.am
libtest/main.cc [new file with mode: 0644]
libtest/server.cc
libtest/server_container.cc
libtest/test.cc [deleted file]
libtest/unittest.cc
tests/failure.cc
tests/include.am
tests/libmemcached-1.0/all_tests.cc
tests/libmemcached-1.0/all_tests.h
tests/libmemcached-1.0/all_tests_socket.cc
tests/libmemcached-1.0/atomsmasher.cc
tests/libmemcached-1.0/generate.cc
tests/libmemcached-1.0/generate.h
tests/libmemcached-1.0/include.am
tests/libmemcached-1.0/mem_functions.cc
tests/libmemcached-1.0/plus.cpp
tests/libmemcached-1.0/sasl.cc
tests/libmemcached-1.0/setup_and_teardowns.cc
tests/libmemcached-1.0/setup_and_teardowns.h
tests/libmemcached_world.h
tests/libmemcached_world_socket.h
tests/mem_udp.cc
tests/runner.h [new file with mode: 0644]

index 011ed3a499bb778ed5963d3695d4cb48088967b3..c62f9a32214cb8af49086781f2cfab0e759a8553 100644 (file)
@@ -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++)
index de2bc88159b38238939fb2597a385157a4cd5fd0..19c54d5ceefac9486d6a13ee0c50bba57899ec8f 100644 (file)
@@ -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])
index 36711c46e1e1fda662978bee26c8584bc3cdcdc0..52f2e0a3cfaadf73a284a8c4ff5200447e96231a 100644 (file)
@@ -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
 .
index 24e1e5b220bd45e6213a6d2a726f75a3bfd94458..5e791646075973e2f5e824195d4596e3fd36d65f 100644 (file)
@@ -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
 .
index 0d81e54856e630f623f7d9fb1eb940e895278f7c..e549bf4de81ff93982a772cb65a10c24e144df81 100644 (file)
@@ -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
 .
index 5a0d5396972e0a53e4b1cebd24fc5f01945089ea..9e25c8b63c25769bae467df9e761bf63d8868435 100644 (file)
@@ -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
 .
index e7b9f5662c7fe1841239b5002cf026e57671966f..1795f4adbd7a0f7b92bf4661eddd5d438aaa3a70 100644 (file)
@@ -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
 .
index 27d3b4616ba701fc977e671a3ee043b5ebc439d4..0097b7d3db0c25866a3bb8c5ab7d749b8d1d5f37 100644 (file)
@@ -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
 .
index 3f27e99130620f31e3a1b1412f7a3147943087f8..d5139b90f0eab64c9f85336fac9953027f37c151 100644 (file)
@@ -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
 .
index 6cec75db9fedbeebdabb90dbbf6242bbdc18989d..fb2df5ec3c15f530400aba6bddae747719f94120 100644 (file)
@@ -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
 .
index aacf1e09629d4e22ee742b608c789b1872dc2b93..260948ec1cfe4be185071f8843939d28273a1fab 100644 (file)
@@ -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
 .
index a825617d421ca1c72e6353e79a3f96705aa39ebd..c415db1e9fb81005f93b44c828696cf6364957eb 100644 (file)
@@ -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
 .
index 60c453d1ef1fa44e27aab097496ad9823c4aebba..004831dad8f7816f319f1ff066c9249adf9ead30 100644 (file)
@@ -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
 .
index bb739829f6156d205c059e60cfac7f2740f6e922..90096edc273486d295ec94de85f1ad21fe13e0cb 100644 (file)
@@ -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
 .
index 66bb90dfdf969acbf777dd581f148b48939ea74f..c6558e695068d5d23df986c60da94d13e20bef96 100644 (file)
@@ -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
 .
index b9ef895c8134089bb8f54f0a332ce5f8cb000134..482b351dc2a03d5e634a7f3182726cafa6355163 100644 (file)
@@ -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
 .
index d3d22aef48dc0c4ead783497ad956544606f64db..b13ae74a68c93d584bfbf77f18ee0ad8e84f7439 100644 (file)
@@ -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
 .
index 4784da95a6d7aa94909255af24b46397383070b3..1bb57137903cb4a7e3bb8a9619d891129c5b9739 100644 (file)
@@ -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
 .
index 75084b300e00ed037dd7bd750636ba3e091fabfc..482563651dacc36dc91af64f98cb8e641d3bfc8c 100644 (file)
@@ -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
 .
index 15ec6d8bb2b03486b30b952707167befd1ec23ed..b5e263c40a21362edd3f333fe5b82fd0cca3aa81 100644 (file)
@@ -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
 .
index 62f7b6f0c138eebaa99cd50463f9ee75803993e0..9724f9d89f213909e551a000bcb83803430f8f9c 100644 (file)
@@ -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
 .
index 105fe085cf1ad980d7bc0b2165aefcbe01d9bbff..8155a74bd3ab8d11c1d6f7dbf46d84a5fcc1eefe 100644 (file)
@@ -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
 .
index 0f71beb7eeb12558f4c354dda765a287094d747c..9fbecd973ad12318694b9dbc4d049e1ce1e1934d 100644 (file)
@@ -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
 .
index 7e25b04576330d4c24c7691741d785095b76ab81..4b847ecc52025dce3ca63f1a4ef6568533060765 100644 (file)
@@ -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
 .
index 2528206b649591eeab2cf4fe574f0da468352334..fe76bc554433447cf42a7cd15435d1258f7bae67 100644 (file)
@@ -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
 .
index d1d350bc3343f38c829a8aa82f5ae4f518782880..fa5fb97d20928f8f5916d374d6241b2c471ed957 100644 (file)
@@ -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
 .
index e90bab93e038f481e121ab5008a78cfef2471ee4..039b410f446b8fba4435a005d4817e4dd5271ad0 100644 (file)
@@ -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
 .
index 0ad6c2c2d6d929329884b6fa5b5ff5c7f8172f9b..3bc3dc1bede739ffbd5df314e28581a901691ef7 100644 (file)
@@ -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
 .
index a740f7fea99b9d9f6352a18af6badaa865660b28..2df32e1b853e24cc040ef5ea7778c891e6c09b8a 100644 (file)
@@ -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
 .
index fbc7abffdb0f0ecf12f1a8b654810432751ea668..e8e29c791dc3c5ff388e8610e96449e9518dcb71 100644 (file)
@@ -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
 .
index 86a56e87d2420443012f927fe921cad9286b727a..84d14a1ea25c581d52f6714911ada6bbbd01b79a 100644 (file)
@@ -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
 .
index d2334713cc0d74d97ead68aacb6751941427d9b0..4a1e051714ba169f7989d621595a94ec92fba654 100644 (file)
@@ -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
 .
index f3d4312ff12a08489048100dddf377f854eacf67..87325d2091d09f2fcb0ba20165a00078296a3efe 100644 (file)
@@ -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
 .
index 6331403a853df7802f94d3e38552f20123ca7fca..9d8c306361265b7ac2330b40591bf126c64e5e90 100644 (file)
@@ -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
 .
index bee784c429f02031f43587d98a854b09954bd447..1db9a4f6ff8645562b4491a903d1da9a5ddc198d 100644 (file)
@@ -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
 .
index 4f6535c95e6d964391103a2aea614ba2f4681054..c75a5f30af049e064a9001404f402613c4a17915 100644 (file)
@@ -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
 .
index 7351bf20c1c805b796d32b03ce132f24c85f62fa..7cc7f888aa0b8b42fdbdd2c923e25572e3770b1a 100644 (file)
@@ -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
 .
index a65e5f4122535a5d912383ac6f80b47eabaa5813..e44403b375f4a90e6fc1a7b8f4eebeadea74bc5a 100644 (file)
@@ -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
 .
index 6503794ad3548b2af65a173b31db5847c3fa68c0..f128264cca87620f88c3f5dc5badc21c807ace2a 100644 (file)
@@ -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
 .
index e22fa52d47f03c210ad95b2ac8a70eeebae5278e..6a7ee86d738b36fc98d3ea82cfab010b66d11f9e 100644 (file)
@@ -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
 .
index 0996a06a65bdcf1eaeab6c7eca4f4bf81a835d9e..5a595247f73c5fda32c7582cc3f6aeaa749c79f8 100644 (file)
@@ -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
 .
index 87fcf0d9206f5b067767eb749e947a9d0eb0e9c8..ada05f1269a928ef5fee59cfff595ccebf1c4556 100644 (file)
@@ -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
 .
index 7e9711c497565766fb991000ca640b4b65d0fa5d..62d9b17938ecedb5f5d02b0809047ce2fa8a9cb7 100644 (file)
@@ -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
 .
index ec7f752312e644be4118753b7d01cd994e5b2041..cbe0bd38c224973044d84e98050f5ed342c7c90c 100644 (file)
@@ -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
 .
index 17becf4beef8bb6dcf892cf22c9de08045e99934..47ba75cbce1f20246a46467d0eb4eb85351d1d6c 100644 (file)
@@ -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
 .
index ff0d71db16911b000697c281c1c81fb122b5397f..07f63c397bbdefb5db215532f38e79c19462f0d8 100644 (file)
@@ -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
 .
index 7363412a74ced0e140b349dae49ee6880ea4bd18..f185516258f923ee5112d8d873873b2c72882de3 100644 (file)
@@ -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
 .
index 198eed66b206ecc1a6dee713ca0fc906b2fc641e..5d2a0d775a1add747a9bf17f4a0a125b5051857c 100644 (file)
@@ -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
 .
index d224feb6c64e2367d3eefa5def20111a48a069cb..33ac0ad06e670d4a32410cd8a25590b001e9f1bc 100644 (file)
@@ -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
 .
index 8ad43badbf59ec82b000c68c8519effe798e6623..60aed325d9984d547a0e5a5cbd4ae0052599d135 100644 (file)
@@ -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
 .
index 8cd4bff62c333b603a1e7f9e493f57bfbb149bca..fd51ae7bf6ad8069bc0b84bef7d7f197c9b5cd56 100644 (file)
@@ -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
 .
index 2b5c986275a56f5498969cbde906b627913621d2..dffafd23b40239bd62cf297deab5e27bcdd3c634 100644 (file)
@@ -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
 .
index 62668ba896a1e1882344796bf50adcd6065057bb..002ccce083b7a1d55f6b77a44c463021f1f3198a 100644 (file)
@@ -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
 .
index 64dc6957a909fd2d5faaa99fc151e3e74a47b86d..071f167de459fb5e8eb040c50964ae31a8b6c989 100644 (file)
@@ -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
 .
index 63bf27432228d2bf2cce748caa3d33014c93c0f0..3c99aa17077e6d2a5d02c6470f50ecf96193f891 100644 (file)
@@ -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
 .
index 8ce39d60570cb8b7f68373bf98ad3dc4de9b99ac..6dcd3983e52ff9050cc6f799e4d18c207c4e11b8 100644 (file)
@@ -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
 .
index c6b8f17ff9a14e22b18ce8132ca0abf143e7d1d2..271d8116ad6fc4cab41df200d7fb72a32326b1e2 100644 (file)
@@ -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
 .
index e7de3e2686127f5c42508c66c1168c92a13792dc..40c1ea256c259593d2b357c11a73ce788e0ead34 100644 (file)
@@ -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
 .
index a970a18f47d3d8687fa24d8308fecb1ddfc29a60..c635ff08228758be02f804a7b8a2f62d581354be 100644 (file)
@@ -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
 .
index 7b745cf17e4355ea3150bfb6a62f5eb55cf858c6..b7c921a6a7342f97fb478bb6815e560a69ed2ebd 100644 (file)
@@ -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
 .
index 3b98c9251a7241842ab8621e42c7413b0c22e780..670f99013208366d46c8e9e87039c53f83aaa30f 100644 (file)
@@ -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
 .
index 11cb61fcc6dc01668bdaa90c3348672f008d3aee..b3203ddcb0592f076faa1fa0c99e4bc3cad19f72 100644 (file)
@@ -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
 .
index 2a25cc1f735190489906c520263915196ea4e0a1..fe900873c6d8cc6aa76f0e7a69fb2cd907e85265 100644 (file)
@@ -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
 .
index 265eca98f966c4ea024e117aae7d1a4325e01c32..ef3c8a5564b8c6fdde6fdf9f7574fcb113f4a14d 100644 (file)
@@ -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
 .
index 7e54a0a2060691c273b3e24211ef3c1874b6759c..c02116c59e8d5f481e999eba1fe0409439c4de83 100644 (file)
@@ -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
 .
index b06994aeea22319073deb4e54fdff8040ba4b990..c748850ff3a9506d347912fb6029e46ba418008d 100644 (file)
@@ -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
 .
index a7850fd0f2ff2bebdb87c522e8a6da665efb420c..990b527fc5d522425dcce79a261971e23009a0ec 100644 (file)
@@ -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
 .
index 4b55efa05a9918e4435f53461dbd4acee339fe28..d359f112ddf33fefa69490422a315ec5dff84c20 100644 (file)
@@ -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
 .
index e55fd5e5b99bf0fd2d94d16a4f7f19e2379be8b6..73cbd6aee5c1d0729e031807e297e1ec2b0655ea 100644 (file)
@@ -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
 .
index 4180e18a8f9feaa189b6a2eb48f8bf6e6915798d..a3164840483c00866873a0e010d6a88a698fb2c9 100644 (file)
@@ -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
 .
index 276a81bc8a1658f322b4ba0391efcaf2efcb74b7..e11885b52795811365fcbf8c63acb1c64ac81c22 100644 (file)
@@ -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
 .
index 64ca560fb57f22deb7f846385699921a76a62d65..127970e0bc043242310706ec17f081a7a783e557 100644 (file)
@@ -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
 .
index 286018ca8662067b507a9e1e5c52134c181148fa..896a624781cdb4e47b04080d73351b8b4ed68398 100644 (file)
@@ -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
 .
index 0af4c6e5f28c70515c4f68357abc79b398b836f5..003f7950647731d46760c74308a2109375fdee87 100644 (file)
@@ -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
 .
index abce5a19d6812a513f14267908119235846e5aa3..d6485cfe76eda7529eeba83337fbaa28065d5447 100644 (file)
@@ -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
 .
index bae364356ec8a54c7ed33ac4cc93595f34d97540..753d8dff83547685cd8d493fabdcafb5372bf755 100644 (file)
@@ -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
 .
index 3efc4e0115fd91e2a3eece62390a9475db3519eb..a465c98976f5f36be326f1a8a95a8d5e98701149 100644 (file)
@@ -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
 .
index 0c9c31758c885f514b737c2066835c3b50eebb98..25075def844e3d9dff071c232666c3000a06f65a 100644 (file)
@@ -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
 .
index 919d4cfa14b87e20ce8e489e955169f9304c213b..ed0ea277ec1e67045f8b3cad5698deeda0447e1f 100644 (file)
@@ -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
 .
index 55d766d917d0165e47d76c9f97df2979f6ae6fe6..3921ee03341d817ef440f5aa993f54b0187ffe4c 100644 (file)
@@ -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
 .
index 0f36976deb60b945076df2aba6632812df792d60..1659e91ee23c5a5e4f88ff91b5cdeeeae335833c 100644 (file)
@@ -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
 .
index 0c056f28ac8c0cdec0e7fc2526ec69b3535d9e76..8310598a9a8a0add87f3a7f91c70772e93c69cf6 100644 (file)
@@ -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
 .
index 3d89d6dc1cda485bc7c7fa02c54a8a45cad5fc71..dfc806dc9fb8da7252724509e557a7d81ac3c1ee 100644 (file)
@@ -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
 .
index 0cb8f501834261a309cb4b39b6a85a781ff50953..cd46d8582ce8b0ee26bfc1660496597f6ab699c7 100644 (file)
@@ -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
 .
index 220688ca36fd8ea760ee5eccf78cc3e4858538f7..c978056e5eb7434378a771180c798199fa233f60 100644 (file)
@@ -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
 .
index 0b12c1769bf0f0ec432a02c572df3dfe326a8e5e..8fc502e09fa5f65a7eee1809b8e57d260312455b 100644 (file)
@@ -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
 .
index 2a18dfd2bc18c676e694226fa9ac1d5411c4ea91..2dcb9c0b8b2a096f7edd8a381c0fb32157520bce 100644 (file)
@@ -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
 .
index 9b9f0abad70a98f13def1e80aedea8fd650bf2a5..ee5d024582601b8268ba5ee06997b0b2d6738669 100644 (file)
@@ -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
 .
index 0fe1b79a95d8622c5bca236e019f433851fc07f2..ba4a3c7a12cf2de5a9bee26953eb07b8b9559a17 100644 (file)
@@ -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
 .
index edba79611b17402fa255635258ed442b82a69f37..553ed170270bd1c90a3d13166d92994443090c10 100644 (file)
@@ -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
 .
index 6463a9a500de751c49f65cb66178285f00978363..9a6c5803dcd2a0c18835a5f08b6174d85fd08b28 100644 (file)
@@ -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
 .
index f93592a57059254248de565877a525e8d2bd7412..0d54e81c6ef9798c2753b8b6c9e4bbe0712db3ed 100644 (file)
@@ -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
 .
index a02e424de7c8fb267db7d0244660cbac4620dcfb..70555dcd2a3968e99ed1b8e57c1baf0c30bcab6b 100644 (file)
@@ -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
 .
index b7c7dd17826959ff28f740dd1cd23c63cb22dd93..da1a914dec00b0b8a0487bb596f5ce4710cf0710 100644 (file)
@@ -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
 .
index ae8ae7e6fd4ae1abe043718a9215aa1d811d1c95..9ae59a3e8fccd762ca9e6b6b811e57951d6cbcce 100644 (file)
@@ -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
 .
index b571833471ea0cfd270c073d17d00a9250f7775e..f656ff02be2ec12011003946fff706f674eec767 100644 (file)
@@ -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 
 .
index 2b1b1f6fd5a9f0e84be3aeb6563fe3fe8b2a0222..0ab8abb8e96efcdf94347f1885128b971c2cdd90 100644 (file)
@@ -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
 .
index 89142fd40bfa170ef04ef2f23a9c61e8ea6643ca..5688cb61a8981bb2c8fe0f2dbd4950421f370efe 100644 (file)
@@ -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
 .
index b93b87ba771338e251ab306577f49b466b650660..7dd6b20e8a1952d2c7c977c92da26ecfaa134b32 100644 (file)
@@ -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
 .
index 237ca247afff0459687b7d22f97dcaaf67062790..e2426a65227e345f6e0c2b18205cb0b02f1176ea 100644 (file)
@@ -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
 .
index e702eb85a612432401e5cfaae7ad3a43f1ee1ea0..c6e941c05295394bf872077fbe4f4f7fe93670ec 100644 (file)
@@ -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
 .
index 5a3431bccfb92e857915cd4c3b7b58d31e0161e8..5b17aa029066898e7944b68b930a72780465046b 100644 (file)
@@ -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
 .
index 026c15a4c3cdbd578e29cdfb8cbe34ff649e5ada..f3cdf389a34c149b55549ac87ea3b377d1af1836 100644 (file)
@@ -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
 .
index 454bce13b684ee808a1bdc3e1e3dc4b4321b0058..0eb66f2d4643130110e5d99d1402ecbe5bc5bfd0 100644 (file)
@@ -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
 .
index a8afc9dd786436cf36ece06d2550d711d9c820f8..27ed43668ea5ea4ed192f35e5670d0f144be951b 100644 (file)
@@ -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
 .
index f3e4af56e4adfede828e35fe8f30176b8d7c6e0f..3e718504e5bc7dec560de5c30bbe8b19937af1a0 100644 (file)
@@ -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
 .
index e7c09c92b6a002110dfcee141a6773fe9bf861a7..71ff1e861e1ecef2fd6125b3f712f385a825a969 100644 (file)
@@ -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
 .
index 0ca6263ff527c1e34d72d305f88939c10c073170..49c89991880e8c0c13bec4c331503739e5badcac 100644 (file)
@@ -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
 .
index 4a4c5f5f435cf3c6f79bef868392e37bfa0a7577..c878d35126c9036b9aca0b294790f519e8aa1e00 100644 (file)
@@ -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
 .
index 8e6ce2bba914c0fb5ced80d0363d39111c3269d6..b7ce8712bcdc7c4f844bfe8cb755b757ba144932 100644 (file)
@@ -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
 .
index b2d8b27340713747950848244c510a9d3be5da2e..1d64beb077a4efaf890914efc2058376e905f1c0 100644 (file)
@@ -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
 .
index 37d1fc30426e4c1eba901bc091fcac380aca7945..829a8f73961cb2208abc8ebdbf5f173f39f6c0fe 100644 (file)
@@ -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
 .
index 50e26d2c489a1ce4cfa37c0389319245dc1783e9..8933c3df37d25b22edd13e8f10dac3b6f1d22d4e 100644 (file)
@@ -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
 .
index 741e7ed2e1b2bfad6b508fd83f520bba77df3f1d..97ce98768242479bedf206626c1a5db6ae8864a4 100644 (file)
@@ -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
 .
index f75505f4f0fb022261f601e640b024121cae55eb..59fbca2aadc90458228f67523dbdca3cb2801e84 100644 (file)
@@ -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
 .
index 6cdc40e47b3064da9c4b18f95e1806326904400e..4b8e8d51c5f5e27df2d937b16d83dd3407c2fce8 100644 (file)
@@ -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
 .
index 416d8a63ccddd887e73791e7fe3af35bfe33ca0a..d94958f1d99f44eb58deacf181d27a02419847c4 100644 (file)
@@ -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
 .
index 32b2c8089990728a68daa5d2bfe9b1acef3ab487..7e432375996f6adbce593dbd30b4aa84868ff1f4 100644 (file)
@@ -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
 .
index 2ea5646bd77df3984a3213c5641cdf585eb9b915..32d54a1d61d10de1adf5b6c949eabdb274683513 100644 (file)
@@ -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
 .
index 27800bc37dfc83a67e34739ed7a350c83d42e3ff..accaf369ddebe40b080d6d1702946068c5570e6f 100644 (file)
@@ -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
 .
index 7cc2c999bba6aec7779f24eb7eaf86a609ed88ca..e994e27d2937548fbcd1ea8b994cae69693318cb 100644 (file)
@@ -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
 .
index 271ae6159106748119d442fd9ac690310dee6f8f..8821f07421b362833b10d004db4964ba5aeed488 100644 (file)
@@ -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
 .
index 497e74c1285fbb5c07d31ba9790b814df505e25f..13e00165b0e62d40d924728ce45cc7bec58c313b 100644 (file)
@@ -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
 .
index 5f14b487fc3456192c1ddbd29380f2227984f80e..6f11e5007a874854571f047de99911236ed33c47 100644 (file)
@@ -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
 .
index 377d29d97bb2c5b7328ac8cfd5aa744633aa839c..b14047f5ad855450e34c157d3200fa49c790d5f2 100644 (file)
@@ -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
 .
index 28b98794a8d6a9eb11de74bf4e85157d2464fe7a..f1365b14ebd37d55ef96b332fd4eabff7826254e 100644 (file)
@@ -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
 .
index dd3c5f2a42c60c927452eda6822e83e3e7f28f23..55a16109cff59e609f730ebb9737ad63c77cf44a 100644 (file)
@@ -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
 .
index 27c6e018c9904914cf7d3453dee9eb3c3afa6aae..62bd14c8f6c4f3480bea3fa8d8475028b8330d5a 100644 (file)
@@ -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
 .
index e1b22ccf8a1322f27b2228bc42462c6838f4142f..7261f89569e53029249ef080c3ec50d7551af529 100644 (file)
@@ -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
 .
index eafc1cc3ab2664f032effd17949b2fb0963fa3f1..7c66aecfc533d09082c0f695b16a334a3a8c10c1 100644 (file)
@@ -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
 .
index 0eef1d3d14f1278da9f41afdc93e168db98c9d1e..9f3bcf17ffbc0591733cf88bd742e8d3c2610c6e 100644 (file)
@@ -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
 .
index e2b999b4613421950cf9ccb46fa592b5963ffeb0..bad529ca60b886285a8768124617567cb2392ba8 100644 (file)
@@ -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
 .
index c4ee0c62bbb85c5964e040bfe983295c49dc92d7..4ea95ab0ad35757c6cb67bf9965668e34899b88b 100644 (file)
@@ -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
 .
index cffc8ff59685f295d421d50b132aa76c8768e5eb..4f1690f0ec13f93831ea284f76d7fd0ddede4d0e 100644 (file)
@@ -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
 .
index 8b6c5b7c7a75d1545d3e07b89fe6e7a84cc7e7c7..dc48190fbc0ad9b9e72e00c26300e8cd7291b499 100644 (file)
@@ -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
 .
index 703e9ada60e3d6283f739304a765df01090f2856..16c84d57e97b0ab7fbc2ac0257c5235ae847bbf3 100644 (file)
@@ -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
 .
index 42005216e39687748fa27d107fa949ff626509c2..bf2199c1ab03a7baa95a834bab99251e1bc21956 100644 (file)
@@ -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
 .
index a27e19de669525d6f84463c334161504107672d2..117dac4db73431a8c85cd4d88685e55340d85709 100644 (file)
@@ -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
 .
index bcfce0a52a19e3bdc350fe28ad64c9c562698510..e24d31c2350cdd47b6018eaf709aa5d0d869f780 100644 (file)
@@ -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);
 }
 
index 309df4c1dd3c3595121261b21250f5155ce28a06..e83522b984f99124429714469ea902db91c76336 100644 (file)
@@ -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;
           }
 
index e437f96942cdc285232f992b6fca986134073b34..2efde2f3791c4c1060a8cf83887cb237166a6932 100644 (file)
@@ -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;
   }
index e071016cf2c7505862a3437ce8eeb632e48627e8..0b886872b225b973c533a123b675f8de089df10c 100644 (file)
@@ -32,5 +32,8 @@ bool has_memcached_sasl_binary();
 LIBTEST_API
 bool has_gearmand_binary();
 
+LIBTEST_API
+bool has_drizzled_binary();
+
 } // namespace libtest
 
index de7c89d70891e287e3aebb3e5bb366bdf469bce4..6b8205cb1fff276fe8d02ccb172fd123e4329541 100644 (file)
@@ -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
index 44fd17f92ff4f75ec484fa8e05575e114ef59373..a3d9cb25333fb6b33da74febfa544e44d846160b 100644 (file)
@@ -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();
 
 }
index 05f273a72bf6102317533a32e341df1eecaf31e4..39b99c51728c1bffda41d311b8a485a1b35f7821 100644 (file)
@@ -58,6 +58,7 @@
 #include <libtest/gearmand.h>
 #include <libtest/blobslap_worker.h>
 #include <libtest/memcached.h>
+#include <libtest/drizzled.h>
 
 #include <libtest/libtool.hpp>
 #include <libtest/killpid.h>
diff --git a/libtest/drizzled.cc b/libtest/drizzled.cc
new file mode 100644 (file)
index 0000000..c124192
--- /dev/null
@@ -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 <config.h>
+#include <libtest/common.h>
+
+#include <libtest/drizzled.h>
+
+#include "util/instance.hpp"
+#include "util/operation.hpp"
+
+using namespace datadifferential;
+using namespace libtest;
+
+#include <cassert>
+#include <cerrno>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <signal.h>
+#include <sstream>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+#endif
+
+#if defined(HAVE_LIBDRIZZLE) && HAVE_LIBDRIZZLE
+#include <libdrizzle-1.0/drizzle_client.h>
+#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 (file)
index 0000000..496a201
--- /dev/null
@@ -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 <arpa/inet.h>
+
+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);
+
+}
+
index 969186642cbdaac4b07a5a1956c16307e59e0e14..3a4d85d5b9fec36ae4a8aa4a495399397f692c25 100644 (file)
@@ -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);
 
index 325582f682fbf61a1c32de9530743e101cfefd74..7a33b4df058d383984b8af4f211ded631b635b40 100644 (file)
@@ -122,7 +122,7 @@ public:
 
   bool has_syslog() const
   {
-    return true;
+    return false; //  --syslog.errmsg-enable
   }
 
   bool has_port_option() const
index 59706ad8aaf30e8629f767b40b96272e27dc188f..58c7eb495e4ad67af923fef4272c5105ddce12d1 100644 (file)
@@ -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 (file)
index 0000000..ef10028
--- /dev/null
@@ -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 <config.h>
+#include <libtest/common.h>
+
+#include <cassert>
+#include <cstdlib>
+#include <cstring>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <ctime>
+#include <fnmatch.h>
+#include <iostream>
+
+#include <signal.h>
+
+#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 <getopt.h>
+#include <unistd.h>
+
+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;
+}
index 99a9eeb960eb0614f90838bd90c02084e598a5a0..41da231cf1ef3c25c73beb4919f8a05a2219bcf7 100644 (file)
@@ -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);
index b63cfbb4de6787719081091687ad788834086289..4fdfd4140894a39855f160178a570e0f7be343a5 100644 (file)
@@ -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 (file)
index ef10028..0000000
+++ /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 <config.h>
-#include <libtest/common.h>
-
-#include <cassert>
-#include <cstdlib>
-#include <cstring>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <ctime>
-#include <fnmatch.h>
-#include <iostream>
-
-#include <signal.h>
-
-#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 <getopt.h>
-#include <unistd.h>
-
-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;
-}
index de3e6f50c3d2f958850dd601438421f451321f72..f884af33483812434df32e002127938b3a863a5a 100644 (file)
@@ -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},
index ccc32f392babb256a574ee629e7d174d3069ff52..4d81ecd4a9c94724f50814d01302991dfe3015b4 100644 (file)
@@ -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;
 }
index c0d7771c1e125c5d7cccdb8783f23e7a799b38be..ff5223fe09df1392eb04fe6f3cf443fcef323f0f 100644 (file)
@@ -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)
index 6121e628a2ecf0c1c658c7add6640a2e67a9879b..5e2882c6d9d7109f5e015e315741614701454c0f 100644 (file)
@@ -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();
 }
index 4dab69ff7310ddc63e11c448a205f5e81af6780d..15d6ff28efe804abcf45d0aaab0cb7de63bc3823 100644 (file)
@@ -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},
index b9342cf3ff9e8d3a6b5cd7eec4d218d82ae32a87..6398c1eba41e4852f4677626412090f99638cd3e 100644 (file)
@@ -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);
 }
index ad4483ed4df87e2f887fb9bb6834c801caadd9f1..23d6dd238cdbedefc8b2cc87f6d4fb48a4913986 100644 (file)
@@ -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);
 }
index da31fe0cefe680a31dbac985cab7f1fb80454586..9f6775843894c11269ed4e88d8e7a9ef7d7f9a83 100644 (file)
 
 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);
index eacb6026bdb6882ca572f112db222d7b64b8130a..bd4855a9aa2dac8ccb9c12c2199439cf4601c7ce 100644 (file)
@@ -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*);
index 186e655bfe32deb713f7160bcf57aa6caf022f9d..d4b3fc14468b33653c37111c7f7a3b0e6b5e79a5 100644 (file)
@@ -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)
index fce23b8404f6bb0430c1ab292445383dbff16f88..e39c2a8bc8eccc134e4a30462f04637092eb7da4 100644 (file)
@@ -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);
index 5078f1f5583cea9c07ab32f5524eec8c3b5ed13c..5b3f7e8855a9318b27f6d01685fab5be70582756 100644 (file)
@@ -300,5 +300,5 @@ void get_world(Framework *world)
   world->collection_startup= reinterpret_cast<test_callback_fn*>(world_container_startup);
   world->collection_shutdown= reinterpret_cast<test_callback_fn*>(world_container_shutdown);
 
-  world->set_runner(&defualt_libmemcached_runner);
+  world->set_runner(new LibmemcachedRunner);
 }
index ee8b5e67166d649be03b3e642236f47e109ac6a2..bbf905d9716bfc5cf4bb232fdaf053dda65920fb 100644 (file)
@@ -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");
 }
index 093be4906f2b3998c7ce211575dfbbda442939b7..95ba4c8d44c8bb3a7886a83762afb1ac5e1df61c 100644 (file)
@@ -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);
index fa6fbdf2860fb8ad68c026cb673713f8f148339c..655cab4475ba31628562a4ba02f7f9ccd6b33cdc 100644 (file)
@@ -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*);
index 5fab96fe2a9e71f00db4d24061fb6f5f008433d6..c31b303fa911fae2221670f62fc5847d6fae0eff 100644 (file)
@@ -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"
index b1748cab4cb2249653e5cb31eaef12056e64fcab..8016dba4ad6229dcafaf465d3f2b889ee39a42ba 100644 (file)
@@ -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"
index 713885fda2e39a3f714d765c5d67dddc77d6a08f..3a97d849c71db8f7e9e7f3fc3d6c8090a27ae0f0 100644 (file)
@@ -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 (file)
index 0000000..deb685a
--- /dev/null
@@ -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;
+  }
+};
+