1 #include "test/lib/common.hpp"
2 #include "test/lib/Shell.hpp"
3 #include "test/lib/MemcachedCluster.hpp"
4 #include "test/fixtures/callbacks.hpp"
6 TEST_CASE("memcached_regression_lp1630615") {
7 #if !LIBMEMCACHED_WITH_SASL_SUPPORT
8 WARN("ENABLE_SASL=OFF");
11 string mc
{MEMCACHED_BINARY
}, err
;
13 if (!sh
.run(mc
+ " -S --version", err
)) {
14 WARN(mc
<< ": " << err
);
16 memcached_return_t rc
;
17 auto test
= MemcachedCluster::sasl();
18 auto memc
= &test
.memc
;
19 MemcachedPtr copy
{memcached_clone(nullptr, memc
)};
21 REQUIRE(memcached_server_by_key(memc
, S(__func__
), &rc
)->fd
== INVALID_SOCKET
);
22 REQUIRE_SUCCESS(memcached_set(memc
, S(__func__
), S(__func__
), 0, 0));
23 REQUIRE(memcached_server_by_key(memc
, S(__func__
), &rc
)->fd
!= INVALID_SOCKET
);
25 REQUIRE(memcached_server_by_key(*copy
, S(__func__
), &rc
)->fd
== INVALID_SOCKET
);
26 Malloced val
{memcached_get(*copy
, S(__func__
), nullptr, nullptr, &rc
)};
27 REQUIRE(memcached_server_by_key(*copy
, S(__func__
), &rc
)->fd
!= INVALID_SOCKET
);
31 REQUIRE(string(__func__
) == string(*val
));