1 This test addresses the functionality of persistence in the
4 Ptest is a class wrapper for the test code. The class contains
5 two functions: populate() and query().
7 To build this test, the TAO library, the TypeCodeFactory
8 library, the Interface Repository (the last two found in
9 TAO/orbsvcs/IFR_Service), must be previously built. In addition,
10 the Interface Repository requires the TAO_Svc_Utils library in
13 It is far easier to run the test with the provided Perl script
14 run_test.pl, but to do it by hand, first start the IFR with
15 (Windows users remember to use backslashes instead):
17 ../../../IFR_Service/IFR_Service -p -m 1
19 Then execute the test code with
23 This will populate the IFR with a few IFR objects.
24 After the test finishes, stop the IFR. Then start it again
25 with the same command line option. Then run the
26 test code again with the query option:
30 You may also add the option -d to this second run of the test
31 code to see the results of the IFR queries (this option will
32 have the same effect if used with the Perl script).
34 After the query run of the test code, before starting again, you must
35 delete the IFR backing store file ("ifr_default_backing_store"). If you
36 like you can use another persistence file by starting the IFR both times with
37 the command line option '-p <filename>'. Just as with the default backing
38 file, it must be deleted before starting the test over.
40 The query run of the test code will also destroy all IFR objects that were
41 created - the repository will be left empty except for the primitive kinds
42 which are always there (and cannot be destroyed).
44 If for some reason IP multicast is not available or enabled on your platform,
47 -ORBInitRef InterfaceRepository=file://if_repo.ior
49 to the client's command line. If the IFR_Service has been started with the
50 command line option -o <filename> (see the README file in the IFR_Service
51 directory), then instead add
53 -ORBInitRef InterfaceRepository=file://<filename>
55 to the client's command line.
57 ACE_ASSERT is used to check each result, so an incorrect result
58 will cause test execution to halt immediately. If a test function
59 is halted for this or any other reason, it is likely that the
60 destroy() call(s) at the end of the function were not exectuted.
61 Before running the test again, the Interface Repository process
62 should be stopped and restarted to avoid a BAD_PARAM exception.
64 More information about the Interface Repository can be found in
65 TAO/docs/releasenotes.index.html.
67 -Jeff Parsons <parsons@cs.wustl.edu>