X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FReturnMatcher.cpp;h=926214e74a829a998e9106e18708af7860c92650;hb=08183e32cae3bb2a610e98fe92e0c7796e8872e7;hp=863945e827961549cfad4b68eca83968c269262f;hpb=7e2b466107a65e22f1cc258ca8643922dbb60352;p=awesomized%2Flibmemcached diff --git a/test/lib/ReturnMatcher.cpp b/test/lib/ReturnMatcher.cpp index 863945e8..926214e7 100644 --- a/test/lib/ReturnMatcher.cpp +++ b/test/lib/ReturnMatcher.cpp @@ -1,13 +1,13 @@ #include "ReturnMatcher.hpp" -ReturnMatcher &ReturnMatcher::operator=(ReturnMatcher &&rm) { - memc = exchange(rm.memc, nullptr); - expected = rm.expected; - return *this; -} - bool ReturnMatcher::match(const memcached_return_t &arg) const { - return arg == expected; + if (arg != expected) { + if (expected == MEMCACHED_SUCCESS && arg == MEMCACHED_BUFFERED && memc) { + return memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS); + } + return false; + } + return true; } ReturnMatcher ReturnMatcher::success() { @@ -18,11 +18,13 @@ ReturnMatcher ReturnMatcher::operator()(memcached_return_t expected_) { return ReturnMatcher{memc, expected_}; } +ReturnMatcher &ReturnMatcher::operator=(memcached_st *memc_) { + memc = memc_; + return *this; +} + string ReturnMatcher::describe() const { return "is " + to_string(expected) + "\n actual: " + memcached_last_error_message(memc); } -ReturnMatcher::ReturnMatcher(ReturnMatcher &&rm) { - *this = move(rm); -}