ACE+TAO-7_0_8
[ACE_TAO.git] / TAO / tests / RTCORBA / Server_Declared / run_test.pl
blob3e29c9671ff7af7ba6a5282e00ac43a13392f359
1 eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
2 & eval 'exec perl -S $0 $argv:q'
3 if 0;
5 # -*- perl -*-
7 use lib "$ENV{ACE_ROOT}/bin";
8 use PerlACE::TestTarget;
10 my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";
11 my $client = PerlACE::TestTarget::create_target (2) || die "Create target 2 failed\n";
13 my $iorbase1 = "test1.ior";
14 my $iorbase2 = "test2.ior";
15 my $client_iorfile1 = $client->LocalFile ("$iorbase1");
16 my $server_iorfile1 = $server->LocalFile ("$iorbase1");
18 my $client_iorfile2 = $client->LocalFile ("$iorbase2");
19 my $server_iorfile2 = $server->LocalFile ("$iorbase2");
21 $server->DeleteFile($iorbase1);
22 $client->DeleteFile($iorbase1);
24 $server->DeleteFile($iorbase2);
25 $client->DeleteFile($iorbase2);
27 my $svc_conf = 'svc.conf';
29 # copy the configuation files
30 if ($server->PutFile ($svc_conf) == -1) {
31 print STDERR "ERROR: cannot set file <".$server->LocalFile ($svc_conf).">\n";
32 exit 1;
34 if ($server->PutFile ($svc_conf.'.xml') == -1) {
35 print STDERR "ERROR: cannot set file <".$server->LocalFile ($svc_conf.'.xml').">\n";
36 exit 1;
38 if ($client->PutFile ($svc_conf) == -1) {
39 print STDERR "ERROR: cannot set file <".$client->LocalFile ($svc_conf).">\n";
40 exit 1;
42 if ($client->PutFile ($svc_conf.'.xml') == -1) {
43 print STDERR "ERROR: cannot set file <".$client->LocalFile ($svc_conf.'.xml').">\n";
44 exit 1;
47 $status = 0;
49 $server_args =
50 "-a 45 -b 55";
52 print STDERR "Value is " . $^O;
54 if ($^O eq "MSWin32") {
55 $server_args =
56 "-a 1 -b 2";
58 elsif ($^O eq "dec_osf") {
59 $server_args =
60 "-a 20 -b 30";
62 elsif ($^O eq "hpux") {
63 $continuous = 1;
64 $server_args =
65 "-a 17 -b 29";
68 if ($continuous) {
69 $server_args .= " -ORBSvcConf continuous$PerlACE::svcconf_ext";
72 $SV = $server->CreateProcess ("server", "-p $server_iorfile1 -o $server_iorfile2 $server_args");
73 $CL = $client->CreateProcess ("client", "-p file://$client_iorfile1 -o file://$client_iorfile2");
75 print STDERR "\n********** RTCORBA SERVER_DECLARED Priority Unit Test\n\n";
77 $server_status = $SV->Spawn ();
79 if ($server_status != 0) {
80 print STDERR "ERROR: server returned $server_status\n";
81 exit 1;
84 if ($server->WaitForFileTimed ($iorbase2,
85 $server->ProcessStartWaitInterval ()) == -1) {
86 $server_status = $SV->TimedWait (1);
87 if ($server_status == 2) {
88 # Mark as no longer running to avoid errors on exit.
89 $SV->{RUNNING} = 0;
90 exit $status;
92 else {
93 print STDERR "ERROR: cannot find file <$server_iorfile2>\n";
94 $SV->Kill ();
95 exit 1;
99 $client_status = $CL->SpawnWaitKill ($client->ProcessStartWaitInterval ());
101 if ($client_status != 0) {
102 print STDERR "ERROR: client returned $client_status\n";
103 $status = 1;
106 $server_status = $SV->WaitKill ($server->ProcessStopWaitInterval ());
108 if ($server_status != 0) {
109 print STDERR "ERROR: server returned $server_status\n";
110 $status = 1;
113 $server->DeleteFile($iorbase1);
114 $client->DeleteFile($iorbase1);
116 $server->DeleteFile($iorbase2);
117 $client->DeleteFile($iorbase2);
119 exit $status;