Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tests / IDL_Test / README
blobec8321dd999c4e0239e8b2878754e98289cd8d85
1 This test is a collection of IDL files that once caused IDL compiler
2 or C++ compiler errors, plus a dummy main.cpp for the build. There is
3 no execution check in this test, the only outcome of interest being
4 the build. The examples in the IDL files come from many sources - some
5 are made from scratch, some are adapted from other tests, and some are
6 adapted from examples sent in by ACE and/or TAO users. To all of these
7 last, many thanks for your help in digging out these bugs!
9 Each IDL file contains examples that are related, either by the IDL
10 type involved or by the context in which the error occurs. As new bugs
11 are uncovered and fixed, new examples will be added to the suite, to
12 ensure that the bugs do not recur.
14 The -GA option has been added to the IDL compiler command line. This
15 option generates the implementations of type codes and Any
16 insertion/extraction operators in a separate file with the
17 extension *A.cpp. These files have been added to the build, to make
18 sure that the option functions correctly for all the IDL types
19 found in this test. If the client or server does not use type codes
20 or Anys, these files may be left out of the compilation. This
21 feature is tested in TAO_ROOT/tests/Hello.
23 The IDL compiler command line options -GC -GH and -Gd have also been added.
24 They switch on generation, respectively, of extra code for Asynchronous
25 Method Invocation (AMI), Asynchronous Method Handling (AMH) and direct
26 collocation of invocations (bypassing the POA and using a simple C++
27 method call). By adding these options we can test for correct code
28 generation for every IDL interface found in this test.
30 To build the test files, type 'make' at the command line. The TAO IDL
31 compiler will open each IDL file in the directory and generate code
32 that will then be compiled by the C++ compiler on your platform.
34 To run the test, type 'main' at the command line. The generation of
35 correct IOR prefixes in pragma.idl is checked in the body of main().
36 The rest of the .idl files need only to build cleanly. To test the
37 client/server functionality of the various IDL types and operations,
38 see the test suite in ACE_wrappers/TAO/tests/Param_Test.
40 There are a few negative tests (e.g. invalid_scoping, keyword_case_diff,
41 exception_misuse) where it shall be verified that tao_idl exits with
42 an error status. The main.cpp program cannot be used for them because
43 it only handles positive tests. To this end, run the script run_test.pl.