diff options
Diffstat (limited to 'TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/README')
-rw-r--r-- | TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/README | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/README b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/README new file mode 100644 index 00000000000..45898fd7299 --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/README @@ -0,0 +1,113 @@ +$Id$ + +Admin_Client is a class containing several functions which test +the methods in various IFR object classes. Since automatic +administration of the TAO Interface Repository has not yet been +implemented, each of these functions creates, queries, modifies, +moves, and finally destroys several IFR objects, none of which +are related to anything found in an actual IDL file. + +Not every type of IFR object is represented by an Admin_Client +function (the name of which gives a hint about what type of +IFR object it tests). There are two reasons for this - the +first being that there will almost certainly be more tests +added later, and the second being that many of the functions +test more than one IFR object type. For example, interface_test() +tests not only the functionality of InterfaceDef, but also that +of AttributeDef and OperationDef, since these IFR objects are +created only by an InterfaceDef. In a similar way, alias_test() +tests WstringDef and SequenceDef in addition to AliasDef, and +StringDef and PrimitiveDef members are created and tested in +struct_test(), union_test() and exception_test(). + +To build this test, the TAO library, the TypeCodeFactory +library, the Interface Repository (the last two found in +TAO/orbsvcs/IFR_Service), and these test files must all be built. +In addition, the Interface Repository requires the TAO_Svc_Utils +library in TAO/orbsvcs/orbsvcs. + +To run this test, either use the Perl script run_test.pl, or + + + +(Windows) +start the Interface Repository by typing + + ..\..\..\IFR_Service\IFR_Service + +in one window, then (in another window) + + IFR_Test -ORBInitRef InterfaceRepository=file://if_repo.ior + +(Unix) +in this directory, type + + ../../../IFR_Service/IFR_Service & + +then + + ./IFR_Test -ORBInitRef InterfaceRepository=file://if_repo.ior + + + +You may use IP multicast discovery by starting the server with "-m 1" +and use the default multicast address for the InterfaceRepository. + + ../../../IFR_Service/IFR_Service -m 1 + +and + + ./IFR_Test + +You may add any of the options below to the IFR_Test command line. Both the +Perl script and the test executable have the same command line options. +They are: + + -d Outputs the results of queries along with a string + explaining the sequence of calls and/or accesses + leading to each result. There is also informative + output when an IFR object is modified or moved. + Default output is the test name only. + + -t (followed by test name - see below). This will + execute only the selected test. Default is to + execute all test functions. + Test names: + array + enum + alias + native + struct + union + exception + constant + interface + move + module + + + -i (followed by number of iterations). This will + cause each test function (or the selected one) + to be executed <n> times. A useful selection + here is -i 2. At the end of each test function, + all IFR objects created in that function are + destroyed. If the destroy() function does not + work properly, then the second execution will + raise a BAD_PARAM exception when the test + attempts to create the undestroyed object. + +ACE_ASSERT is used to check each result, so an incorrect result +will cause test execution to halt immediately. If a test function +is halted for this or any other reason, it is likely that the +destroy() call(s) at the end of the function were not exectuted. +Before running the test again, the Interface Repository process +should be stopped and restarted to avoid a BAD_PARAM exception. + +The IFR server is started in this test with locking enabled. Even +though the test itself is single-threaded, using this option will +ensure that future modifications to IFR code don't cause deadlocks. + +More information about the Interface Repository can be found in +TAO/docs/releasenotes.index.html. + +-Jeff Parsons <parsons@cs.wustl.edu>
\ No newline at end of file |