summaryrefslogtreecommitdiff
path: root/TAO/tests/Bug_2494_Regression
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Bug_2494_Regression')
-rwxr-xr-xTAO/tests/Bug_2494_Regression/run_test.pl88
1 files changed, 51 insertions, 37 deletions
diff --git a/TAO/tests/Bug_2494_Regression/run_test.pl b/TAO/tests/Bug_2494_Regression/run_test.pl
index a90e7b631c0..a10099547c1 100755
--- a/TAO/tests/Bug_2494_Regression/run_test.pl
+++ b/TAO/tests/Bug_2494_Regression/run_test.pl
@@ -11,71 +11,85 @@ use PerlACE::TestTarget;
$status = 0;
$srv_threads = '4';
$cli_threads = '30';
-$baseior = "test.ior";
-$iorfile = PerlACE::LocalFile ($baseior);
-$srvdownfile = PerlACE::LocalFile ("server_terminated");
-unlink $iorfile;
-unlink $srvdownfile;
+my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";
+my $client = PerlACE::TestTarget::create_target (2) || die "Create target 2 failed\n";
-if (PerlACE::is_vxworks_test()) {
- $SV = new PerlACE::ProcessVX ("server", "-o $baseior -n $srv_threads");
-}
-else {
- $SV = new PerlACE::Process ("server", "-o $iorfile -n $srv_threads");
-}
-$CL = new PerlACE::Process ("client", "-k file://$iorfile -n $cli_threads");
-$CLS = new PerlACE::Process ("client", "-k file://$iorfile -x");
+my $iorbase = "test.ior";
+my $server_iorfile = $server->LocalFile ($iorbase);
+my $client_iorfile = $client->LocalFile ($iorbase);
+$server->DeleteFile($iorbase);
+$client->DeleteFile($iorbase);
+
+$srvdownfile = "server_terminated";
+$server_srvdownfile = $server->LocalFile ($srvdownfile);
+
+$SV = $server->CreateProcess ("server",
+ "-o $server_iorfile " .
+ "-n $srv_threads");
+
+$CL = $client->CreateProcess ("client", "-k file://$client_iorfile -n $cli_threads");
-$server = $SV->Spawn ();
+$server_status = $SV->Spawn ();
-if ($server != 0) {
- print STDERR "ERROR: server returned $server\n";
+if ($server_status != 0) {
+ print STDERR "ERROR: server returned $server_status\n";
+ exit 1;
+}
+if ($server->WaitForFileTimed ($iorbase,
+ $server->ProcessStartWaitInterval()) == -1) {
+ print STDERR "ERROR: cannot find file <$server_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
exit 1;
}
-if (PerlACE::waitforfile_timed ($iorfile,
- $PerlACE::wait_interval_for_process_creation) == -1) {
- print STDERR "ERROR: cannot find file <$iorfile>\n";
- $SV->Kill ();
+if ($server->GetFile ($iorbase) == -1) {
+ print STDERR "ERROR: cannot retrieve file <$server_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+if ($client->PutFile ($iorbase) == -1) {
+ print STDERR "ERROR: cannot set file <$client_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
exit 1;
}
$CL->Spawn ();
#Client will not terminate on its own, kill it after 30 seconds
-$CL->TimedWait (30);
-$CL->Kill (1);
-#The parameter '1' (above) indicates that an error return value should not
-#cause this test to fail.
+$CL->TimedWait ($client->ProcessStartWaitInterval() + 15);
+$CL->Kill ();
print "***Client has been killed***\n";
#Server should still be running at this point, now start the client that asks
#the server to shut itself down
-$client = $CLS->SpawnWaitKill (15);
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
+$CL->Arguments ("-k file://$client_iorfile -x");
+
+$client_status = $CL->SpawnWaitKill ($client->ProcessStartWaitInterval());
+if ($client_status != 0) {
+ print STDERR "ERROR: client returned $client_status\n";
$status = 1;
}
#Server should now be shutdown
-if (PerlACE::waitforfile_timed ($srvdownfile,
- $PerlACE::wait_interval_for_process_creation) == -1) {
- print STDERR "ERROR: cannot find file <$srvdownfile>".
+if ($server->WaitForFileTimed ($srvdownfile,
+ $server->ProcessStartWaitInterval()) == -1) {
+ print STDERR "ERROR: cannot find file <$server_srvdownfile>".
" -- server has not shut down cleanly.\n";
- $SV->Kill ();
+ $SV->Kill (); $SV->TimedWait (1);
exit 1;
}
-$server = $SV->WaitKill (15);
+$status_server = $SV->WaitKill ($server->ProcessStopWaitInterval());
-if ($server != 0) {
- print STDERR "ERROR: server returned $server\n";
+if ($status_server != 0) {
+ print STDERR "ERROR: server returned $status_server\n";
$status = 1;
}
-unlink $iorfile;
-unlink $srvdownfile;
+$server->DeleteFile ($iorbase);
+$client->DeleteFile ($iorbase);
+$server->DeleteFile ($srvdownfile);
-exit $status
+exit $status;