Files
dockerized-swg/gameserver/utils/tools/autotest/taskmanager.pl
2018-01-11 21:02:00 -05:00

45 lines
1.2 KiB
Raku

use FindBin '$Bin';
require "$Bin/passfail.pl";
require "$Bin/background_process.pl";
require "$Bin/serverconsole.pl";
$taskManagerPid = 0;
sub taskmanagerStartupShutdown
{
my ($prefix) = @_;
$passFailMessage = "TaskManager startup and shutdown";
failOnFalse(backgroundProcess($prefix, "TaskManager -- -s TaskManager autoStart=false 2>/dev/null", 10, sub {system("echo \"exit\" | debug/ServerConsole -- -s ServerConsole serverPort=60000 > /dev/null");}), $passFailMessage, $passFailMessage);
}
sub clusterStartup
{
my ($prefix) = @_;
$passFailMessage = "TaskManager cluster startup";
$taskManagerPid = startBackgroundProcess($prefix, "TaskManager -- \@taskmanager.cfg 2>/dev/null", 10, sub { return 1; });
$result = "";
do
{
$result = runTaskCommand($prefix, "runState");
} until($result eq "running");
failOnFalse($taskManagerPid > 0, $passFailMessage, $passFailMessage);
do
{
$result = runCommand($prefix, "runState");
} until($result eq "running");
pass("CentralServer cluster startup");
}
sub clusterShutdown
{
my ($prefix) = @_;
do
{
$result = runTaskCommand($prefix, "exit");
} until($result eq "exiting");
}
1;