MICO - Test suite ================= This directory contains a little test suite for MICO. Each of the following sub-directories contains a test case, which are described in the following: 1- One interface with one method and no parameters 2- Two interfaces. One interface with two methods. All interfaces have no parameters 3- One interface with one method. Method has three parameters 4- Method with result 5- string 6- fix length struct 7- variable length struct 8- typedef 9- enum 10- module 11- sequence 12- object references 13- attribute 14- Pseudo objects (Any, TypeCode) 15- interface inheritance 16- forward declaration of interface 17- exceptions 18- arrays 19- oneway 20- const 21- union 22- context 23- #include 24- recursive types 25- #pragma 26- --query-server-for-narrow 27- CORBA 2.2 IDL types (wchar et al) 28- re-opening of modules error- testing some IDL errors Most of these test have the client and server object in the same address space. The method CORBA::Object::string_to_object() is optimized such that if client and server objects reside within the same address space, a C++ pointer is being returned as a result of CORBA::Object::string_to_object(). A method invocation in this case is therefore a simple C++ method call, bypassing the marshalling routines. In order to test the marshalling, the files */main.cc contain a #define FORCE_MARSHALLING. If this symbol is defined, the reference to a server object is generated slightly different. This will guarantee that the marshalling code is being used (and therefore tested), although client and server reside in the same address space. If FORCE_MARSHALLING is not defined, things are done the "standard way". A simple "make" will generate an executable called "demo" in most of the sub-directories. "demo" will generate some output to stdout. If everything goes well, this output should be identical with the contents of the file "expected-stdout" of the corresponding sub-directory. A "make check" on this level will just do this test for all sub-directories.