5 #include <memcached.hh>
10 #include <sys/types.h>
18 extern "C" test_return
basic_test(memcached_st
*memc
)
21 const char *value_set
= "This is some data";
25 foo
.set("mine", value_set
, strlen(value_set
));
26 value
= foo
.get("mine", &value_length
);
28 assert((memcmp(value
, value_set
, value_length
) == 0));
33 extern "C" uint8_t increment_test(memcached_st
*memc
)
35 Memcached
mcach(memc
);
37 const char *key
= "inctest";
38 const char *inc_value
= "1";
40 uint64_t int_inc_value
;
41 uint64_t int_ret_value
;
44 mcach
.set(key
, inc_value
, strlen(inc_value
));
45 ret_value
= mcach
.get(key
, &value_length
);
46 printf("\nretvalue %s\n",ret_value
);
47 int_inc_value
= atoi(inc_value
);
48 int_ret_value
= atoi(ret_value
);
49 assert(int_ret_value
== int_inc_value
);
51 rc
= mcach
.increment(key
, 1, &int_ret_value
);
52 assert(rc
== MEMCACHED_SUCCESS
);
53 assert(int_ret_value
== 2);
55 rc
= mcach
.increment(key
, 1, &int_ret_value
);
56 assert(rc
== MEMCACHED_SUCCESS
);
57 assert(int_ret_value
== 3);
59 rc
= mcach
.increment(key
, 5, &int_ret_value
);
60 assert(rc
== MEMCACHED_SUCCESS
);
61 assert(int_ret_value
== 8);
66 extern "C" test_return
basic_master_key_test(memcached_st
*memc
)
69 const char *value_set
= "Data for server A";
70 const char *master_key_a
= "server-a";
71 const char *master_key_b
= "server-b";
72 const char *key
= "xyz";
76 foo
.set_by_key(master_key_a
, key
, value_set
, strlen(value_set
));
77 value
= foo
.get_by_key(master_key_a
, key
, &value_length
);
79 assert((memcmp(value
, value_set
, value_length
) == 0));
81 value
= foo
.get_by_key(master_key_b
, key
, &value_length
);
82 assert((memcmp(value
, value_set
, value_length
) == 0));
89 {"basic", 0, basic_test
},
90 {"basic_master_key", 0, basic_master_key_test
},
94 collection_st collection
[] ={
95 {"block", 0, 0, tests
},
99 #define SERVERS_TO_CREATE 1
101 extern "C" void *world_create(void)
103 server_startup_st
*construct
;
105 construct
= (server_startup_st
*)malloc(sizeof(server_startup_st
));
106 memset(construct
, 0, sizeof(server_startup_st
));
108 construct
->count
= SERVERS_TO_CREATE
;
109 server_startup(construct
);
114 extern "C" void world_destroy(void *p
)
116 server_startup_st
*construct
= (server_startup_st
*)p
;
117 memcached_server_st
*servers
= (memcached_server_st
*)construct
->servers
;
118 memcached_server_list_free(servers
);
120 server_shutdown(construct
);
124 void get_world(world_st
*world
)
126 world
->collections
= collection
;
127 world
->create
= world_create
;
128 world
->destroy
= world_destroy
;