Fix error messages/unlimited CPU utilization.
[m6w6/libmemcached] / tests / libmemcached-1.0 / all_tests.cc
index e5a6d2bf279477f821f6ab3ad9e1104c0b4da6a3..bfa64c24aff64d5957df34b49e488ab16b35a808 100644 (file)
@@ -69,6 +69,8 @@
 
 #include "tests/libmemcached_world.h"
 
+#include <algorithm>
+
 void get_world(Framework *world)
 {
   if (getenv("LIBMEMCACHED_SERVER_NUMBER"))
@@ -79,13 +81,15 @@ void get_world(Framework *world)
   }
   else
   {
-    world->servers().set_servers_to_run(8);
+    // Assume a minimum of 3, and a maximum of 8
+    world->servers().set_servers_to_run(libtest::number_of_cpus() > 3 ? 
+                                        std::min(libtest::number_of_cpus(), size_t(8)) : 3);
   }
 
-  world->collections= collection;
+  world->collections(collection);
 
-  world->_create= (test_callback_create_fn*)world_create;
-  world->_destroy= (test_callback_destroy_fn*)world_destroy;
+  world->create((test_callback_create_fn*)world_create);
+  world->destroy((test_callback_destroy_fn*)world_destroy);
 
   world->set_runner(new LibmemcachedRunner);