Browse Source

Fix for testing with memcached

Brian Aker 13 years ago
parent
commit
6bf4ff937a
8 changed files with 93 additions and 33 deletions
  1. 4 2
      tests/httpd.am
  2. 29 9
      tests/include.am
  3. 10 5
      tests/libmemcached.am
  4. 21 4
      tests/memcached_test.cc
  5. 7 3
      tests/postgres.am
  6. 9 5
      tests/redis.am
  7. 4 2
      tests/sqlite.am
  8. 9 3
      tests/tokyocabinet.am

+ 4 - 2
tests/httpd.am

@@ -11,8 +11,10 @@
 #
 
 tests_httpd_test_SOURCES= tests/httpd_test.cc
-tests_httpd_test_DEPENDENCIES= $(CLIENT_LDADD)
-tests_httpd_test_LDADD= $(tests_httpd_test_DEPENDENCIES)
+tests_httpd_test_DEPENDENCIES=
+tests_httpd_test_DEPENDENCIES+= $(CLIENT_LDADD)
+tests_httpd_test_DEPENDENCIES+= gearmand/gearmand
+tests_httpd_test_LDADD= $(CLIENT_LDADD)
 check_PROGRAMS+= tests/httpd_test
 noinst_PROGRAMS+= tests/httpd_test
 

+ 29 - 9
tests/include.am

@@ -45,25 +45,35 @@ CLIENT_LDADD= \
 	      tests/libstartworker.la
 
 tests_cycle_SOURCES= tests/cycle.cc
-tests_cycle_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_cycle_DEPENDENCIES=
+tests_cycle_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_cycle_DEPENDENCIES+= gearmand/gearmand
 tests_cycle_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+=tests/cycle
 noinst_PROGRAMS+=tests/cycle
 
 tests_blobslap_client_SOURCES= tests/blobslap_client.cc
-tests_blobslap_client_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_blobslap_client_DEPENDENCIES=
+tests_blobslap_client_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_blobslap_client_DEPENDENCIES+= gearmand/gearmand
 tests_blobslap_client_LDADD= ${CLIENT_LDADD}
 noinst_PROGRAMS+= tests/blobslap_client
 
 tests_cli_SOURCES= tests/cli.cc
 tests_cli_SOURCES+= tests/libgearman-1.0/workers.cc
-tests_cli_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand bin/gearman bin/gearadmin
+tests_cli_DEPENDENCIES=
+tests_cli_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_cli_DEPENDENCIES+= gearmand/gearmand
+tests_cli_DEPENDENCIES+= bin/gearman
+tests_cli_DEPENDENCIES+= bin/gearadmin
 tests_cli_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+= tests/cli
 noinst_PROGRAMS+= tests/cli
 
 tests_gearmand_SOURCES= tests/gearmand.cc
-tests_gearmand_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_gearmand_DEPENDENCIES=
+tests_gearmand_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_gearmand_DEPENDENCIES+= gearmand/gearmand
 tests_gearmand_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+= tests/gearmand
 noinst_PROGRAMS+= tests/gearmand
@@ -71,7 +81,10 @@ noinst_PROGRAMS+= tests/gearmand
 include tests/libgearman-1.0/include.am
 
 tests_round_robin_test_SOURCES= tests/round_robin.cc
-tests_round_robin_test_DEPENDENCIES= ${CLIENT_LDADD} libgearman/libgearmancore.la gearmand/gearmand
+tests_round_robin_test_DEPENDENCIES=
+tests_round_robin_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_round_robin_test_DEPENDENCIES+= libgearman/libgearmancore.la
+tests_round_robin_test_DEPENDENCIES+= gearmand/gearmand
 tests_round_robin_test_LDADD= ${CLIENT_LDADD} libgearman/libgearmancore.la
 check_PROGRAMS+= tests/round_robin_test
 noinst_PROGRAMS+= tests/round_robin_test
@@ -92,7 +105,8 @@ endif
 
 tests_hostileworker_test_SOURCES+= tests/stress_worker.cc
 tests_hostileworker_test_SOURCES+= tests/libgearman-1.0/workers.cc
-tests_hostileworker_test_DEPENDENCIES+= ${CLIENT_LDADD} gearmand/gearmand
+tests_hostileworker_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_hostileworker_test_DEPENDENCIES+= gearmand/gearmand
 tests_hostileworker_test_LDADD+= ${CLIENT_LDADD}
 check_PROGRAMS+=tests/hostileworker_test
 noinst_PROGRAMS+=tests/hostileworker_test
