tests: enable sasl
[awesomized/libmemcached] / tests / libmemcached_world.h
index 8bc48a71755102d9747a3d3ab22d186c64ffdb7b..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,16 +70,18 @@ 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)
       {
-        fatal_message("Could not start memcached-sasl");
+        error= TEST_SKIPPED;
+        return NULL;
       }
     }
     else
     {
-      if (server_startup(servers, "memcached", port, 0, NULL) == false)
+      if (server_startup(servers, "memcached", port, NULL) == false)
       {
-        fatal_message("Could not start memcached");
+        error= TEST_SKIPPED;
+        return NULL;
       }
     }
   }
@@ -90,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;