323d6c20de6beb19fe5cbda8f5b89e469cd858c3
4 #include "libmemcached/memcached.hh"
11 #include <sys/types.h>
24 test_return
basic_test(memcached_st
*memc
);
25 uint8_t increment_test(memcached_st
*memc
);
26 test_return
basic_master_key_test(memcached_st
*memc
);
27 void *world_create(void);
28 void world_destroy(void *p
);
31 test_return
basic_test(memcached_st
*memc
)
34 const char *value_set
= "This is some data";
38 foo
.set("mine", value_set
, strlen(value_set
));
39 value
= foo
.get("mine", &value_length
);
41 assert((memcmp(value
.c_str(), value_set
, value_length
) == 0));
46 uint8_t increment_test(memcached_st
*memc
)
48 Memcached
mcach(memc
);
50 const string
key("inctest");
51 const char *inc_value
= "1";
53 uint64_t int_inc_value
;
54 uint64_t int_ret_value
;
57 mcach
.set(key
, inc_value
, strlen(inc_value
));
58 ret_value
= mcach
.get(key
, &value_length
);
59 printf("\nretvalue %s\n",ret_value
.c_str());
60 int_inc_value
= uint64_t(atol(inc_value
));
61 int_ret_value
= uint64_t(atol(ret_value
.c_str()));
62 assert(int_ret_value
== int_inc_value
);
64 rc
= mcach
.increment(key
, 1, &int_ret_value
);
66 assert(int_ret_value
== 2);
68 rc
= mcach
.increment(key
, 1, &int_ret_value
);
70 assert(int_ret_value
== 3);
72 rc
= mcach
.increment(key
, 5, &int_ret_value
);
74 assert(int_ret_value
== 8);
79 test_return
basic_master_key_test(memcached_st
*memc
)
82 const char *value_set
= "Data for server A";
83 const string
master_key_a("server-a");
84 const string
master_key_b("server-b");
85 const string
key("xyz");
89 foo
.set_by_key(master_key_a
, key
, value_set
, strlen(value_set
));
90 value
= foo
.get_by_key(master_key_a
, key
, &value_length
);
92 assert((memcmp(value
.c_str(), value_set
, value_length
) == 0));
94 value
= foo
.get_by_key(master_key_b
, key
, &value_length
);
95 assert((memcmp(value
.c_str(), value_set
, value_length
) == 0));
102 {"basic", 0, basic_test
},
103 {"basic_master_key", 0, basic_master_key_test
},
107 collection_st collection
[] ={
108 {"block", 0, 0, tests
},
112 #define SERVERS_TO_CREATE 1
114 extern "C" void *world_create(void)
116 server_startup_st
*construct
;
118 construct
= (server_startup_st
*)malloc(sizeof(server_startup_st
));
119 memset(construct
, 0, sizeof(server_startup_st
));
121 construct
->count
= SERVERS_TO_CREATE
;
122 server_startup(construct
);
127 void world_destroy(void *p
)
129 server_startup_st
*construct
= static_cast<server_startup_st
*>(p
);
130 memcached_server_st
*servers
=
131 static_cast<memcached_server_st
*>(construct
->servers
);
132 memcached_server_list_free(servers
);
134 server_shutdown(construct
);
138 void get_world(world_st
*world
)
140 world
->collections
= collection
;
141 world
->create
= world_create
;
142 world
->destroy
= world_destroy
;