@@ -105,20 +119,26 @@ gdb-hostile: tests/hostileworker_test gearmand/gearmand
 
 # Test linking with C++ application
 tests_cpp_test_SOURCES= tests/cpp_test.cc
-tests_cpp_test_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_cpp_test_DEPENDENCIES=
+tests_cpp_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_cpp_test_DEPENDENCIES+= gearmand/gearmand
 tests_cpp_test_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+=tests/cpp_test
 noinst_PROGRAMS+=tests/cpp_test
 
 # Test linking with C application
 tests_c_test_SOURCES= tests/c_test.c
-tests_c_test_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_c_test_DEPENDENCIES=
+tests_c_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_c_test_DEPENDENCIES+= gearmand/gearmand
 tests_c_test_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+=tests/c_test
 noinst_PROGRAMS+=tests/c_test
 
 tests_burnin_test_SOURCES= tests/burnin.cc
-tests_burnin_test_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
+tests_burnin_test_DEPENDENCIES=
+tests_burnin_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_burnin_test_DEPENDENCIES+= gearmand/gearmand
 tests_burnin_test_LDADD= ${CLIENT_LDADD}
 check_PROGRAMS+=tests/burnin_test
 noinst_PROGRAMS+=tests/burnin_test

+ 10 - 5
tests/libmemcached.am

@@ -10,11 +10,16 @@
 # All paths should be given relative to the root
 #
 
-tests_memcached_test_SOURCES= \
-			      tests/basic.cc \
-			      tests/memcached_test.cc
-tests_memcached_test_DEPENDENCIES= $(CLIENT_LDADD)
-tests_memcached_test_LDADD= $(tests_memcached_test_DEPENDENCIES)
+tests_memcached_test_SOURCES=
+tests_memcached_test_DEPENDENCIES=
+tests_memcached_test_LDADD=
+
+tests_memcached_test_SOURCES+= tests/basic.cc
+tests_memcached_test_SOURCES+= tests/memcached_test.cc
+tests_memcached_test_DEPENDENCIES+= $(CLIENT_LDADD)
+tests_memcached_test_DEPENDENCIES+= gearmand/gearmand
+tests_memcached_test_LDADD+= $(CLIENT_LDADD)
+
 check_PROGRAMS+= tests/memcached_test
 noinst_PROGRAMS+= tests/memcached_test
 

+ 21 - 4
tests/memcached_test.cc

@@ -26,11 +26,21 @@ using namespace libtest;
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #endif
 
