Files
swg-main/tools/autotest/centralserver.pl
2018-01-20 13:55:01 -06:00

46 lines
1.5 KiB
Raku

use FindBin '$Bin';
require "$Bin/passfail.pl";
require "$Bin/background_process.pl";
sub centralServerStartupShutdown
{
$passFailMessage = "CentralServer startup and shutdown";
my($prefix) = @_;
failOnFalse(backgroundProcess($prefix, "CentralServer -- -s CentralServer shutdown=true 2>/dev/null", 10), $passFailMessage, $passFailMessage);
}
sub centralServerRunning
{
my($prefix) = @_;
my $result = runCommand($prefix, "runState");
my $testMessage = "CentralServer running";
failOnFalse($result eq "running", $testMessage, $testMessage);
}
sub databaseServerConnectedToCentralServer
{
my($prefix) = @_;
my $result = "";
my $passFailMessage = "DatabaseServer connected to CentralServer";
# test that the database server has connected to the
# central server by querying Central for a db connection.
# poll CentralServer repeatedly until it responds with a "1"
# or more than 10 seconds has passed
failOnFalse(runCommandUntil($prefix, "dbconnected", "1", 10), $passFailMessage, $passFailMessage);
}
sub planetServerConnected
{
my($prefix) = @_;
my $passFailMessage = "PlanetServer connected to CentralServer";
failOnFalse(runCommandUntil($prefix, "getPlanetServersCount", "1", 10, sub { $_[0] > 0; }), $passFailMessage, $passFailMessage);
}
sub hasPlanetServer
{
my($prefix, $planetName) = @_;
my $passFailMessage = "PlanetServer for $planetName is connected to CentralServer";
failOnFalse(runCommandUntil($prefix, "hasPlanetServer $planetName", "1", 10), $passFailMessage, $passFailMessage);
}