Update for scanner.
[awesomized/libmemcached] / libtest / cmdline.h
index ca7098dd722343823e223cb932f6dbdead0615c5..6bf71b644c6c842215892823e0030f3903868b71 100644 (file)
 
 #pragma once
 
-#ifdef HAVE_SPAWN_H
-# include <spawn.h>
-#endif
+#include <spawn.h>
 
-/*
-  http://www.gnu.org/software/automake/manual/automake.html#Tests
-  When no test protocol is in use, an exit status of 0 from a test script will denote a success, an exit status of 77 a skipped test, an exit status of 99 an hard error, and any other exit status will denote a failure.
-*/
+// http://www.gnu.org/software/automake/manual/automake.html#Using-the-TAP-test-protocol
+#ifndef EXIT_SKIP
+# define EXIT_SKIP 77
+#endif
 
-#define EXIT_SKIP 77
-#define EXIT_FATAL 99
+#ifndef EXIT_FATAL
+# define EXIT_FATAL 99
+#endif
 
 #ifndef EX_NOEXEC
 # define EX_NOEXEC 126
@@ -151,6 +150,11 @@ public:
     return _stdout_buffer.size();
   }
 
+  const char* stdout_c_str() const
+  {
+    return &_stdout_buffer[0];
+  }
+
   libtest::vchar_t stderr_result() const
   {
     return _stderr_buffer;
@@ -168,7 +172,7 @@ public:
 
   std::string print();
 
-  void use_valgrind(bool arg= true)
+  void use_valgrind(bool arg)
   {
     _use_valgrind= arg;
   }
@@ -178,12 +182,12 @@ public:
   bool slurp();
   void murder();
 
-  void use_gdb(bool arg= true)
+  void use_gdb(bool arg)
   {
     _use_gdb= arg;
   }
 
-  void use_ptrcheck(bool arg= true)
+  void use_ptrcheck(bool arg)
   {
     _use_ptrcheck= arg;
   }
@@ -208,6 +212,7 @@ public:
 private:
   void create_argv(const char *args[]);
   void delete_argv();
+  void add_to_build_argv(const char*);
 
 private:
   const bool _use_libtool;