tests: enable sasl
[awesomized/libmemcached] / tests / libmemcached_world.h
index e6f782f76227dd4721d2cd8c07745bf2b1f19371..a536093e7df7900408a0c06fae1e580454a7b39b 100644 (file)
 
 #include "tests/libmemcached_test_container.h"
 
+static char *sasl_pwdb = const_cast<char *>(LIBMEMCACHED_WITH_SASL_PWDB);
+static char *sasl_conf = const_cast<char *>(LIBMEMCACHED_WITH_SASL_CONF);
+
 static void *world_create(libtest::server_startup_st& servers, test_return_t& error)
 {
-  if (libtest::has_memcached() == false)
-  {
-    error= TEST_SKIPPED;
-    return NULL;
-  }
+  SKIP_UNLESS(libtest::has_libmemcached());
 
-  if ((servers.sasl()) and ((LIBMEMCACHED_WITH_SASL_SUPPORT == 0) or (MEMCACHED_SASL_BINARY == 0)))
+  if (servers.sasl())
   {
-    error= TEST_SKIPPED;
-    return NULL;
-  }
+    SKIP_UNLESS(libtest::has_libmemcached_sasl());
 
-  // Assume we are running under valgrind, and bail
-  if (servers.sasl() and getenv("TESTS_ENVIRONMENT"))
-  {
-    error= TEST_SKIPPED;
-    return NULL;
+    // Assume we are running under valgrind, and bail
+    if (getenv("LOG_COMPILER"))
+    {
+      error= TEST_SKIPPED;
+      return NULL;
+    }
+
+    // provide conf and pwdb to memcached binary
+    putenv(sasl_pwdb);
+    putenv(sasl_conf);
   }
 
   for (uint32_t x= 0; x < servers.servers_to_run(); x++)
@@ -68,23 +70,17 @@ static void *world_create(libtest::server_startup_st& servers, test_return_t& er
 
     if (servers.sasl())
     {
-      if (server_startup(servers, "memcached-sasl", port, 0, NULL) == false)
+      if (server_startup(servers, "memcached-sasl", port, NULL) == false)
       {
         error= TEST_SKIPPED;
-#if 0
-        fatal_message("Could not start memcached-sasl");
-#endif
         return NULL;
       }
     }
     else
     {
-      if (server_startup(servers, "memcached", port, 0, NULL) == false)
+      if (server_startup(servers, "memcached", port, NULL) == false)
       {
         error= TEST_SKIPPED;
-#if 0
-        fatal_message("Could not start memcached");
-#endif
         return NULL;
       }
     }
@@ -98,11 +94,13 @@ static void *world_create(libtest::server_startup_st& servers, test_return_t& er
 static bool world_destroy(void *object)
 {
   libmemcached_test_container_st *container= (libmemcached_test_container_st *)object;
+#if 0
 #if defined(LIBMEMCACHED_WITH_SASL_SUPPORT) && LIBMEMCACHED_WITH_SASL_SUPPORT
   if (LIBMEMCACHED_WITH_SASL_SUPPORT)
   {
     sasl_done();
   }
+#endif
 #endif
 
   delete container;