diff options
author | huangming <huangminghuang@users.noreply.github.com> | 2003-11-27 17:23:06 +0000 |
---|---|---|
committer | huangming <huangminghuang@users.noreply.github.com> | 2003-11-27 17:23:06 +0000 |
commit | 9274784324593e31c1bba82eafabde77fd8c8b3a (patch) | |
tree | b1b65f556ffc1033837816b3b3bb18e7154acab0 | |
parent | 1ce2cbf3c5f74988d2654457021db96da7b77f15 (diff) | |
download | ATCD-9274784324593e31c1bba82eafabde77fd8c8b3a.tar.gz |
*** empty log message ***
-rwxr-xr-x | TAO/orbsvcs/FTRT_Event_Service/rtec_test.pl | 60 | ||||
-rwxr-xr-x | TAO/orbsvcs/FTRT_Event_Service/test.pl | 144 |
2 files changed, 149 insertions, 55 deletions
diff --git a/TAO/orbsvcs/FTRT_Event_Service/rtec_test.pl b/TAO/orbsvcs/FTRT_Event_Service/rtec_test.pl new file mode 100755 index 00000000000..08cfb982905 --- /dev/null +++ b/TAO/orbsvcs/FTRT_Event_Service/rtec_test.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl +#$Id$ + +use strict; +use lib '../../../bin'; +use PerlACE::Run_Test; + +my $freq = 10; +my $num_events = 20; +my $result_dir = "RTEC_RESULT"; +my $TAO_ROOT=@ENV{"TAO_ROOT"}; + +my $i; + +mkdir $result_dir unless -d $result_dir; + + +for ($i=0; $i< 100; ++$i) { + chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service/$result_dir"; + my $mark = "m$i"; + mkdir $mark unless -d $mark; + + #start Event_Service + + my $FILEPATH = "$TAO_ROOT/orbsvcs/FTRT_Event_Service/$result_dir/$mark"; + my $es_ior = "$FILEPATH/es.ior"; + + unlink ($es_ior) if -e $es_ior; + + chdir "$TAO_ROOT/orbsvcs/Event_Service"; + my $ES = new PerlACE::Process ("Event_Service", "-o $es_ior"); + + $ES->Spawn (); + + if (PerlACE::waitforfile_timed ("$es_ior", 5) == -1) { + print STDERR "ERROR: cannot find file <$es_ior>\n"; + $ES->Kill (); + exit 1; + } + + chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service"; + + #start consumer + + + my $client_options = "-i file://$es_ior -f $freq -k $num_events -ORBLogFile $FILEPATH"; + + my $CONSUMER = new PerlACE::Process ("rtec_consumer", "$client_options/c0.txt"); + $CONSUMER->Spawn(); + + #start supplier + + my $SUPPLIER = new PerlACE::Process ("rtec_supplier", "$client_options/s0.txt"); + $SUPPLIER->Spawn(); + + #wait until consumer complete + + $CONSUMER->Wait; + $ES->TerminateWaitKill(0); +} diff --git a/TAO/orbsvcs/FTRT_Event_Service/test.pl b/TAO/orbsvcs/FTRT_Event_Service/test.pl index 082aeb5c2cc..0725a2b3ad8 100755 --- a/TAO/orbsvcs/FTRT_Event_Service/test.pl +++ b/TAO/orbsvcs/FTRT_Event_Service/test.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perla +#!/usr/bin/perl #$Id$ @@ -12,14 +12,16 @@ my $HOSTNAME=`hostname`; my $client_args; my $NameServicePort=$ENV{"ORBNameServicePort"}; my $result_dir="R"; -my $iterations=100; -my $num_ecs; -my $num_consumers; -my $num_suppliers; -my $transaction_depth; +my $iterations=10; +my $num_ecs = 2; +my $num_consumers = 1; +my $num_suppliers = 1; +my $transaction_depth = 1; my $is_AMI="NO"; my $heartbeat="NA"; my $ns_args; +my $mark; +my $freq=1; $NameServicePort = 10000 unless defined($NameServicePort); $ENV{"ORBNameServicePort"} = $NameServicePort; @@ -63,14 +65,32 @@ while (defined($ARGV[0])) shift(@ARGV); } elsif (/-iteration/) { - $iterations=$ARGV[1]; - shift(@ARGV); - } - shift(@ARGV) + $iterations=$ARGV[1]; + shift(@ARGV); + } + elsif (/-frequency/) { + $result_dir .= "_F$ARGV[1]"; + $freq=$ARGV[1]; + shift(@ARGV); + } + elsif (/-mark/) { + $mark="m$ARGV[1]"; + shift(@ARGV); + } + shift(@ARGV); } mkdir $result_dir unless -d $result_dir; +chdir "$result_dir"; +mkdir $mark unless -d $mark; + my $TAO_ROOT=$ENV{"TAO_ROOT"}; +chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service"; + +my $rd=$result_dir; +$result_dir .= "/$mark"; + + my $ns_ior="$TAO_ROOT/orbsvcs/FTRT_Event_Service/$result_dir/ns.ior"; unlink ($ns_ior) if -e $ns_ior; @@ -80,34 +100,38 @@ my $NS = new PerlACE::Process ("Naming_Service", "$ns_args"); $NS->Spawn (); -if (PerlACE::waitforfile_timed ("$ns_ior", 5) == -1) { +if (PerlACE::waitforfile_timed ("$ns_ior", 100) == -1) { print STDERR "ERROR: cannot find file <$ns_ior>\n"; $NS->Kill (); exit 1; -} +} $client_args .= " -ORBInitRef NameService=file://$ns_ior"; #starting the primary my @ECS; my $FILE_PATH="$TAO_ROOT/orbsvcs/FTRT_Event_Service/$result_dir"; +my $pid; + +system("ps -u hh1 | grep ftrt"); chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service/Event_Service"; -#$ECS[0]=Proc::Background->new("./ftrt_eventservice $client_args -p -d 3 2>&1 | tee $FILE_PATH/ec0.txt") -$ECS[0]=Proc::Background->new("./ftrt_eventservice $client_args -p") - || die "Cannot start Primary\n"; -print "Primary Started\n"; +my $crash_msg = $iterations/2; +$ECS[0]= new PerlACE::Process ("ftrt_eventservice", "$client_args -p -f $crash_msg -ORBLogFile $FILE_PATH/ec0.txt"); +$ECS[0]->Spawn (); +print "primary started\n"; + +sleep 2; -sleep 5; #starting backups my $i; for ($i=1; $i< $num_ecs; ++$i) { -# $ECS[$i]=Proc::Background->new("./ftrt_eventservice $client_args -j -d 3 2>&1 | tee $FILE_PATH/ec$i.txt") - $ECS[$i]=Proc::Background->new("./ftrt_eventservice $client_args -j") - || die "Cannot start backup $i"; + my $FILENAME="$FILE_PATH/ec$i.txt"; + $ECS[$i]=new PerlACE::Process ("ftrt_eventservice", "$client_args -j -ORBLogFile $FILE_PATH/ec$i.txt"); + $ECS[$i]->Spawn (); print "backup $i started\n"; - sleep 10; + sleep 2; } chdir "$TAO_ROOT/orbsvcs/tests/FtRtEvent"; @@ -118,68 +142,78 @@ my @CONSUMERS; for ($i=0 ; $i < $num_consumers ; ++$i){ my $FILENAME="$FILE_PATH/c$i.txt"; - $CONSUMERS[$i] = Proc::Background->new("./consumer $client_args -k $iterations > $FILENAME 2>&1"); + my $IOR="$FILE_PATH/c$i.ior"; + $CONSUMERS[$i] = new PerlACE::Process ("ftrtec_consumer", "$client_args -k $iterations -p $IOR -ORBLogFile $FILENAME"); + $CONSUMERS[$i]->Spawn(); print "consumer $i started\n"; } #starting suppliers +my $supplier_status; + my @SUPPLIERS; for ($i=0 ; $i < $num_suppliers ; ++$i){ my $FILENAME="$FILE_PATH/s$i.txt"; - $SUPPLIERS[$i] = Proc::Background->new("./supplier $client_args -k $iterations -d 1 2>&1 | tee $FILENAME"); - print "supplier $i started\n"; + my $IOR="$FILE_PATH/c$i.ior"; + print "starting supplier $i\n"; + $SUPPLIERS[$i] = new PerlACE::Process ("ftrtec_supplier", "$client_args -k $iterations -f $freq -p $IOR -ORBLogFile $FILENAME"); + my $status = $SUPPLIERS[$i]->SpawnWaitKill(3+$iterations*2/$freq); + $supplier_status = -1 if ($status == -1); } for ($i=0 ; $i < $num_consumers ; ++$i){ - $CONSUMERS[$i]->wait; + $CONSUMERS[$i]->TerminateWaitKill(2); } -for ($i=1; $i< @ECS; ++$i) { - $ECS[$i]->die; +for ($i=0; $i< @ECS; ++$i) { + $ECS[$i]->TerminateWaitKill(0); } $NS->TerminateWaitKill(0); -my @supplier_subscription; +#my @supplier_subscription; -chdir "$FILE_PATH"; -foreach (<s*.txt>) { - open (LINE, $_); - while (<LINE>) { - /latency = (\d+)/ && push(@supplier_subscription, $1); - } -} +#chdir "$FILE_PATH"; +#foreach (<s*.txt>) { +# open (LINE, $_); +# while (<LINE>) { +# /latency = (\d+)/ && push(@supplier_subscription, $1); +# } +#} -my @consumer_subscription; -my @event_time; +#my @consumer_subscription; +#my @event_time; +#my @losts; -foreach(<c*.txt>) { - open (LINE, $_); - while (<LINE>) { - /latency = (\d+)/ && push(@consumer_subscription, $1); - /single trip time = (\d+)/ && push(@event_time, $1); - } -} +#foreach(<c*.txt>) { +# open (LINE, $_); +# while (<LINE>) { +# /latency = (\d+)/ && push(@consumer_subscription, $1); +# /elapsed time = (\d+)/ && push(@event_time, $1); +# /(\d+) events lost/ && push(@losts, $1); +# } +#} -my $sl = mean(@supplier_subscription); -my $cl = mean(@consumer_subscription); -my $em = mean(@event_time); -my $dev_em = dev(@event_time); +#my $sl = mean(@supplier_subscription); +#my $cl = mean(@consumer_subscription); +#my $em = mean(@event_time); +#my $dev_em = dev(@event_time); +#my $lost = mean(@losts); -chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service"; +#chdir "$TAO_ROOT/orbsvcs/FTRT_Event_Service"; -open(RESULT, ">>$TAO_ROOT/orbsvcs/FTRT_Event_Service/result.txt") or die "cannot open result.txt"; +#open(RESULT, ">>$TAO_ROOT/orbsvcs/FTRT_Event_Service/$rd/result.txt") or die "cannot open result.txt"; -write (RESULT); +#write (RESULT); -format RESULT = - @>> @>> @>> @>> @>>> @>> @>>>>>>>>>> @>>>>>>>>> @>>>>>>>>> @######.### -$num_ecs, $num_suppliers, $num_consumers, $transaction_depth, $is_AMI, $heartbeat, $sl, $cl, $em, $dev_em -. +#format RESULT = +# @>> @>> @>> @>> @>>> @>> @>> @>>>>>>>>>> @>>>>>>>>> @>>>>>>>>> @######.### @>> +#$num_ecs, $num_suppliers, $num_consumers, $transaction_depth, $is_AMI, $heartbeat, $freq ,$sl, $cl, $em, $dev_em, $lost +#. sub mean { my $count = @_; |