summaryrefslogtreecommitdiff
path: root/trunk/TAO/tests/Abstract_Interface/README
blob: f4607cafe2aeb0cf45d4b167553058dff763a4b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# $Id$

Description:

This code contains some simple tests of abstract interfaces.

Note:

The test for passing state with a valuetype is based on the code
in TAO/tests/OBV/Forward. A simple valuetype tree is constructed
by defining valuetypes that can contain other valuetypes as a root
or as left and right branches. All nodes also contain a string name.
The tree is constructed on the server side and the root is passed back to the
client in an OUT argument as an abstract interface. The valuetype
is extracted, and the contents of the tree are displayed.

The other two tests are for operations of an interface passed as an
abstract interface. A derived interface is passed to the client in
an OUT argument as an abstract interface which is the parent of the
derived interface's base class. The base class operation is called
directly on the abstract interface by the client. Then the interface
itself is extracted and cast to the derived type. Finally, both the
base class and the derived class operations are called by the client.

In the final test, an operation called on the abstract interface 
is made to throw a user exception deliberately to test exception
handling.

Usage:

The server will put the passer object's IOR into a file with a default
name known to the client. However, the filename may be changed with:

$ server -o <filename>

in which case the client should be run as follows:

$ client -k file://<filename>

Other client command line options:

-d Enable test output for debugging
-s Test the passing of state only
-o Test operations only
-e Test exception handling only

The last three options are  mutually exclusive and will override
any previous test selection options. The default behavior is to run 
all three tests.