X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ftest.c;h=f4ba3480380534ad5b0dc6be77d2b62c3f9da6cb;hb=f4ff3ba0a9f212ac1323fc056d61fefd3782093c;hp=020bfc5347939d4a1c866535ea78545cad537b91;hpb=21fc482405fde4edd7985c3b0ea30f6b0c4069cb;p=m6w6%2Flibmemcached diff --git a/tests/test.c b/tests/test.c index 020bfc53..f4ba3480 100644 --- a/tests/test.c +++ b/tests/test.c @@ -23,6 +23,17 @@ void allocation_test(void) memcached_deinit(memc); } +void connection_test(void) +{ + memcached_return rc; + memcached_st *memc; + memc= memcached_init(NULL); + rc= memcached_server_add(memc, "localhost", 0); + assert(rc == MEMCACHED_SUCCESS); + assert(memc); + memcached_deinit(memc); +} + void set_test(void) { memcached_st *memc; @@ -122,6 +133,7 @@ void get_test(void) string= memcached_get(memc, key, strlen(key), &string_length, &flags, &rc); + assert(rc == MEMCACHED_NOTFOUND); assert(string_length == 0); assert(!string); @@ -148,6 +160,8 @@ void get_test2(void) string= memcached_get(memc, key, strlen(key), &string_length, &flags, &rc); + assert(string); + assert(rc == MEMCACHED_SUCCESS); assert(string_length == strlen(value)); assert(!memcmp(string, value, string_length)); @@ -221,13 +235,89 @@ void decrement_test(void) memcached_deinit(memc); } +void quit_test(void) +{ + memcached_st *memc; + memcached_return rc; + char *key= "fudge"; + char *value= "sanford and sun"; + + memc= memcached_init(NULL); + assert(memc); + rc= memcached_set(memc, key, strlen(key), + value, strlen(value), + (time_t)10, (uint16_t)3); + assert(rc == MEMCACHED_SUCCESS); + memcached_quit(memc); + + rc= memcached_set(memc, key, strlen(key), + value, strlen(value), + (time_t)50, (uint16_t)9); + assert(rc == MEMCACHED_SUCCESS); + + memcached_deinit(memc); +} + +void mget_test(void) +{ + memcached_st *memc; + memcached_return rc; + char *keys[]= {"fudge", "son", "food"}; + size_t key_length[]= {5, 3, 4}; + unsigned int x; + uint16_t flags; + + char return_key[MEMCACHED_MAX_KEY]; + size_t return_key_length; + char *return_value; + size_t return_value_length; + + memc= memcached_init(NULL); + assert(memc); + + rc= memcached_mget(memc, keys, key_length, 3); + assert(rc == MEMCACHED_SUCCESS); + + while (return_value= memcached_fetch(memc, return_key, &return_key_length, + &return_value_length, &flags, &rc)) + { + assert(return_value); + } + assert(rc == MEMCACHED_NOTFOUND); + + for (x= 0; x < 3; x++) + { + rc= memcached_set(memc, keys[x], key_length[x], + keys[x], key_length[x], + (time_t)50, (uint16_t)9); + assert(rc == MEMCACHED_SUCCESS); + } + + rc= memcached_mget(memc, keys, key_length, 3); + assert(rc == MEMCACHED_SUCCESS); + + x= 0; + while (return_value= memcached_fetch(memc, return_key, &return_key_length, + &return_value_length, &flags, &rc)) + { + assert(return_value); + assert(rc == MEMCACHED_SUCCESS); + assert(key_length[x] == return_value_length); + assert(!memcmp(return_value, keys[x], return_value_length)); + x++; + } + + memcached_deinit(memc); +} + + int main(void) { /* Clean the server before beginning testing */ flush_test(); - init_test(); allocation_test(); + connection_test(); set_test(); add_test(); replace_test(); @@ -240,6 +330,8 @@ int main(void) increment_test(); decrement_test(); + quit_test(); + mget_test(); /* Clean up whatever we might have left */ flush_test();