Skip to content

Commit c4150c3

Browse files
committed
1 parent 48dcc61 commit c4150c3

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include "test/lib/common.hpp"
2+
#include "test/lib/MemcachedCluster.hpp"
3+
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);
8+
9+
INFO("nonblock=" << nonblock);
10+
11+
REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, nonblock));
12+
13+
REQUIRE_SUCCESS(memcached_set(memc, S("first"), S("first"), 0, 0));
14+
REQUIRE_SUCCESS(memcached_set(memc, S("second"), S("second"), 0, 0));
15+
16+
REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, 0));
17+
18+
memcached_return_t rc;
19+
size_t len;
20+
Malloced value1(memcached_get(memc, S("first"), &len, nullptr, &rc));
21+
REQUIRE_RC(MEMCACHED_TIMEOUT, rc);
22+
REQUIRE_FALSE(*value1);
23+
24+
REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, 100));
25+
26+
Malloced value2(memcached_get(memc, S("second"), &len, nullptr, &rc));
27+
REQUIRE_SUCCESS(rc);
28+
REQUIRE(string(*value2) == string("second"));
29+
}

0 commit comments

Comments
 (0)