Merge pull request #2303 from jwillemsen/jwi-803
[ACE_TAO.git] / TAO / orbsvcs / tests / ImplRepo / README
blobfddecd55379a70d44ccbb977086efd9535074410
3 Here are a few tests for the ImplRepo.  The best way to test is to
4 use the run_test.pl passing it one of the following arguments:
6 airplane                  runs airplane client and server without ImplRepo.
7 airplane_ir               same as above but uses ImplRepo.
8 nt_service_ir             same as above but runs ImplRepo as an NT service.
9 nestea                    runs nestea client and server without ImplRepo.
10 nestea_ir                 same as above but uses ImplRepo.
11 both_ir                   combines airplane_ir and nestea_ir.
12 persistent_ir             same as airplane_ir, but using persistent
13                           "-x <file>" flag for the ImplRepo.
14 persistent_ir_hash        same as persistent_ir, but using "-p <file>" flag.
15 persistent_ir_registry    same as persistent_ir, but using "-r" flag
16                           (windows registry flag).
17 persistent_ir_shared      same as persistent_ir, but using
18                           "--directory <dir>" flag.
19 persistent_ft             runs a primary and backup ImR Locator, verifying
20                           persistence works in different scenarios of
21                           the primary or backup being shutdown. Must also
22                           pass the "-replica" command to run_test.pl for
23                           this test to run.
24 failover                  runs a primary and backup ImR Locator, verifying
25                           different scenarios of the primary or backup being
26                           shutdown and clients, servers, activators, and
27                           tao_imr activities being unaffected. Must also
28                           pass the "-replica" command to run_test.pl for
29                           this test to run.
30 manual_persistent_restart Does a test with the ImR where we are using a
31                           manual registered server that is started but
32                           then killed when the ImR is not running, using
33                           the -x <file> flag
34 manual_persistent_restart_hash same as manual_persistent_restart but using -p
35 manual_persistent_restart_registry same as manual_persistent_restart but using
36                                    windows registry
37 manual_persistent_restart_shared same as manual_persistent_restart --directory
39 The nt_service_ir, persistent_ir_registry, and manual_persistent_restart_registry
40 tests will work only on Win32 platforms. For the test to run successfully,
41 these conditions must be met:
43 --  The user must be logged in as administrator, or have administrative
44     priveleges (in order to register an NT service).
46 --  ACE_ROOT must be set to the ACE_wrappers directory in the system
47     environment.
49 --  ACE_ROOT/bin must be in the system path.
51 How to use NT ImR Services
52 ==================================
54 The first step is to install one or both ImplRepo applications as NT
55 services. To do this run:
57 ImplRepo_Service -c install
58 ImR_Activator -c install
60 If you want to reinstall or change the installed settings then you
61 must first use:
63 ImplRepo_Service -c remove
64 ImR_Activator -c remove
66 Any extra command line options, will be saved in the Windows registry,
67 and used when the service is actually started.
69 In the following example I start the activator service, and then the
70 ImplRepo itself on port 8888 using iiop. I also tell the activator to use
71 xml as its persistence format, and to timeout unresponsive servers in 60 seconds.
72 I disable debug output for both, as there seems to be no way to access it anyway.
74 * copy the exe's to the same location as their dll's
75 cd %ace_root%\lib
76 copy %tao_root%\orbsvcs\ImplRepo_Service\*.exe .\
78 * Register the services. (You may have to remove them first)
79 ImR_Activator -c install -x activator.xml -t 60 -d 0 -orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService
80 ImplRepo_Service -c install -d 0 -orbendpoint iiop://:8888
82 * Start both services.
83 net start taoimrlocator
84 net start taoimractivator
86 * Register a server
87 cd %tao_root%\orbsvcs\tests\ImplRepo
88 %tao_root%\orbsvcs\ImplRepo_service\tao_imr add airplane_server -orbuseimr 1 -orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService
90 * Run the server
91 airplane_server -o airplane.ior -orbuseimr 1 -orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService
93 * Run the client
94 airplane_client -k file://airplane.ior
95 --or--
96 airplane_client -k corbaloc::localhost:8888/airplane_server
99 More information about the Implementation Repository can be found in
100 TAO/docs.