1 #include "test/lib/common.hpp"
2 #include "test/lib/MemcachedCluster.hpp"
3 #include "test/fixtures/callbacks.hpp"
7 TEST_CASE("memcached_regression_lp434843") {
8 MemcachedCluster test
{Cluster
{Server
{MEMCACHED_BINARY
, {"-p", random_port_string
}}, 1}};
9 auto memc
= &test
.memc
;
10 auto buffering
= GENERATE(0, 1);
12 test
.enableBinaryProto();
13 test
.enableBuffering(buffering
);
15 INFO("buffering: " << buffering
);
18 memcached_execute_fn cb
[] = {&callback_counter
};
20 array
<string
, NUM_KEYS
> str
;
21 array
<char *, NUM_KEYS
> chr
;
22 array
<size_t, NUM_KEYS
> len
;
24 for (auto i
= 0; i
< NUM_KEYS
; ++i
) {
25 str
[i
] = random_ascii_string(12) + to_string(i
);
26 chr
[i
] = str
[i
].data();
27 len
[i
] = str
[i
].length();
30 REQUIRE_SUCCESS(memcached_mget(memc
, chr
.data(), len
.data(), NUM_KEYS
));
31 REQUIRE_RC(MEMCACHED_NOTFOUND
, memcached_fetch_execute(memc
, cb
, &counter
, 1));
32 REQUIRE(counter
== 0);
34 for (auto i
= 0; i
< NUM_KEYS
; ++i
) {
36 REQUIRE_SUCCESS(memcached_add(memc
, chr
[i
], len
[i
], data
, sizeof(data
), 0, 0));
39 REQUIRE_SUCCESS(memcached_mget(memc
, chr
.data(), len
.data(), NUM_KEYS
));
40 REQUIRE_SUCCESS( memcached_fetch_execute(memc
, cb
, &counter
, 1));
41 REQUIRE(counter
== NUM_KEYS
);