X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fmem_functions.c;fp=tests%2Fmem_functions.c;h=3b545c86266f3e7a4ea94334a3fecbe0fee5d4d1;hb=55b5455291498ef63c1c34976552d58708a74732;hp=9ec6b751cda5090d4486c202c1093b94472da0e0;hpb=3ddd6cf2902491eab9d6ecf6e30b0b324c7a6f1f;p=awesomized%2Flibmemcached diff --git a/tests/mem_functions.c b/tests/mem_functions.c index 9ec6b751..3b545c86 100644 --- a/tests/mem_functions.c +++ b/tests/mem_functions.c @@ -1858,6 +1858,29 @@ static test_return_t behavior_test(memcached_st *memc) return TEST_SUCCESS; } +static test_return_t MEMCACHED_BEHAVIOR_CORK_test(memcached_st *memc) +{ + memcached_return_t rc; + bool set= true; + bool value; + + rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CORK, set); +#ifdef TCP_CORK + test_truth(rc == MEMCACHED_SUCCESS); +#else + test_truth(rc == MEMCACHED_NOT_SUPPORTED); +#endif + + value= (bool)memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_CORK); +#ifdef TCP_CORK + test_truth((bool)value == set); +#else + test_false((bool)value == set); +#endif + + return TEST_SUCCESS; +} + static test_return_t fetch_all_results(memcached_st *memc) { memcached_return_t rc= MEMCACHED_SUCCESS; @@ -3362,13 +3385,37 @@ static test_return_t add_host_test1(memcached_st *memc) return TEST_SUCCESS; } -static test_return_t pre_nonblock(memcached_st *memc) +static test_return_t pre_nonblock(memcached_st *memc) { memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, 0); return TEST_SUCCESS; } +static test_return_t pre_cork(memcached_st *memc) +{ + memcached_return_t rc; + bool set= true; + rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CORK, set); + + if (rc == MEMCACHED_SUCCESS) + return TEST_SUCCESS; + + return TEST_SKIPPED; +} + +static test_return_t pre_cork_and_nonblock(memcached_st *memc) +{ + test_return_t rc; + + rc= pre_cork(memc); + + if (rc != TEST_SUCCESS) + return rc; + + return pre_nonblock(memc); +} + static test_return_t pre_nonblock_binary(memcached_st *memc) { memcached_return_t rc= MEMCACHED_FAILURE; @@ -5762,6 +5809,7 @@ test_st tests[] ={ test_st behavior_tests[] ={ {"behavior_test", 0, (test_callback_fn)behavior_test}, + {"MEMCACHED_BEHAVIOR_CORK", 0, (test_callback_fn)MEMCACHED_BEHAVIOR_CORK_test}, {0, 0, 0} }; @@ -5977,6 +6025,8 @@ 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}, + {"generate_corked", (test_callback_fn)pre_cork, 0, generate_tests}, + {"generate_corked_and_nonblock", (test_callback_fn)pre_cork_and_nonblock, 0, generate_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},