+
+ SECTION("incremend/decrement") {
+ uint64_t newval = 0;
+ REQUIRE_SUCCESS(memcached_set(memc, S("udp-incr"), S("1"), 0, 0));
+ memcached_quit(memc);
+ this_thread::sleep_for(1s);
+ REQUIRE_SUCCESS(memcached_increment(memc, S("udp-incr"), 1, &newval));
+ memcached_quit(memc);
+ this_thread::sleep_for(1s);
+ REQUIRE(newval == UINT64_MAX);
+ memcached_return_t rc;
+ Malloced val(memcached_get(*check, S("udp-incr"), nullptr, nullptr, &rc));
+ REQUIRE_SUCCESS(rc);
+ REQUIRE(*val);
+ CHECK(string(*val) == "2");
+ REQUIRE_SUCCESS(memcached_decrement(memc, S("udp-incr"), 1, &newval));
+ memcached_quit(memc);
+ this_thread::sleep_for(1s);
+ REQUIRE(newval == UINT64_MAX);
+ val = memcached_get(*check, S("udp-incr"), nullptr, nullptr, &rc);
+ REQUIRE_SUCCESS(rc);
+ REQUIRE(*val);
+ CHECK(string(*val) == "1");
+ }