blob: 9683f61c5532aa507329e10d0fa5e652bbbfde9b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# -*- perl -*-
# $Id$
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
& eval 'exec perl -S $0 $argv:q'
if 0;
use lib "$ENV{'ACE_ROOT'}/bin";
use PerlACE::TestTarget;
$CIAO_ROOT = $ENV {'CIAO_ROOT'};
$ORBdebuglevel = 0;
$protocols = "-ORBEndpoint \'iiop://\'";
$tg = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
$ior_ambase = "assembly_manager.ior";
$ior_daemonbase = "daemon.ior";
$ior_senderbase = "sender.ior";
$ior_receiverbase = "receiver.ior";
$ior_assemblybase = "assembly.ior";
$ior_amfile = $tg->LocalFile ($ior_ambase);
$tg->LocalFile ($ior_daemonbase);
$tg->LocalFile ($ior_senderbase);
$tg->LocalFile ($ior_receiverbase);
$tg->LocalFile ($ior_assemblybase);
$daemon_1 = $tg->CreateProcess ("${CIAO_ROOT}/tools/Daemon/CIAO_Daemon",
"-ORBEndpoint iiop://localhost:20000 " .
"-n \"${CIAO_ROOT}/tools/RTComponentServer/RTComponentServer -ORBdebuglevel $ORBdebuglevel\"");
$daemon_2 = $tg->CreateProcess ("${CIAO_ROOT}/tools/Daemon/CIAO_Daemon",
"-ORBEndpoint iiop://localhost:12000 " .
"-n \"${CIAO_ROOT}/tools/RTComponentServer/RTComponentServer -ORBdebuglevel $ORBdebuglevel $protocols\"");
$assembly_manager_args = "-o $ior_amfile -c test.dat";
$assembly_manager = $tg->CreateProcess ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager", "$assembly_manager_args");
$assembly_deployer_args = "-k file://$ior_amfile -a remote.cad -o assembly";
$assembly_deployer = $tg->CreateProcess ("${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer", "$assembly_deployer_args");
$controller = $tg->CreateProcess ("../Controller/Controller", "-x 1 -z 1");
# Remove all ior files
$tg->DeleteFile ($ior_ambase);
$tg->DeleteFile ($ior_daemonbase);
$tg->DeleteFile ($ior_senderbase);
$tg->DeleteFile ($ior_receiverbase);
$tg->DeleteFile ($ior_assemblybase);
# Start the daemons.
$daemon_1->Spawn ();
$daemon_2->Spawn ();
# Start the assembly manager
$assembly_manager->Spawn ();
# Wait till the assembly manager finishes writing the IOR
$tg->WaitForFileTimed($ior_ambase, $tg->ProcessStartWaitInterval ());
# Start the Assembly_Deployer
$assembly_deployer->Spawn ();
# Wait till the sender and receiver to finish writing their IORs
$tg->WaitForFileTimed($ior_senderbase, $tg->ProcessStartWaitInterval ());
$tg->WaitForFileTimed($ior_receiverbase, $tg->ProcessStartWaitInterval ());
# Now start the controller
$controller->Spawn ();
# Wait for controller to get done.
$controller->Wait ();
$controller->{RUNNING} = 0;
# Kill daemons.
$daemon_1->Kill ();
$daemon_2->Kill ();
$assembly_manager->Kill ();
$assembly_deployer->Kill ();
# Remove all ior files
$tg->DeleteFile ($ior_ambase);
$tg->DeleteFile ($ior_daemonbase);
$tg->DeleteFile ($ior_senderbase);
$tg->DeleteFile ($ior_receiverbase);
$tg->DeleteFile ($ior_assemblybase);
|