X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fatomsmasher.cc;h=981819d20c0c75ea03b6fafde11cd20b97e5ad26;hb=a597ec80fbd56fca8d5c6be445bf1bc94c5e1cda;hp=3f4eb405ab288247a6e41553bdd7e54703fb447b;hpb=28602fd2f5f1c758b50cd82d4545da8e6c55f5c7;p=m6w6%2Flibmemcached diff --git a/tests/atomsmasher.cc b/tests/atomsmasher.cc index 3f4eb405..981819d2 100644 --- a/tests/atomsmasher.cc +++ b/tests/atomsmasher.cc @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -33,6 +32,8 @@ #include +#include + using namespace libtest; /* Number of items generated for tests */ @@ -46,17 +47,15 @@ static pairs_st *global_pairs; static char *global_keys[GLOBAL_COUNT]; static size_t global_keys_length[GLOBAL_COUNT]; -static test_return_t cleanup_pairs(memcached_st *memc) +static test_return_t cleanup_pairs(memcached_st *) { - (void)memc; pairs_free(global_pairs); return TEST_SUCCESS; } -static test_return_t generate_pairs(memcached_st *memc) +static test_return_t generate_pairs(memcached_st *) { - (void)memc; global_pairs= pairs_generate(GLOBAL_COUNT, 400); global_count= GLOBAL_COUNT; @@ -71,14 +70,14 @@ static test_return_t generate_pairs(memcached_st *memc) static test_return_t drizzle(memcached_st *memc) { - memcached_return_t rc; - char *return_value; - size_t return_value_length; - uint32_t flags; - infinite: for (size_t x= 0; x < TEST_COUNTER; x++) { + memcached_return_t rc; + char *return_value; + size_t return_value_length; + uint32_t flags; + uint32_t test_bit; uint8_t which; @@ -99,8 +98,7 @@ infinite: } else { - WATCHPOINT_ERROR(rc); - WATCHPOINT_ASSERT(rc); + test_compare(MEMCACHED_SUCCESS, rc); } } else @@ -112,14 +110,15 @@ infinite: 0, 0); if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_BUFFERED) { - WATCHPOINT_ERROR(rc); - WATCHPOINT_ASSERT(0); + test_compare(MEMCACHED_SUCCESS, rc); } } } if (getenv("MEMCACHED_ATOM_BURIN_IN")) + { goto infinite; + } return TEST_SUCCESS; } @@ -137,30 +136,32 @@ static test_return_t pre_nonblock(memcached_st *memc) */ static test_return_t add_test(memcached_st *memc) { - memcached_return_t rc; const char *key= "foo"; const char *value= "when we sanitize"; - unsigned long long setting_value; - - setting_value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NO_BLOCK); + memcached_return_t rc; rc= memcached_set(memc, key, strlen(key), value, strlen(value), (time_t)0, (uint32_t)0); - test_true(rc == MEMCACHED_SUCCESS || rc == MEMCACHED_BUFFERED); + test_true_got(rc == MEMCACHED_SUCCESS or rc == MEMCACHED_BUFFERED, memcached_strerror(NULL, rc)); memcached_quit(memc); rc= memcached_add(memc, key, strlen(key), value, strlen(value), (time_t)0, (uint32_t)0); + if (rc == MEMCACHED_CONNECTION_FAILURE) + { + print_servers(memc); + } + /* Too many broken OS'es have broken loopback in async, so we can't be sure of the result */ - if (setting_value) + if (memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NO_BLOCK)) { - test_true(rc == MEMCACHED_NOTSTORED || rc == MEMCACHED_STORED); + test_true(rc == MEMCACHED_NOTSTORED or rc == MEMCACHED_STORED); } else { - test_true(rc == MEMCACHED_NOTSTORED); + test_compare_got(MEMCACHED_NOTSTORED, rc, memcached_strerror(NULL, rc)); } return TEST_SUCCESS; @@ -172,18 +173,19 @@ static test_return_t add_test(memcached_st *memc) */ static test_return_t many_adds(memcached_st *memc) { + test_true(memc); for (size_t x= 0; x < TEST_COUNTER; x++) { - add_test(memc); + test_compare_got(TEST_SUCCESS, add_test(memc), x); } return TEST_SUCCESS; } test_st smash_tests[] ={ - {"generate_pairs", 1, (test_callback_fn*)generate_pairs }, - {"drizzle", 1, (test_callback_fn*)drizzle }, - {"cleanup", 1, (test_callback_fn*)cleanup_pairs }, - {"many_adds", 1, (test_callback_fn*)many_adds }, + {"generate_pairs", true, (test_callback_fn*)generate_pairs }, + {"drizzle", true, (test_callback_fn*)drizzle }, + {"cleanup", true, (test_callback_fn*)cleanup_pairs }, + {"many_adds", true, (test_callback_fn*)many_adds }, {0, 0, 0} }; @@ -197,9 +199,8 @@ struct benchmark_state_st memcached_st *clone; } benchmark_state; -static test_return_t memcached_create_benchmark(memcached_st *memc) +static test_return_t memcached_create_benchmark(memcached_st *) { - (void)memc; benchmark_state.create_init= true; for (size_t x= 0; x < BENCHMARK_TEST_LOOP; x++) @@ -228,9 +229,8 @@ static test_return_t memcached_clone_benchmark(memcached_st *memc) return TEST_SUCCESS; } -static test_return_t pre_allocate(memcached_st *memc) +static test_return_t pre_allocate(memcached_st *) { - (void)memc; memset(&benchmark_state, 0, sizeof(benchmark_state)); benchmark_state.create= (memcached_st *)calloc(BENCHMARK_TEST_LOOP, sizeof(memcached_st)); @@ -241,16 +241,19 @@ static test_return_t pre_allocate(memcached_st *memc) return TEST_SUCCESS; } -static test_return_t post_allocate(memcached_st *memc) +static test_return_t post_allocate(memcached_st *) { - (void)memc; for (size_t x= 0; x < BENCHMARK_TEST_LOOP; x++) { if (benchmark_state.create_init) + { memcached_free(&benchmark_state.create[x]); + } if (benchmark_state.clone_init) + { memcached_free(&benchmark_state.clone[x]); + } } free(benchmark_state.create); @@ -275,7 +278,7 @@ collection_st collection[] ={ }; -#define SERVERS_TO_CREATE 5 +#define TEST_PORT_BASE MEMCACHED_DEFAULT_PORT +10 #include "libmemcached_world.h"