Browse Source

Fix test case, alter time output.

Brian Aker 13 years ago
parent
commit
38038b74e2
3 changed files with 59 additions and 46 deletions
  1. 39 39
      libtest/include.am
  2. 2 2
      libtest/timer.cc
  3. 18 5
      tests/httpd_test.cc

+ 39 - 39
libtest/include.am

@@ -43,45 +43,45 @@ distclean-libtest-check:
 	-rm -rf tmp_chroot
 
 noinst_HEADERS+= libtest/timer.hpp
-noinst_HEADERS+=libtest/binaries.h 
-noinst_HEADERS+=libtest/cpu.hpp 
-noinst_HEADERS+=libtest/blobslap_worker.h 
-noinst_HEADERS+=libtest/callbacks.h 
-noinst_HEADERS+=libtest/cmdline.h 
-noinst_HEADERS+=libtest/collection.h 
-noinst_HEADERS+=libtest/common.h 
-noinst_HEADERS+=libtest/comparison.hpp 
-noinst_HEADERS+=libtest/core.h 
-noinst_HEADERS+=libtest/dream.h 
-noinst_HEADERS+=libtest/error.h 
-noinst_HEADERS+=libtest/failed.h 
-noinst_HEADERS+=libtest/fatal.hpp 
-noinst_HEADERS+=libtest/framework.h 
-noinst_HEADERS+=libtest/gearmand.h 
-noinst_HEADERS+=libtest/drizzled.h 
-noinst_HEADERS+=libtest/get.h 
-noinst_HEADERS+=libtest/has.hpp 
-noinst_HEADERS+=libtest/http.hpp 
-noinst_HEADERS+=libtest/is_pid.hpp 
-noinst_HEADERS+=libtest/is_local.hpp 
-noinst_HEADERS+=libtest/killpid.h 
-noinst_HEADERS+=libtest/libtool.hpp 
-noinst_HEADERS+=libtest/memcached.h 
-noinst_HEADERS+=libtest/port.h 
-noinst_HEADERS+=libtest/runner.h 
-noinst_HEADERS+=libtest/server.h 
-noinst_HEADERS+=libtest/server_container.h 
-noinst_HEADERS+=libtest/signal.h 
-noinst_HEADERS+=libtest/socket.hpp 
-noinst_HEADERS+=libtest/stream.h 
-noinst_HEADERS+=libtest/strerror.h 
-noinst_HEADERS+=libtest/string.hpp 
-noinst_HEADERS+=libtest/test.h 
-noinst_HEADERS+=libtest/test.hpp 
-noinst_HEADERS+=libtest/tmpfile.hpp 
-noinst_HEADERS+=libtest/vchar.hpp 
-noinst_HEADERS+=libtest/visibility.h 
-noinst_HEADERS+=libtest/wait.h
+noinst_HEADERS+= libtest/binaries.h 
+noinst_HEADERS+= libtest/cpu.hpp 
+noinst_HEADERS+= libtest/blobslap_worker.h 
+noinst_HEADERS+= libtest/callbacks.h 
+noinst_HEADERS+= libtest/cmdline.h 
+noinst_HEADERS+= libtest/collection.h 
+noinst_HEADERS+= libtest/common.h 
+noinst_HEADERS+= libtest/comparison.hpp 
+noinst_HEADERS+= libtest/core.h 
+noinst_HEADERS+= libtest/dream.h 
+noinst_HEADERS+= libtest/error.h 
+noinst_HEADERS+= libtest/failed.h 
+noinst_HEADERS+= libtest/fatal.hpp 
+noinst_HEADERS+= libtest/framework.h 
+noinst_HEADERS+= libtest/gearmand.h 
+noinst_HEADERS+= libtest/drizzled.h 
+noinst_HEADERS+= libtest/get.h 
+noinst_HEADERS+= libtest/has.hpp 
+noinst_HEADERS+= libtest/http.hpp 
+noinst_HEADERS+= libtest/is_pid.hpp 
+noinst_HEADERS+= libtest/is_local.hpp 
+noinst_HEADERS+= libtest/killpid.h 
+noinst_HEADERS+= libtest/libtool.hpp 
+noinst_HEADERS+= libtest/memcached.h 
+noinst_HEADERS+= libtest/port.h 
+noinst_HEADERS+= libtest/runner.h 
+noinst_HEADERS+= libtest/server.h 
+noinst_HEADERS+= libtest/server_container.h 
+noinst_HEADERS+= libtest/signal.h 
+noinst_HEADERS+= libtest/socket.hpp 
+noinst_HEADERS+= libtest/stream.h 
+noinst_HEADERS+= libtest/strerror.h 
+noinst_HEADERS+= libtest/string.hpp 
+noinst_HEADERS+= libtest/test.h 
+noinst_HEADERS+= libtest/test.hpp 
+noinst_HEADERS+= libtest/tmpfile.hpp 
+noinst_HEADERS+= libtest/vchar.hpp 
+noinst_HEADERS+= libtest/visibility.h 
+noinst_HEADERS+= libtest/wait.h
 
 noinst_LTLIBRARIES+= libtest/libtest.la
 

+ 2 - 2
libtest/timer.cc

@@ -45,9 +45,9 @@ std::ostream& operator<<(std::ostream& output, const libtest::Timer& arg)
   struct timespec temp;
   arg.difference(temp);
 
-  output << temp.tv_sec;
+  output << temp.tv_sec/60 << "." << temp.tv_sec%60;
   output << ":";
-  output << temp.tv_nsec;
+  output << temp.tv_nsec/1000;
 
   return output;
 }

+ 18 - 5
tests/httpd_test.cc

@@ -41,16 +41,18 @@
 
 using namespace libtest;
 
+#include <libgearman/gearman.h>
+#include "tests/start_worker.h"
+#include "tests/workers.h"
+
 #include <cassert>
 #include <cstdio>
 #include <cstdlib>
 #include <cstring>
+#include <sys/stat.h>
+#include <sys/types.h>
 #include <unistd.h>
 
-#include <libgearman/gearman.h>
-#include "tests/start_worker.h"
-#include "tests/workers.h"
-
 #include <tests/basic.h>
 #include <tests/context.h>
 
@@ -90,16 +92,27 @@ static test_return_t curl_function_no_body_TEST(void *)
 
 static test_return_t curl_function_TEST(void *)
 {
+  // Cleanup previous run
+  unlink("var/tmp/curl_function_TEST.out");
+
   Application curl("/usr/bin/curl");
   char worker_url[1024];
   snprintf(worker_url, sizeof(worker_url), "%s%s", host_url, WORKER_FUNCTION_NAME);
   curl.add_option("--header", "\"X-Gearman-Unique: curl_function_TEST\"");
   curl.add_option("--data", "fubar");
+  curl.add_option("--silent");
+  curl.add_option("--show-error");
+  curl.add_option("--output", "var/tmp/curl_function_TEST.out");
   curl.add_option(worker_url);
 
   test_compare(Application::SUCCESS, curl.run());
   test_compare(Application::SUCCESS, curl.wait(false));
-  test_compare(146U, curl.stdout_result_length());
+  test_zero(curl.stdout_result_length());
+
+  struct stat stat_buffer;
+  test_zero(stat("var/tmp/curl_function_TEST.out", &stat_buffer));
+  test_compare(off_t(146), stat_buffer.st_size);
+  test_zero(unlink("var/tmp/curl_function_TEST.out"));
 
   return TEST_SUCCESS;
 }