diff options
Diffstat (limited to 'TAO/examples/POA/On_Demand_Loading/run_test.pl')
-rwxr-xr-x | TAO/examples/POA/On_Demand_Loading/run_test.pl | 117 |
1 files changed, 64 insertions, 53 deletions
diff --git a/TAO/examples/POA/On_Demand_Loading/run_test.pl b/TAO/examples/POA/On_Demand_Loading/run_test.pl index e6c8c8f2195..b21ee5ad8af 100755 --- a/TAO/examples/POA/On_Demand_Loading/run_test.pl +++ b/TAO/examples/POA/On_Demand_Loading/run_test.pl @@ -5,8 +5,8 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' # $Id$ # -*- perl -*- -use lib '../../../../bin'; -use PerlACE::Run_Test; +unshift @INC, '../../../../bin'; +require ACEutils; $iorfile = "ior"; @@ -15,82 +15,93 @@ $iterations = 100; $extra_args = ""; -$status = 0; - # Parse the arguments -for ($i = 0; $i <= $#ARGV; $i++) { - if ($ARGV[$i] eq "-h" || $ARGV[$i] eq "-?") { - print "run_test [-h] [-i iterations] [-o] [-f ior file]\n"; - print "\n"; - print "-h -- prints this information\n"; - print "-f -- ior file\n"; - print "-i iterations -- specifies iterations\n"; - print "-o -- call issued are oneways\n"; - exit; +for ($i = 0; $i <= $#ARGV; $i++) +{ + SWITCH: + { + if ($ARGV[$i] eq "-h" || $ARGV[$i] eq "-?") + { + print "run_test [-h] [-i iterations] [-o] [-f ior file]\n"; + print "\n"; + print "-h -- prints this information\n"; + print "-f -- ior file\n"; + print "-i iterations -- specifies iterations\n"; + print "-o -- call issued are oneways\n"; + exit; } - elsif ($ARGV[$i] eq "-o") { + if ($ARGV[$i] eq "-o") + { $oneway = "-o"; + last SWITCH; } - elsif ($ARGV[$i] eq "-i") { + if ($ARGV[$i] eq "-i") + { $iterations = $ARGV[$i + 1]; $i++; + last SWITCH; } - elsif ($ARGV[$i] eq "-f") { + if ($ARGV[$i] eq "-f") + { $iorfile = $ARGV[$i + 1]; $i++; + last SWITCH; } - else { - $extra_args .= " " . $ARGV[$i]; - } + $extra_args .= " " . $ARGV[$i]; + } } -$iorfile1 = $iorfile."_1"; -$iorfile2 = $iorfile."_2"; +$iorfile_1 = $iorfile."_1"; +$iorfile_2 = $iorfile."_2"; -unlink $iorfile1, $iorfile2; +unlink $iorfile_1; +unlink $iorfile_2; -$SV = new PerlACE::Process ("server", "-f $iorfile $extra_args"); -$CL1 = new PerlACE::Process ("../Generic_Servant/client", - "$extra_args $oneway -i $iterations -f $iorfile1"); -$CL2 = new PerlACE::Process ("../Generic_Servant/client", - "$extra_args $oneway -i $iterations -f $iorfile2 -x"); +$SV = Process::Create ($EXEPREFIX."server$EXE_EXT", "-f $iorfile $extra_args"); -$SV->Spawn (); - -if (PerlACE::waitforfile_timed ($iorfile1, 15) == -1) { - print STDERR "ERROR: cannot find file <$iorfile1>\n"; - $SV->Kill (); - exit 1; +if (ACE::waitforfile_timed ($iorfile_1, 15) == -1) { + print STDERR "ERROR: cannot find file <$iorfile_1>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; } -if (PerlACE::waitforfile_timed ($iorfile2, 15) == -1) { - print STDERR "ERROR: cannot find file <$iorfile2>\n"; - $SV->Kill (); - exit 1; +if (ACE::waitforfile_timed ($iorfile_2, 15) == -1) { + print STDERR "ERROR: cannot find file <$iorfile_2>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; } -$client = $CL1->SpawnWaitKill (60); -if ($client != 0) { - print STDERR "ERROR: client 1 returned $client\n"; - $status = 1; -} -$client = $CL2->SpawnWaitKill (60); +$CL_1 = Process::Create ("../Generic_Servant/client$EXE_EXT ", + " $extra_args $oneway -i $iterations -f $iorfile_1"); -if ($client != 0) { - print STDERR "ERROR: client 2 returned $client\n"; - $status = 1; +$client_1 = $CL_1->TimedWait (60); +if ($client_1 == -1) { + print STDERR "ERROR: client 1 timedout\n"; + $CL_1->Kill (); $CL_1->TimedWait (1); } -$server = $SV->WaitKill (5); +$CL_2 = Process::Create ("../Generic_Servant/client$EXE_EXT ", + " $extra_args $oneway -i $iterations -f $iorfile_2 -x"); -if ($server != 0) { - print STDERR "ERROR: server returned $server\n"; - $SV->Kill (); - $status = 1; +$client_2 = $CL_2->TimedWait (60); +if ($client_2 == -1) { + print STDERR "ERROR: client 2 timedout\n"; + $CL_2->Kill (); $CL_2->TimedWait (1); } -unlink $iorfile1, $iorfile2; +$server = $SV->TimedWait (5); +if ($server == -1) { + print STDERR "ERROR: server timedout\n"; + $SV->Kill (); $SV->TimedWait (1); +} + +unlink $iorfile_1; +unlink $iorfile_2; + +if ($server != 0 || $client_1 != 0 || $client_2 != 0) { + exit 1; +} -exit $status; +exit 0; |