X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FReturnMatcher.cpp;h=7a073f29120186a5147af10bfa6fdace47087912;hb=60f8b5453b71e6a6252641607ce337739794d907;hp=863945e827961549cfad4b68eca83968c269262f;hpb=7e2b466107a65e22f1cc258ca8643922dbb60352;p=awesomized%2Flibmemcached diff --git a/test/lib/ReturnMatcher.cpp b/test/lib/ReturnMatcher.cpp index 863945e8..7a073f29 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_}; } -string ReturnMatcher::describe() const { - return "is " + to_string(expected) - + "\n actual: " + memcached_last_error_message(memc); +ReturnMatcher &ReturnMatcher::operator=(memcached_st *memc_) { + memc = memc_; + return *this; } -ReturnMatcher::ReturnMatcher(ReturnMatcher &&rm) { - *this = move(rm); +string ReturnMatcher::describe() const { + return "// but '" + to_string(expected) + "' was expected\n" + + "last error: " + memcached_last_error_message(memc); } +