+static in_port_t memcached_port= 0;
+
 static test_return_t gearmand_basic_option_test(void *)
 {
-  const char *args[]= { "--check-args",
+  test_true(memcached_port);
+  char memcached_server_string[1024];
+  int length= snprintf(memcached_server_string, 
+                       sizeof(memcached_server_string),
+                       "--libmemcached-servers=localhost:%d",
+                       int(memcached_port));
+  test_true(length > 0);
+  const char *args[]= {
+    "--check-args",
     "--queue-type=libmemcached",
-    "--libmemcached-servers=localhost:12555", 
+    memcached_server_string,
     0 };
 
   test_compare(EXIT_SUCCESS, exec_cmdline(gearmand_binary(), args, true));
@@ -40,8 +50,14 @@ static test_return_t gearmand_basic_option_test(void *)
 
 static test_return_t collection_init(void *object)
 {
+  char memcached_server_string[1024];
+  int length= snprintf(memcached_server_string, 
+                       sizeof(memcached_server_string),
+                       "--libmemcached-servers=localhost:%d",
+                       int(memcached_port));
+  test_true(length > 0);
   const char *argv[]= {
-    "--libmemcached-servers=localhost:12555", 
+    memcached_server_string,
     "--queue-type=libmemcached",
     0 };
 
@@ -70,7 +86,8 @@ static void *world_create(server_startup_st& servers, test_return_t& error)
     return NULL;
   }
 
-  if (server_startup(servers, "memcached", default_port(), 0, NULL) == false)
+  memcached_port= libtest::get_free_port();
+  if (server_startup(servers, "memcached", memcached_port, 0, NULL) == false)
   {
     error= TEST_FAILURE;
     return NULL;

+ 7 - 3
tests/postgres.am

@@ -20,12 +20,16 @@ valgrind-postgres: tests/postgres_test gearmand/gearmand
 	@$(VALGRIND_COMMAND) tests/postgres_test
 
 tests_postgres_test_SOURCES=
+tests_postgres_test_CXXFLAGS=
+tests_postgres_test_DEPENDENCIES=
+tests_postgres_test_LDADD=
+
 tests_postgres_test_SOURCES+= tests/basic.cc
 tests_postgres_test_SOURCES+= tests/postgres_test.cc
 
-tests_postgres_test_CXXFLAGS=
-tests_postgres_test_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
-tests_postgres_test_LDADD= ${CLIENT_LDADD}
+tests_postgres_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_postgres_test_DEPENDENCIES+= gearmand/gearmand
+tests_postgres_test_LDADD+= ${CLIENT_LDADD}
 
 check_PROGRAMS += tests/postgres_test
 noinst_PROGRAMS += tests/postgres_test

+ 9 - 5
tests/redis.am

@@ -16,12 +16,16 @@ test-redis: tests/redis_test
 gdb-redis: tests/redis_test
 	@$(GDB_COMMAND) tests/redis_test
 
-tests_redis_test_SOURCES= \
-			    tests/basic.cc \
-			    tests/redis.cc
 tests_redis_test_CXXFLAGS=
-tests_redis_test_DEPENDENCIES= ${CLIENT_LDADD} gearmand/gearmand
-tests_redis_test_LDADD= ${CLIENT_LDADD}
+tests_redis_test_SOURCES=
+tests_redis_test_DEPENDENCIES=
+tests_redis_test_LDADD=
+
+tests_redis_test_DEPENDENCIES+= ${CLIENT_LDADD}
+tests_redis_test_DEPENDENCIES+= gearmand/gearmand
+tests_redis_test_LDADD+= ${CLIENT_LDADD}
+tests_redis_test_SOURCES+= tests/basic.cc
+tests_redis_test_SOURCES+= tests/redis.cc
 
 #check_PROGRAMS += tests/redis_test
 noinst_PROGRAMS += tests/redis_test

+ 4 - 2
tests/sqlite.am

@@ -15,8 +15,10 @@ CLEANFILES+= tests/gearman.sql tests/gearman.sql-journal tests/gearmand.log*
 tests_sqlite_test_SOURCES= \
 			   tests/basic.cc \
 			   tests/sqlite_test.cc
-tests_sqlite_test_DEPENDENCIES= $(CLIENT_LDADD)
-tests_sqlite_test_LDADD= $(tests_sqlite_test_DEPENDENCIES)
+tests_sqlite_test_DEPENDENCIES=
+tests_sqlite_test_DEPENDENCIES+= $(CLIENT_LDADD)
+tests_sqlite_test_DEPENDENCIES+= gearmand/gearmand
+tests_sqlite_test_LDADD= $(CLIENT_LDADD)
 check_PROGRAMS+= tests/sqlite_test
 noinst_PROGRAMS+= tests/sqlite_test
 

+ 9 - 3
tests/tokyocabinet.am

@@ -10,9 +10,15 @@
 # All paths should be given relative to the root
 #
 
-tests_tokyocabinet_test_DEPENDENCIES= $(CLIENT_LDADD)
-tests_tokyocabinet_test_LDADD= $(tests_tokyocabinet_test_DEPENDENCIES)
-tests_tokyocabinet_test_SOURCES= tests/tokyocabinet_test.cc tests/basic.cc
+tests_tokyocabinet_test_SOURCES=
+tests_tokyocabinet_test_DEPENDENCIES=
+tests_tokyocabinet_test_LDADD=
+
+tests_tokyocabinet_test_DEPENDENCIES+= $(CLIENT_LDADD)
+tests_tokyocabinet_test_DEPENDENCIES+= gearmand/gearmand
+tests_tokyocabinet_test_LDADD+= $(CLIENT_LDADD)
+tests_tokyocabinet_test_SOURCES+= tests/tokyocabinet_test.cc
+tests_tokyocabinet_test_SOURCES+= tests/basic.cc
 check_PROGRAMS+= tests/tokyocabinet_test
 noinst_PROGRAMS+= tests/tokyocabinet_test