X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fserver_container.cc;h=2d7655bcffbdba6f717f140b62c7f31a03551793;hb=462de46ceddc9846bbefe91dca9915c5c538308d;hp=d8ef5d495364ad4c51e42722b3a70faeb20a67ac;hpb=85b7bde8fee1a43ace784690188e2f4c62f89825;p=awesomized%2Flibmemcached diff --git a/libtest/server_container.cc b/libtest/server_container.cc index d8ef5d49..2d7655bc 100644 --- a/libtest/server_container.cc +++ b/libtest/server_container.cc @@ -182,7 +182,7 @@ bool server_startup_st::validate() bool server_startup(server_startup_st& construct, const std::string& server_type, in_port_t try_port, int argc, const char *argv[], const bool opt_startup_message) { - construct.start_server(server_type, try_port, argc, argv, opt_startup_message); + return construct.start_server(server_type, try_port, argc, argv, opt_startup_message); } bool server_startup_st::start_server(const std::string& server_type, in_port_t try_port, int argc, const char *argv[], const bool opt_startup_message) @@ -287,17 +287,16 @@ bool server_startup_st::start_server(const std::string& server_type, in_port_t t server->build(argc, argv); +#if 0 if (false) { Out << "Pausing for startup, hit return when ready."; std::string gdb_command= server->base_command(); - std::string options; -#if 0 - Out << "run " << server->args(options); -#endif getchar(); } - else if (server->start() == false) + else +#endif + if (server->start() == false) { delete server; return false; @@ -312,6 +311,18 @@ bool server_startup_st::start_server(const std::string& server_type, in_port_t t } } } + catch (libtest::start err) + { + stream::cerr(err.file(), err.line(), err.func()) << err.what(); + delete server; + return false; + } + catch (libtest::disconnected err) + { + stream::cerr(err.file(), err.line(), err.func()) << err.what(); + delete server; + return false; + } catch (...) { delete server; @@ -397,17 +408,18 @@ bool server_startup_st::start_socket_server(const std::string& server_type, cons server->build(argc, argv); +#if 0 if (false) { Out << "Pausing for startup, hit return when ready."; std::string gdb_command= server->base_command(); std::string options; -#if 0 Out << "run " << server->args(options); -#endif getchar(); } - else if (server->start() == false) + else +#endif + if (server->start() == false) { Error << "Failed to start " << *server; delete server;