_is_socket(is_socket_arg),
_port(port_arg),
_hostname(host_arg),
- _app(executable, _is_libtool)
+ _app(executable, _is_libtool),
+ out_of_ban_killed_(false)
{
}
// If we find that we already have a pid then kill it.
if (has_pid() == true)
{
+#if 0
fatal_message("has_pid() failed, programer error");
+#endif
}
// This needs more work.
return false;
}
+ libtest::release_port(_port);
Application::error_t ret;
if (Application::SUCCESS != (ret= _app.run()))
{
_app.slurp();
if (kill_file(pid_file()) == false)
{
- throw libtest::fatal(LIBYATL_DEFAULT_PARAM,
- "Failed to kill off server, waited: %u after startup occurred, when pinging failed: %s stderr:%s",
- this_wait,
- pid_file().c_str(),
- _app.stderr_c_str());
- }
+ libtest::fatal err(LIBYATL_DEFAULT_PARAM,
+ "Failed to kill off server, waited: %u after startup occurred, when pinging failed: %.*s stderr:%.*s",
+ this_wait,
+ int(_running.size()), _running.c_str(),
+ int(_app.stderr_result_length()), _app.stderr_c_str());
- throw libtest::fatal(LIBYATL_DEFAULT_PARAM,
- "Failed native ping(), pid: %d is alive: %s waited: %u server started, having pid_file. exec: %s stderr:%s",
+ stream::cerr(err.file(), err.line(), err.func()) << err.what();
+ }
+ else
+ {
+ libtest::fatal err(LIBYATL_DEFAULT_PARAM,
+ "Failed native ping(), pid: %d was alive: %s waited: %u server started, having pid_file. exec: %.*s stderr:%.*s",
int(_app.pid()),
_app.check() ? "true" : "false",
- this_wait, _running.c_str(),
- _app.stderr_c_str());
+ this_wait,
+ int(_running.size()), _running.c_str(),
+ int(_app.stderr_result_length()), _app.stderr_c_str());
+
+ stream::cerr(err.file(), err.line(), err.func()) << err.what();
+ }
}
else
{
- throw libtest::fatal(LIBYATL_DEFAULT_PARAM,
- "Failed native ping(), pid: %d is alive: %s waited: %u server started. exec: %s stderr:%s",
- int(_app.pid()),
- _app.check() ? "true" : "false",
- this_wait,
- _running.c_str(),
- _app.stderr_c_str());
+ libtest::fatal err(LIBYATL_DEFAULT_PARAM,
+ "Failed native ping(), pid: %d is alive: %s waited: %u server started. exec: %.*s stderr:%.*s",
+ int(_app.pid()),
+ _app.check() ? "true" : "false",
+ this_wait,
+ int(_running.size()), _running.c_str(),
+ int(_app.stderr_result_length()), _app.stderr_c_str());
+
+ stream::cerr(err.file(), err.line(), err.func()) << err.what();
}
_running.clear();
return false;
port_option(app, _port);
}
- for (Options::const_iterator iter= _options.begin(); iter != _options.end(); iter++)
+ for (Options::const_iterator iter= _options.begin(); iter != _options.end(); ++iter)
{
if ((*iter).second.empty() == false)
{