summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl')
-rwxr-xr-xTAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl87
1 files changed, 43 insertions, 44 deletions
diff --git a/TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl b/TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl
index e86186b36e8..5f78d78fb71 100755
--- a/TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl
+++ b/TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl
@@ -5,70 +5,69 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# $Id$
# -*- perl -*-
-use lib '../../../../bin';
-use PerlACE::Run_Test;
+unshift @INC, '../../../../bin';
+require ACEutils;
+require Process;
+use Cwd;
-$port = PerlACE::uniqueid () + 10001; # This can't be 10000 on Chorus 4.0
+$port = ACE::uniqueid () + 10001; # This can't be 10000 on Chorus 4.0
+$cwd = getcwd();
+ACE::checkForTarget($cwd);
-$NS_ior = PerlACE::LocalFile ("NameService.ior");
+$NS_ior = "$cwd$DIR_SEPARATOR" . "NameService.ior";
$sleeptime = 5;
$status = 0;
-$NS = new PerlACE::Process ("../../Naming_Service/Naming_Service",
- "-ORBNameServicePort $port -o $NS_ior");
-$ES = new PerlACE::Process ("../../Event_Service/Event_Service",
- "-ORBInitRef NameService=file://$NS_ior -t new");
-$C = new PerlACE::Process ("ECM_Consumer",
- "-ORBInitRef NameService=file://$NS_ior");
-$S = new PerlACE::Process ("ECM_Supplier",
- "-ORBInitRef NameService=file://$NS_ior");
-
-$NS->Spawn ();
-
-if (PerlACE::waitforfile_timed ($NS_ior, 5) == -1) {
- print STDERR "ERROR: waiting for naming service IOR file\n";
- $NS->Kill ();
- exit 1;
+$NS = Process::Create ($EXEPREFIX."..".$DIR_SEPARATOR.
+ "..".$DIR_SEPARATOR.
+ "Naming_Service".$DIR_SEPARATOR.
+ "Naming_Service".$EXE_EXT,
+ "-ORBNameServicePort $port -o $NS_ior ");
+
+if (ACE::waitforfile_timed ($NS_ior, 5) == -1) {
+ print STDERR "ERROR: waiting for naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
}
-$ES->Spawn ();
+$ES = Process::Create ($EXEPREFIX."..".$DIR_SEPARATOR.
+ "..".$DIR_SEPARATOR.
+ "Event_Service".$DIR_SEPARATOR.
+ "Event_Service".$EXE_EXT,
+ "-ORBInitRef NameService=file://$NS_ior -t new");
sleep $sleeptime;
-$C->Spawn ();
+$C = Process::Create ($EXEPREFIX."ECM_Consumer".$EXE_EXT,
+ "-ORBInitRef NameService=file://$NS_ior");
sleep $sleeptime;
-$S->Spawn ();
-
-$consumer = $C->WaitKill (60);
+$S = Process::Create ($EXEPREFIX."ECM_Supplier".$EXE_EXT,
+ "-ORBInitRef NameService=file://$NS_ior");
-if ($consumer != 0) {
- print STDERR "ERROR: consumer returned $consumer\n";
- $status = 1;
+if ($C->TimedWait (60) == -1) {
+ $status = 1;
+ print STDERR "ERROR: consumer timedout\n";
+ $C->Kill (); $C->TimedWait (1);
}
-$supplier = $S->WaitKill (60);
-
-if ($supplier == -1) {
- print STDERR "ERROR: supplier returned $supplier\n";
- $status = 1;
+if ($S->TimedWait (60) == -1) {
+ $status =1;
+ print STDERR "ERROR: supplier timedout\n";
+ $S->Kill (); $S->TimedWait (1);
}
-$nserver = $NS->TerminateWaitKill (5);
-
-if ($nserver != 0) {
- print STDERR "ERROR: nameserver returned $nserver\n";
- $status = 1;
-}
-
-$eserver = $ES->TerminateWaitKill (5);
-
-if ($eserver != 0) {
- print STDERR "ERROR: eventserver returned $eserver\n";
- $status = 1;
+$NS->Terminate();
+$ES->Terminate();
+if ($NS->TimedWait (5) == -1 || $ES->TimedWait (5) == -1) {
+ print STDERR "ERROR: couldn't terminate the services nicely\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ $ES->Kill (); $ES->TimedWait (1);
+ $status = 1;
}
unlink $NS_ior;
+# @@ Capture the errors from the processes.
exit $status;