projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Update/fix for SASL
[m6w6/libmemcached]
/
libtest
/
cmdline.h
diff --git
a/libtest/cmdline.h
b/libtest/cmdline.h
index 46f7ad78a886f2997ad3e588920b9da9dd3f832b..ae4d9ba1d67751f73315277095642842d2d53ed7 100644
(file)
--- a/
libtest/cmdline.h
+++ b/
libtest/cmdline.h
@@
-42,6
+42,14
@@
#define EXIT_SKIP 77
#define EXIT_FATAL 77
#define EXIT_SKIP 77
#define EXIT_FATAL 77
+#ifndef EX_NOEXEC
+# define EX_NOEXEC 126
+#endif
+
+#ifndef EX_NOTFOUND
+# define EX_NOTFOUND 127
+#endif
+
namespace libtest {
class Application {
namespace libtest {
class Application {
@@
-53,7
+61,11
@@
public:
enum error_t {
SUCCESS= EXIT_SUCCESS,
FAILURE= EXIT_FAILURE,
enum error_t {
SUCCESS= EXIT_SUCCESS,
FAILURE= EXIT_FAILURE,
- INVALID= 127
+ UNINITIALIZED,
+ SIGTERM_KILLED,
+ UNKNOWN,
+ UNKNOWN_SIGNAL,
+ INVALID_POSIX_SPAWN= 127
};
static const char* toString(error_t arg)
};
static const char* toString(error_t arg)
@@
-63,12
+75,22
@@
public:
case Application::SUCCESS:
return "EXIT_SUCCESS";
case Application::SUCCESS:
return "EXIT_SUCCESS";
+ case Application::UNINITIALIZED:
+ return "UNINITIALIZED";
+
+ case Application::SIGTERM_KILLED:
+ return "Exit happened via SIGTERM";
+
case Application::FAILURE:
return "EXIT_FAILURE";
case Application::FAILURE:
return "EXIT_FAILURE";
- case Application::INVALID:
- return "127";
+ case Application::UNKNOWN_SIGNAL:
+ return "Exit happened via a signal which was not SIGTERM";
+
+ case Application::INVALID_POSIX_SPAWN:
+ return "127: Invalid call to posix_spawn()";
+ case Application::UNKNOWN:
default:
break;
}
default:
break;
}
@@
-111,7
+133,6
@@
public:
void add_option(const std::string&, const std::string&);
void add_long_option(const std::string& option_name, const std::string& option_value);
error_t run(const char *args[]= NULL);
void add_option(const std::string&, const std::string&);
void add_long_option(const std::string& option_name, const std::string& option_value);
error_t run(const char *args[]= NULL);
- error_t wait(bool nohang= true);
Application::error_t join();
libtest::vchar_t stdout_result() const
Application::error_t join();
libtest::vchar_t stdout_result() const
@@
-201,6
+222,9
@@
private:
pid_t _pid;
libtest::vchar_t _stdout_buffer;
libtest::vchar_t _stderr_buffer;
pid_t _pid;
libtest::vchar_t _stdout_buffer;
libtest::vchar_t _stderr_buffer;
+ int _status;
+ pthread_t _thread;
+ error_t _app_exit_state;
};
static inline std::ostream& operator<<(std::ostream& output, const enum Application::error_t &arg)
};
static inline std::ostream& operator<<(std::ostream& output, const enum Application::error_t &arg)