dabb00f4779ac23b6d0bb7e7ac84b7de4b54a8b5
2 Sample test application.
14 (void)memcached_init(&memc
);
15 memcached_deinit(&memc
);
18 void allocation_test(void)
21 memc
= memcached_init(NULL
);
23 memcached_deinit(memc
);
26 void connection_test(void)
30 memc
= memcached_init(NULL
);
32 rc
= memcached_server_add(memc
, "localhost", 0);
33 assert(rc
== MEMCACHED_SUCCESS
);
35 memcached_deinit(memc
);
41 memc
= memcached_init(NULL
);
44 for (rc
= MEMCACHED_SUCCESS
; rc
< MEMCACHED_MAXIMUM_RETURN
; rc
++)
46 printf("Error %d -> %s\n", rc
, memcached_strerror(memc
, rc
));
50 memcached_deinit(memc
);
58 char *value
= "when we sanitize";
60 memc
= memcached_init(NULL
);
62 rc
= memcached_server_add(memc
, "localhost", 0);
63 assert(rc
== MEMCACHED_SUCCESS
);
64 rc
= memcached_set(memc
, key
, strlen(key
),
66 (time_t)0, (uint16_t)0);
67 assert(rc
== MEMCACHED_SUCCESS
);
69 memcached_deinit(memc
);
77 char *value
= "when we sanitize";
79 memc
= memcached_init(NULL
);
81 rc
= memcached_server_add(memc
, "localhost", 0);
82 assert(rc
== MEMCACHED_SUCCESS
);
83 rc
= memcached_add(memc
, key
, strlen(key
),
85 (time_t)0, (uint16_t)0);
86 assert(rc
== MEMCACHED_NOTSTORED
);
88 memcached_deinit(memc
);
91 void replace_test(void)
96 char *value
= "when we sanitize";
98 memc
= memcached_init(NULL
);
100 rc
= memcached_server_add(memc
, "localhost", 0);
101 assert(rc
== MEMCACHED_SUCCESS
);
102 rc
= memcached_replace(memc
, key
, strlen(key
),
103 value
, strlen(value
),
104 (time_t)0, (uint16_t)0);
105 assert(rc
== MEMCACHED_SUCCESS
);
107 memcached_deinit(memc
);
110 void delete_test(void)
115 char *value
= "when we sanitize";
117 memc
= memcached_init(NULL
);
119 rc
= memcached_server_add(memc
, "localhost", 0);
120 assert(rc
== MEMCACHED_SUCCESS
);
121 rc
= memcached_set(memc
, key
, strlen(key
),
122 value
, strlen(value
),
123 (time_t)0, (uint16_t)0);
124 assert(rc
== MEMCACHED_SUCCESS
);
126 rc
= memcached_delete(memc
, key
, strlen(key
), (time_t)0);
127 assert(rc
== MEMCACHED_SUCCESS
);
129 memcached_deinit(memc
);
132 void flush_test(void)
137 memc
= memcached_init(NULL
);
139 rc
= memcached_server_add(memc
, "localhost", 0);
140 assert(rc
== MEMCACHED_SUCCESS
);
141 rc
= memcached_flush(memc
, 0);
142 assert(rc
== MEMCACHED_SUCCESS
);
144 memcached_deinit(memc
);
153 size_t string_length
;
156 memc
= memcached_init(NULL
);
158 rc
= memcached_server_add(memc
, "localhost", 0);
159 assert(rc
== MEMCACHED_SUCCESS
);
161 string
= memcached_get(memc
, key
, strlen(key
),
162 &string_length
, &flags
, &rc
);
164 assert(rc
== MEMCACHED_NOTFOUND
);
165 assert(string_length
== 0);
168 memcached_deinit(memc
);
176 char *value
= "when we sanitize";
178 size_t string_length
;
181 memc
= memcached_init(NULL
);
183 rc
= memcached_server_add(memc
, "localhost", 0);
184 assert(rc
== MEMCACHED_SUCCESS
);
186 rc
= memcached_set(memc
, key
, strlen(key
),
187 value
, strlen(value
),
188 (time_t)0, (uint16_t)0);
189 assert(rc
== MEMCACHED_SUCCESS
);
191 string
= memcached_get(memc
, key
, strlen(key
),
192 &string_length
, &flags
, &rc
);
195 assert(rc
== MEMCACHED_SUCCESS
);
196 assert(string_length
== strlen(value
));
197 assert(!memcmp(string
, value
, string_length
));
201 memcached_deinit(memc
);
210 size_t value_length
= 8191;
212 size_t string_length
;
216 value
= (char*) malloc(value_length
);
217 for (i
=0; i
<value_length
; i
++)
218 value
[i
] = (char) (i
% 127);
220 memc
= memcached_init(NULL
);
222 rc
= memcached_server_add(memc
, "localhost", 0);
223 assert(rc
== MEMCACHED_SUCCESS
);
225 rc
= memcached_set(memc
, key
, strlen(key
),
227 (time_t)0, (uint16_t)0);
228 assert(rc
== MEMCACHED_SUCCESS
);
230 string
= memcached_get(memc
, key
, strlen(key
),
231 &string_length
, &flags
, &rc
);
233 assert(string_length
== value_length
);
234 assert(!memcmp(string
, value
, string_length
));
239 memcached_deinit(memc
);
242 void stats_servername_test(void)
245 memcached_stat_st stat
;
246 rc
= memcached_stat_servername(&stat
, NULL
,
248 MEMCACHED_DEFAULT_PORT
);
251 void increment_test(void)
254 unsigned int new_number
;
259 memc
= memcached_init(NULL
);
261 rc
= memcached_server_add(memc
, "localhost", 0);
262 assert(rc
== MEMCACHED_SUCCESS
);
264 rc
= memcached_set(memc
, key
, strlen(key
),
265 value
, strlen(value
),
266 (time_t)0, (uint16_t)0);
267 assert(rc
== MEMCACHED_SUCCESS
);
269 rc
= memcached_increment(memc
, key
, strlen(key
),
271 assert(rc
== MEMCACHED_SUCCESS
);
272 assert(new_number
== 1);
274 rc
= memcached_increment(memc
, key
, strlen(key
),
276 assert(rc
== MEMCACHED_SUCCESS
);
277 assert(new_number
== 2);
279 memcached_deinit(memc
);
282 void decrement_test(void)
285 unsigned int new_number
;
290 memc
= memcached_init(NULL
);
292 rc
= memcached_server_add(memc
, "localhost", 0);
293 assert(rc
== MEMCACHED_SUCCESS
);
295 rc
= memcached_set(memc
, key
, strlen(key
),
296 value
, strlen(value
),
297 (time_t)0, (uint16_t)0);
298 assert(rc
== MEMCACHED_SUCCESS
);
300 rc
= memcached_decrement(memc
, key
, strlen(key
),
302 assert(rc
== MEMCACHED_SUCCESS
);
303 assert(new_number
== 2);
305 rc
= memcached_decrement(memc
, key
, strlen(key
),
307 assert(rc
== MEMCACHED_SUCCESS
);
308 assert(new_number
== 1);
310 memcached_deinit(memc
);
318 char *value
= "sanford and sun";
320 memc
= memcached_init(NULL
);
322 rc
= memcached_server_add(memc
, "localhost", 0);
323 assert(rc
== MEMCACHED_SUCCESS
);
325 rc
= memcached_set(memc
, key
, strlen(key
),
326 value
, strlen(value
),
327 (time_t)10, (uint16_t)3);
328 assert(rc
== MEMCACHED_SUCCESS
);
329 memcached_quit(memc
);
331 rc
= memcached_set(memc
, key
, strlen(key
),
332 value
, strlen(value
),
333 (time_t)50, (uint16_t)9);
334 assert(rc
== MEMCACHED_SUCCESS
);
336 memcached_deinit(memc
);
343 char *keys
[]= {"fudge", "son", "food"};
344 size_t key_length
[]= {5, 3, 4};
348 char return_key
[MEMCACHED_MAX_KEY
];
349 size_t return_key_length
;
351 size_t return_value_length
;
353 memc
= memcached_init(NULL
);
355 rc
= memcached_server_add(memc
, "localhost", 0);
356 assert(rc
== MEMCACHED_SUCCESS
);
358 /* We need to empty the server before continueing test */
359 rc
= memcached_flush(memc
, 0);
360 assert(rc
== MEMCACHED_SUCCESS
);
362 rc
= memcached_mget(memc
, keys
, key_length
, 3);
363 assert(rc
== MEMCACHED_SUCCESS
);
365 while ((return_value
= memcached_fetch(memc
, return_key
, &return_key_length
,
366 &return_value_length
, &flags
, &rc
)) != NULL
)
368 assert(return_value
);
370 assert(!return_value
);
371 assert(return_value_length
== 0);
372 assert(rc
== MEMCACHED_NOTFOUND
);
374 for (x
= 0; x
< 3; x
++)
376 rc
= memcached_set(memc
, keys
[x
], key_length
[x
],
377 keys
[x
], key_length
[x
],
378 (time_t)50, (uint16_t)9);
379 assert(rc
== MEMCACHED_SUCCESS
);
382 rc
= memcached_mget(memc
, keys
, key_length
, 3);
383 assert(rc
== MEMCACHED_SUCCESS
);
386 while (return_value
= memcached_fetch(memc
, return_key
, &return_key_length
,
387 &return_value_length
, &flags
, &rc
))
389 assert(return_value
);
390 assert(rc
== MEMCACHED_SUCCESS
);
391 assert(key_length
[x
] == return_value_length
);
392 assert(!memcmp(return_value
, keys
[x
], return_value_length
));
397 memcached_deinit(memc
);
400 void get_stats_keys(void)
405 memcached_stat_st stat
;
408 memc
= memcached_init(NULL
);
411 list
= memcached_stat_get_keys(memc
, &stat
, &rc
);
412 assert(rc
== MEMCACHED_SUCCESS
);
413 for (ptr
= list
; *ptr
; ptr
++)
414 printf("Found key %s\n", *ptr
);
417 memcached_deinit(memc
);
427 memcached_stat_st
*stat
;
429 memc
= memcached_init(NULL
);
431 rc
= memcached_server_add(memc
, "localhost", 0);
432 assert(rc
== MEMCACHED_SUCCESS
);
434 stat
= memcached_stat(memc
, NULL
, &rc
);
435 assert(rc
== MEMCACHED_SUCCESS
);
437 assert(rc
== MEMCACHED_SUCCESS
);
440 for (x
= 0; x
< memcached_server_count(memc
); x
++)
442 list
= memcached_stat_get_keys(memc
, &stat
[x
], &rc
);
443 assert(rc
== MEMCACHED_SUCCESS
);
444 for (ptr
= list
; *ptr
; ptr
++)
445 printf("Found key %s\n", *ptr
);
451 memcached_deinit(memc
);
454 void get_stats_multiple(void)
461 memcached_stat_st
*stat
;
463 memc
= memcached_init(NULL
);
465 rc
= memcached_server_add(memc
, "localhost", 0);
466 assert(rc
== MEMCACHED_SUCCESS
);
467 rc
= memcached_server_add(memc
, "localhost", 5555);
468 assert(rc
== MEMCACHED_SUCCESS
);
470 stat
= memcached_stat(memc
, NULL
, &rc
);
471 assert(rc
== MEMCACHED_SUCCESS
);
473 assert(rc
== MEMCACHED_SUCCESS
);
476 for (x
= 0; x
< memcached_server_count(memc
); x
++)
478 list
= memcached_stat_get_keys(memc
, &stat
[x
], &rc
);
479 assert(rc
== MEMCACHED_SUCCESS
);
480 for (ptr
= list
; *ptr
; ptr
++)
481 printf("Found key %s\n", *ptr
);
487 memcached_deinit(memc
);
491 int main(int argc
, char argvp
[])
493 /* Clean the server before beginning testing */
508 stats_servername_test();
516 /* The multiple tests */
519 get_stats_multiple();
523 /* Clean up whatever we might have left */