X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Ftests%2Fmemcached%2Foptions.cpp;fp=test%2Ftests%2Fmemcached%2Foptions.cpp;h=06eb34fad59d6e8919bd6cc4adec73cfa0f5cea2;hb=36c2351bfeb343f4d6da922cdee58f4bcdcd7e08;hp=0000000000000000000000000000000000000000;hpb=a50984cac2e98548fa9188ec81f663b56732ac94;p=awesomized%2Flibmemcached diff --git a/test/tests/memcached/options.cpp b/test/tests/memcached/options.cpp new file mode 100644 index 00000000..06eb34fa --- /dev/null +++ b/test/tests/memcached/options.cpp @@ -0,0 +1,28 @@ +#include "test/lib/common.hpp" +#include "test/lib/MemcachedCluster.hpp" + +#include "libmemcached/options.hpp" +#include "libmemcached/common.h" +#include "libmemcached/array.h" + + +#include + +#define FIXTURES_OPTIONS_CONFIG "/../../fixtures/options.config" + +TEST_CASE("memcached_options") { + MemcachedPtr memc; + LoneReturnMatcher test{*memc}; + + char cpp_file[] = __FILE__, buf[1024], *dir = dirname(cpp_file); + auto file = string(dir) + FIXTURES_OPTIONS_CONFIG; + auto config = "--CONFIGURE-FILE=\"" + file + "\""; + + REQUIRE_RC(MEMCACHED_INVALID_ARGUMENTS, memcached_parse_configure_file(**memc, nullptr, 123)); + REQUIRE_RC(MEMCACHED_INVALID_ARGUMENTS, memcached_parse_configure_file(**memc, file.c_str(), 0)); + REQUIRE_RC(MEMCACHED_ERRNO, memcached_parse_configure_file(**memc, S("foobar.baz"))); + REQUIRE_SUCCESS(memcached_parse_configure_file(**memc, file.c_str(), file.length())); + + REQUIRE_SUCCESS(libmemcached_check_configuration(config.c_str(), config.length(), buf, sizeof(buf) - 1)); + REQUIRE_RC(MEMCACHED_PARSE_ERROR, libmemcached_check_configuration(S("foo bar"), nullptr, 0)); +}