1 #include "test/lib/common.hpp"
2 #include "test/lib/MemcachedCluster.hpp"
4 TEST_CASE("memcached_regression_gh-php-memcached_0531") {
5 auto test
= MemcachedCluster
{Cluster
{Server
{MEMCACHED_BINARY
, {"-p", random_socket_or_port_string("-p")}}, 1}};
6 auto memc
= &test
.memc
;
7 auto nonblock
= GENERATE(0, 1);
9 INFO("nonblock=" << nonblock
);
11 REQUIRE_SUCCESS(memcached_behavior_set(memc
, MEMCACHED_BEHAVIOR_NO_BLOCK
, nonblock
));
13 REQUIRE_SUCCESS(memcached_set(memc
, S("first"), S("first"), 0, 0));
14 REQUIRE_SUCCESS(memcached_set(memc
, S("second"), S("second"), 0, 0));
16 REQUIRE_SUCCESS(memcached_behavior_set(memc
, MEMCACHED_BEHAVIOR_POLL_TIMEOUT
, 0));
18 memcached_return_t rc
;
20 Malloced
value1(memcached_get(memc
, S("first"), &len
, nullptr, &rc
));
21 REQUIRE_RC(MEMCACHED_TIMEOUT
, rc
);
22 REQUIRE_FALSE(*value1
);
24 REQUIRE_SUCCESS(memcached_behavior_set(memc
, MEMCACHED_BEHAVIOR_POLL_TIMEOUT
, 100));
26 Malloced
value2(memcached_get(memc
, S("second"), &len
, nullptr, &rc
));
28 REQUIRE(string(*value2
) == string("second"));