diff options
Diffstat (limited to 'TAO/tests/GIOP_Fragments/Java_Big_Request/run_test.pl')
-rwxr-xr-x | TAO/tests/GIOP_Fragments/Java_Big_Request/run_test.pl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/TAO/tests/GIOP_Fragments/Java_Big_Request/run_test.pl b/TAO/tests/GIOP_Fragments/Java_Big_Request/run_test.pl new file mode 100755 index 00000000000..e8514914409 --- /dev/null +++ b/TAO/tests/GIOP_Fragments/Java_Big_Request/run_test.pl @@ -0,0 +1,53 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# -*- perl -*- + +use lib '../../../../bin'; +use PerlACE::Run_Test; + +$status = 0; +$iorfile = PerlACE::LocalFile ('server.ior'); +$TARGETHOSTNAME = 'localhost'; +$port = PerlACE::uniqueid () + 12000; + +## No ORB fragments GIOP 1.0 messages. +## The JDK ORB only fragments GIOP 1.2 messages. +foreach my $giop ('1.2') { + print "Testing GIOP $giop Fragmentation\n"; + unlink $iorfile; + + $SV = new PerlACE::Process ('server', + '-ORBEndpoint ' . + "iiop://$giop\@$TARGETHOSTNAME" . ":$port"); + $SV->Spawn (); + + if (PerlACE::waitforfile_timed ($iorfile, 15) == -1) { + print STDERR "ERROR: cannot find file <$iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; + } + + my($cl) = system('java client'); + if ($cl != 0) { + print STDERR "ERROR: client returned $cl\n"; + ++$status; + } + + $server = $SV->WaitKill (20); + + if ($server != 0) { + print STDERR "ERROR: server returned $server\n"; + ++$status; + } + + unlink $iorfile; + + if ($status) { + last; + } +} + +exit $status; |