projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
jenkins-promote-staging-trunk-libmemcached-12
[m6w6/libmemcached]
/
libtest
/
server_container.cc
diff --git
a/libtest/server_container.cc
b/libtest/server_container.cc
index 6d0c785e7de5f20d5d2d06d549ed7545e5b749ff..4fdfd4140894a39855f160178a570e0f7be343a5 100644
(file)
--- a/
libtest/server_container.cc
+++ b/
libtest/server_container.cc
@@
-19,6
+19,7
@@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <config.h>
#include <libtest/common.h>
#include <cassert>
#include <libtest/common.h>
#include <cassert>
@@
-81,7
+82,7
@@
bool server_startup_st::shutdown(uint32_t number_of_host)
{
Server* tmp= servers[number_of_host];
{
Server* tmp= servers[number_of_host];
- if (tmp and tmp->has_pid() and
not tmp->kill(tmp->pid())
)
+ if (tmp and tmp->has_pid() and
tmp->kill() == false
)
{ }
else
{
{ }
else
{
@@
-101,15
+102,33
@@
void server_startup_st::shutdown_and_remove()
servers.clear();
}
servers.clear();
}
-void server_startup_st::shutdown()
+bool server_startup_st::check() const
{
{
+ bool success= true;
+ for (std::vector<Server *>::const_iterator iter= servers.begin(); iter != servers.end(); iter++)
+ {
+ if ((*iter)->check() == false)
+ {
+ success= false;
+ }
+ }
+
+ return success;
+}
+
+bool server_startup_st::shutdown()
+{
+ bool success= true;
for (std::vector<Server *>::iterator iter= servers.begin(); iter != servers.end(); iter++)
{
for (std::vector<Server *>::iterator iter= servers.begin(); iter != servers.end(); iter++)
{
- if ((*iter)->has_pid() and
not (*iter)->kill((*iter)->pid())
)
+ if ((*iter)->has_pid() and
(*iter)->kill() == false
)
{
Error << "Unable to kill:" << *(*iter);
{
Error << "Unable to kill:" << *(*iter);
+ success= false;
}
}
}
}
+
+ return success;
}
void server_startup_st::restart()
}
void server_startup_st::restart()
@@
-120,33
+139,31
@@
void server_startup_st::restart()
}
}
}
}
+#define MAGIC_MEMORY 123575
+server_startup_st::server_startup_st() :
+ _magic(MAGIC_MEMORY),
+ _socket(false),
+ _sasl(false),
+ _count(0),
+ udp(0),
+ _servers_to_run(5)
+{ }
+
server_startup_st::~server_startup_st()
{
shutdown_and_remove();
}
server_startup_st::~server_startup_st()
{
shutdown_and_remove();
}
-bool server_startup_st::is_debug() const
-{
- return bool(getenv("LIBTEST_MANUAL_GDB"));
-}
-
-bool server_startup_st::is_valgrind() const
-{
- return bool(getenv("LIBTEST_MANUAL_VALGRIND"));
-}
-
-bool server_startup_st::is_helgrind() const
+bool server_startup_st::validate()
{
{
- return
bool(getenv("LIBTEST_MANUAL_HELGRIND"))
;
+ return
_magic == MAGIC_MEMORY
;
}
}
-
-bool server_startup(server_startup_st& construct, const std::string& server_type, in_port_t try_port, int argc, const char *argv[])
+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)
{
{
- Outn();
if (try_port <= 0)
{
if (try_port <= 0)
{
- libtest::fatal(LIBYATL_DEFAULT_PARAM, "was passed the invalid port number %d", int(try_port));
+
throw
libtest::fatal(LIBYATL_DEFAULT_PARAM, "was passed the invalid port number %d", int(try_port));
}
libtest::Server *server= NULL;
}
libtest::Server *server= NULL;
@@
-162,6
+179,16
@@
bool server_startup(server_startup_st& construct, const std::string& server_type
}
}
}
}
}
}
+ else if (server_type.compare("drizzled") == 0)
+ {
+ if (DRIZZLED_BINARY)
+ {
+ if (HAVE_LIBDRIZZLE)
+ {
+ server= build_drizzled("localhost", try_port);
+ }
+ }
+ }
else if (server_type.compare("blobslap_worker") == 0)
{
if (GEARMAND_BINARY)
else if (server_type.compare("blobslap_worker") == 0)
{
if (GEARMAND_BINARY)
@@
-223,7
+250,7
@@
bool server_startup(server_startup_st& construct, const std::string& server_type
server->build(argc, argv);
server->build(argc, argv);
- if (
construct.is_debug()
)
+ if (
false
)
{
Out << "Pausing for startup, hit return when ready.";
std::string gdb_command= server->base_command();
{
Out << "Pausing for startup, hit return when ready.";
std::string gdb_command= server->base_command();
@@
-235,19
+262,21
@@
bool server_startup(server_startup_st& construct, const std::string& server_type
}
else if (server->start() == false)
{
}
else if (server->start() == false)
{
- Error << "Failed to start " << *server;
delete server;
return false;
}
else
{
delete server;
return false;
}
else
{
- Out << "STARTING SERVER(pid:" << server->pid() << "): " << server->running();
+ if (opt_startup_message)
+ {
+ Outn();
+ Out << "STARTING SERVER(pid:" << server->pid() << "): " << server->running();
+ Outn();
+ }
}
construct.push_server(server);
}
construct.push_server(server);
- Outn();
-
return true;
}
return true;
}
@@
-313,7
+342,7
@@
bool server_startup_st::start_socket_server(const std::string& server_type, cons
/*
We will now cycle the server we have created.
*/
/*
We will now cycle the server we have created.
*/
- if (
not server->cycle()
)
+ if (
server->cycle() == false
)
{
Error << "Could not start up server " << *server;
delete server;
{
Error << "Could not start up server " << *server;
delete server;
@@
-322,7
+351,7
@@
bool server_startup_st::start_socket_server(const std::string& server_type, cons
server->build(argc, argv);
server->build(argc, argv);
- if (
is_debug()
)
+ if (
false
)
{
Out << "Pausing for startup, hit return when ready.";
std::string gdb_command= server->base_command();
{
Out << "Pausing for startup, hit return when ready.";
std::string gdb_command= server->base_command();
@@
-332,7
+361,7
@@
bool server_startup_st::start_socket_server(const std::string& server_type, cons
#endif
getchar();
}
#endif
getchar();
}
- else if (
not server->start()
)
+ else if (
server->start() == false
)
{
Error << "Failed to start " << *server;
delete server;
{
Error << "Failed to start " << *server;
delete server;