trial option

This commit is contained in:
Emil Tin 2014-03-22 00:06:35 +01:00
parent 538827942a
commit 0b655ea6a1
3 changed files with 46 additions and 35 deletions

View File

@ -66,7 +66,8 @@ inline bool GenerateServerProgramOptions(
std::string & ip_address,
int & ip_port,
int & requested_num_threads,
bool & use_shared_memory
bool & use_shared_memory,
bool & trial
) {
// declare a group of options that will be allowed only on command line
@ -80,6 +81,11 @@ inline bool GenerateServerProgramOptions(
&paths["config"]
)->default_value("server.ini"),
"Path to a configuration file"
)
(
"trial",
boost::program_options::value<bool>(&trial)->implicit_value(true),
"Quit after initialization"
);
// declare a group of options that will be allowed both on command line

View File

@ -21,6 +21,7 @@ Feature: Command line options
And stdout should contain "--version"
And stdout should contain "--help"
And stdout should contain "--config"
And stdout should contain "--trial"
And stdout should contain "Configuration:"
And stdout should contain "--hsgrdata arg"
And stdout should contain "--nodesdata arg"

View File

@ -76,20 +76,20 @@ int main (int argc, const char * argv[])
bool use_shared_memory = false;
std::string ip_address;
int ip_port, requested_thread_num;
bool trial = false;
ServerPaths server_paths;
if (!GenerateServerProgramOptions
(
if( !GenerateServerProgramOptions(
argc,
argv,
server_paths,
ip_address,
ip_port,
requested_thread_num,
use_shared_memory
use_shared_memory,
trial
)
)
{
) {
return 0;
}
@ -149,6 +149,9 @@ int main (int argc, const char * argv[])
routing_server->GetRequestHandlerPtr().RegisterRoutingMachine(&osrm_lib);
if( trial ) {
std::cout << "[server] trial run, quitting after successful initialization" << std::endl;
} else {
boost::thread server_thread(boost::bind(&Server::Run, routing_server));
#ifndef _WIN32
@ -177,6 +180,7 @@ int main (int argc, const char * argv[])
SimpleLogger().Write(logDEBUG) <<
"Threads did not finish within 2 seconds. Hard abort!";
}
}
std::cout << "[server] freeing objects" << std::endl;
delete routing_server;