#include "test/conf.h"
#include "test/lib/catch.hpp"
+#include "test/lib/env.hpp"
#include "test/lib/random.hpp"
#include "libmemcached/memcached.h"
/**
* Useful macros for testing
*/
-#define S(s) (s), strlen(s)
-#define DECLARE_STREQUAL static auto strequal = equal_to<string>();
+#define S(s) (s), strlen(s)
#define LOOPED_SECTION(tests) \
for (auto &[name, test] : tests) DYNAMIC_SECTION("test " << name)
#define REQUIRE_SUCCESS(rc) \
REQUIRE_THAT(call, test.returns(rc)); \
} while (0)
-const char *getenv_else(const char *var, const char *defval);
-
inline memcached_return_t fetch_all_results(memcached_st *memc, unsigned int &keys_returned,
memcached_return_t &rc) {
keys_returned = 0;
close(fd);
unlink(fn);
}
- int getFd() const { return fd; }
- const char *getFn() const { return fn; }
+ [[nodiscard]] int getFd() const { return fd; }
+ [[nodiscard]] const char *getFn() const { return fn; }
bool put(const char *buf, size_t len) const {
return static_cast<ssize_t>(len) == write(fd, buf, len);
}
public:
memcached_st *memc;
- explicit MemcachedPtr(memcached_st *memc_) { memc = memc_; }
+ explicit MemcachedPtr(memcached_st *memc_) {
+ memc = memc_;
+ }
MemcachedPtr()
: MemcachedPtr(memcached_create(nullptr)) {}
- ~MemcachedPtr() { memcached_free(memc); }
- memcached_st *operator*() const { return memc; }
- auto operator->() const { return memc; }
+ ~MemcachedPtr() {
+ memcached_free(memc);
+ }
+ memcached_st *operator*() const {
+ return memc;
+ }
+ auto operator->() const {
+ return memc;
+ }
};
template<class T>
if (ptr)
free(ptr);
}
- auto operator*() { return ptr; }
- auto operator->() { return ptr; }
+ auto operator*() const { return ptr; }
+ auto operator->() const { return ptr; }
};