abd4c8ae70c495db872f8d043b7d77ef1659cd1e
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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
, "zim.tangent.org", 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
);
219 for (x
= 0; x
< value_length
; x
++)
220 value
[x
] = (char) (x
% 127);
222 memc
= memcached_init(NULL
);
224 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
225 assert(rc
== MEMCACHED_SUCCESS
);
227 rc
= memcached_set(memc
, key
, strlen(key
),
229 (time_t)0, (uint16_t)0);
230 assert(rc
== MEMCACHED_SUCCESS
);
232 string
= memcached_get(memc
, key
, strlen(key
),
233 &string_length
, &flags
, &rc
);
235 assert(rc
== MEMCACHED_SUCCESS
);
237 assert(string_length
== value_length
);
238 assert(!memcmp(string
, value
, string_length
));
243 memcached_deinit(memc
);
246 void stats_servername_test(void)
249 memcached_stat_st stat
;
250 rc
= memcached_stat_servername(&stat
, NULL
,
252 MEMCACHED_DEFAULT_PORT
);
255 void increment_test(void)
258 unsigned int new_number
;
263 memc
= memcached_init(NULL
);
265 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
266 assert(rc
== MEMCACHED_SUCCESS
);
268 rc
= memcached_set(memc
, key
, strlen(key
),
269 value
, strlen(value
),
270 (time_t)0, (uint16_t)0);
271 assert(rc
== MEMCACHED_SUCCESS
);
273 rc
= memcached_increment(memc
, key
, strlen(key
),
275 assert(rc
== MEMCACHED_SUCCESS
);
276 assert(new_number
== 1);
278 rc
= memcached_increment(memc
, key
, strlen(key
),
280 assert(rc
== MEMCACHED_SUCCESS
);
281 assert(new_number
== 2);
283 memcached_deinit(memc
);
286 void decrement_test(void)
289 unsigned int new_number
;
294 memc
= memcached_init(NULL
);
296 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
297 assert(rc
== MEMCACHED_SUCCESS
);
299 rc
= memcached_set(memc
, key
, strlen(key
),
300 value
, strlen(value
),
301 (time_t)0, (uint16_t)0);
302 assert(rc
== MEMCACHED_SUCCESS
);
304 rc
= memcached_decrement(memc
, key
, strlen(key
),
306 assert(rc
== MEMCACHED_SUCCESS
);
307 assert(new_number
== 2);
309 rc
= memcached_decrement(memc
, key
, strlen(key
),
311 assert(rc
== MEMCACHED_SUCCESS
);
312 assert(new_number
== 1);
314 memcached_deinit(memc
);
322 char *value
= "sanford and sun";
324 memc
= memcached_init(NULL
);
326 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
327 assert(rc
== MEMCACHED_SUCCESS
);
329 rc
= memcached_set(memc
, key
, strlen(key
),
330 value
, strlen(value
),
331 (time_t)10, (uint16_t)3);
332 assert(rc
== MEMCACHED_SUCCESS
);
333 memcached_quit(memc
);
335 rc
= memcached_set(memc
, key
, strlen(key
),
336 value
, strlen(value
),
337 (time_t)50, (uint16_t)9);
338 assert(rc
== MEMCACHED_SUCCESS
);
340 memcached_deinit(memc
);
347 char *keys
[]= {"fudge", "son", "food"};
348 size_t key_length
[]= {5, 3, 4};
352 char return_key
[MEMCACHED_MAX_KEY
];
353 size_t return_key_length
;
355 size_t return_value_length
;
357 memc
= memcached_init(NULL
);
359 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
360 assert(rc
== MEMCACHED_SUCCESS
);
362 /* We need to empty the server before continueing test */
363 rc
= memcached_flush(memc
, 0);
364 assert(rc
== MEMCACHED_SUCCESS
);
366 rc
= memcached_mget(memc
, keys
, key_length
, 3);
367 assert(rc
== MEMCACHED_SUCCESS
);
369 while ((return_value
= memcached_fetch(memc
, return_key
, &return_key_length
,
370 &return_value_length
, &flags
, &rc
)) != NULL
)
372 assert(return_value
);
374 assert(!return_value
);
375 assert(return_value_length
== 0);
376 assert(rc
== MEMCACHED_NOTFOUND
);
378 for (x
= 0; x
< 3; x
++)
380 rc
= memcached_set(memc
, keys
[x
], key_length
[x
],
381 keys
[x
], key_length
[x
],
382 (time_t)50, (uint16_t)9);
383 assert(rc
== MEMCACHED_SUCCESS
);
386 rc
= memcached_mget(memc
, keys
, key_length
, 3);
387 assert(rc
== MEMCACHED_SUCCESS
);
390 while (return_value
= memcached_fetch(memc
, return_key
, &return_key_length
,
391 &return_value_length
, &flags
, &rc
))
393 assert(return_value
);
394 assert(rc
== MEMCACHED_SUCCESS
);
395 assert(key_length
[x
] == return_value_length
);
396 assert(!memcmp(return_value
, keys
[x
], return_value_length
));
401 memcached_deinit(memc
);
404 void get_stats_keys(void)
409 memcached_stat_st stat
;
412 memc
= memcached_init(NULL
);
415 list
= memcached_stat_get_keys(memc
, &stat
, &rc
);
416 assert(rc
== MEMCACHED_SUCCESS
);
417 for (ptr
= list
; *ptr
; ptr
++)
418 printf("Found key %s\n", *ptr
);
421 memcached_deinit(memc
);
431 memcached_stat_st
*stat
;
433 memc
= memcached_init(NULL
);
435 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
436 assert(rc
== MEMCACHED_SUCCESS
);
438 stat
= memcached_stat(memc
, NULL
, &rc
);
439 assert(rc
== MEMCACHED_SUCCESS
);
441 assert(rc
== MEMCACHED_SUCCESS
);
444 for (x
= 0; x
< memcached_server_count(memc
); x
++)
446 list
= memcached_stat_get_keys(memc
, &stat
[x
], &rc
);
447 assert(rc
== MEMCACHED_SUCCESS
);
448 for (ptr
= list
; *ptr
; ptr
++)
449 printf("Found key %s\n", *ptr
);
455 memcached_deinit(memc
);
458 void get_stats_multiple(void)
465 memcached_stat_st
*stat
;
467 memc
= memcached_init(NULL
);
469 rc
= memcached_server_add(memc
, "zim.tangent.org", 0);
470 assert(rc
== MEMCACHED_SUCCESS
);
471 rc
= memcached_server_add(memc
, "zim.tangent.org", 5555);
472 assert(rc
== MEMCACHED_SUCCESS
);
474 stat
= memcached_stat(memc
, NULL
, &rc
);
475 assert(rc
== MEMCACHED_SUCCESS
);
477 assert(rc
== MEMCACHED_SUCCESS
);
480 for (x
= 0; x
< memcached_server_count(memc
); x
++)
482 list
= memcached_stat_get_keys(memc
, &stat
[x
], &rc
);
483 assert(rc
== MEMCACHED_SUCCESS
);
484 for (ptr
= list
; *ptr
; ptr
++)
485 printf("Found key %s\n", *ptr
);
491 memcached_deinit(memc
);
495 int main(int argc
, char argvp
[])
497 /* Clean the server before beginning testing */
512 stats_servername_test();
520 /* The multiple tests */
523 get_stats_multiple();
527 /* Clean up whatever we might have left */