summaryrefslogtreecommitdiff
path: root/modules/CIAO/tests/IDL3/Events/Any/README
blob: 7bf91be5776df8764d13753ba5f0c61168fe4de7 (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

Event Any Test
=======================

This test defines, instantiates, and initializes an IDL
eventtype with a public string member, inserts it into
an Any, marshals the Any, demarshals the Any, extracts
the eventtype, and compares the resulting member string
with the original. The purpose of the test is to ensure
that (1) the demarshaling of the Any and (2) the
extraction of the eventtype, are successful, since both
these actions are done interpretively by traversing the
eventtype's type code. The motivation for the test was
the failure of these actions due to missing cases in
the interpretive demarshaling code corresponding to
the kind of the eventtype's type code (CORBA::tk_event).

There are several places the test can fail:

- marshaling of the Any
- demarshaling of the Any
- extraction from the Any
- string compare of the sent and received eventtype members

Note that the test code registers a valuetype factory
with the orb, a necessary step in extracting the
eventtype from the Any. In a real-world use case (such
as an event channel) such a factory would have to
be registered with the orb anywhere the eventtype is
to be demarshaled from a CDR stream or extracted from
an Any that was itself demarshaled.

Jeff Parsons