diff options
Diffstat (limited to 'modules/CIAO/tests/IDL3/Lookup')
-rw-r--r-- | modules/CIAO/tests/IDL3/Lookup/README | 21 | ||||
-rw-r--r-- | modules/CIAO/tests/IDL3/Lookup/lookup_test.idl | 76 | ||||
-rw-r--r-- | modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc | 18 |
3 files changed, 115 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL3/Lookup/README b/modules/CIAO/tests/IDL3/Lookup/README new file mode 100644 index 00000000000..a92531070a6 --- /dev/null +++ b/modules/CIAO/tests/IDL3/Lookup/README @@ -0,0 +1,21 @@ + +Lookup Test +======================= + +This test is for IDL compiler handling of references using local +names to declarations in base interfaces, components, valuetypes +and homes, and in supported interfaces. This type of reference +is legal IDL. + +The primary point of the test is that the IDL compiler outputs +no errors in processing the IDL file, and the secondary point +is that the generated code compiles successfully. Therefore, +we have no need for export files, export macros, or *_BUILD_DLL +flags. + +Thanks to Boris Kolpackov <boris@dre.vanderbilt.edu> for the +original example IDL file, which has been slightly modified +for use in this test. + + +Jeff Parsons
\ No newline at end of file diff --git a/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl b/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl new file mode 100644 index 00000000000..74d9b85de22 --- /dev/null +++ b/modules/CIAO/tests/IDL3/Lookup/lookup_test.idl @@ -0,0 +1,76 @@ +// $Id$ +/** + * @file lookup_test.idl + * @authors Boris Kolpackov <boris@dre.vanderbilt.edu> + * Jeff Parsons <j.parsons@vanderbilt.edu> + * + * Tests IDL compiler lookup when local names are used + * to reference declarations in supported interfaces, + * base valuetypes, base components, and base homes. + */ + + +#ifndef IDL3_LOOKUP_TEST_IDL +#define IDL3_LOOKUP_TEST_IDL + +#include <Components.idl> + +module M +{ + interface IB + { + exception Ex {}; + typedef long Foo; + }; + + interface I : IB + { + void f (in Foo bar) raises (Ex); + }; + + valuetype VB + { + typedef long Bar; + }; + + valuetype V : VB supports IB + { + void f (in Bar foo) raises (Ex); + }; + + valuetype EB + { + typedef long Bar; + }; + + valuetype E : EB supports IB + { + void f (in Bar foo) raises (Ex); + }; + + interface T + { + typedef long Bar; + }; + + component CB supports T + { + }; + + component C : CB + { + attribute Bar baz; + }; + + home HB supports IB manages CB + { + typedef long Bar; + }; + + home H : HB manages C + { + void f (in Bar b) raises (Ex); + }; +}; + +#endif /* IDL3_LOOKUP_TEST_IDL */ diff --git a/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc b/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc new file mode 100644 index 00000000000..1449c788ea1 --- /dev/null +++ b/modules/CIAO/tests/IDL3/Lookup/lookup_test.mpc @@ -0,0 +1,18 @@ +// $Id$ + +project(LookupTest_stub): ciao_client_dnc { + + sharedname = LookupTest_stub + + IDL_Files { + lookup_test.idl + } + + Source_Files { + lookup_testC.cpp + } + + Header_Files { + lookup_testC.h + } +} |