diff options
Diffstat (limited to 'TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl')
-rwxr-xr-x | TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl b/TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl new file mode 100755 index 00000000000..2d042617a94 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl @@ -0,0 +1,50 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# -*- perl -*- +# $Id$ + +use Env (ACE_ROOT); + +unshift @INC, "$ACE_ROOT/bin"; +require ACEutils; + +$status = 0; + +# Set the SSL environment +$ENV{'SSL_CERT_FILE'} = 'cacert.pem'; + +$iorfile = "server.ior"; +unlink $iorfile; +$SV = Process::Create ($EXEPREFIX."server$EXE_EXT ", + " -ORBSvcConf server_nopasswd.conf " + . " -o $iorfile"); + +if (ACE::waitforfile_timed ($iorfile, 5) == -1) { + print STDERR "ERROR: cannot find file <$iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} + +$CL = Process::Create ($EXEPREFIX."client$EXE_EXT ", + " -ORBSvcConf client_nopasswd.conf " + . " -k file://$iorfile"); + +$client = $CL->TimedWait (60); +if ($client == -1) { + print STDERR "ERROR: client timedout\n"; + $CL->Kill (); $CL->TimedWait (1); + $status = 1; +} + +$server = $SV->TimedWait (15); +if ($server == -1) { + print STDERR "ERROR: server timedout\n"; + $SV->Kill (); $SV->TimedWait (1); + $status = 1; +} + +unlink $iorfile; + +exit $status; |