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
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
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
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
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
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
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
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
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
91 airplane_server -o airplane.ior -orbuseimr 1 -orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService
94 airplane_client -k file://airplane.ior
96 airplane_client -k corbaloc::localhost:8888/airplane_server
99 More information about the Implementation Repository can be found in