Fix error messages/unlimited CPU utilization.
[m6w6/libmemcached] / tests / libmemcached-1.0 / all_tests.cc
index 74c195d24825707b583b2b5a6f1a1352de76d665..bfa64c24aff64d5957df34b49e488ab16b35a808 100644 (file)
 #include "tests/exist.h"
 #include "tests/ketama.h"
 #include "tests/namespace.h"
-#include "tests/parser.h"
 #include "tests/libmemcached-1.0/dump.h"
 #include "tests/libmemcached-1.0/generate.h"
 #include "tests/libmemcached-1.0/haldenbrand.h"
+#include "tests/libmemcached-1.0/parser.h"
 #include "tests/libmemcached-1.0/stat.h"
 #include "tests/touch.h"
 #include "tests/callbacks.h"
@@ -69,6 +69,8 @@
 
 #include "tests/libmemcached_world.h"
 
+#include <algorithm>
+
 void get_world(Framework *world)
 {
   if (getenv("LIBMEMCACHED_SERVER_NUMBER"))
@@ -79,20 +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->_create= (test_callback_create_fn*)world_create;
-  world->_destroy= (test_callback_destroy_fn*)world_destroy;
-
-  world->item._startup= (test_callback_fn*)world_test_startup;
-  world->item.set_flush((test_callback_fn*)world_flush);
-  world->_on_error= (test_callback_error_fn*)world_on_error;
+  world->collections(collection);
 
-  world->collection_startup= (test_callback_fn*)world_container_startup;
-  world->collection_shutdown= (test_callback_fn*)world_container_shutdown;
+  world->create((test_callback_create_fn*)world_create);
+  world->destroy((test_callback_destroy_fn*)world_destroy);
 
   world->set_runner(new LibmemcachedRunner);