1%%-----------------------------------------------------------------
2%%
3%% %CopyrightBegin%
4%%
5%% Copyright Ericsson AB 2004-2016. All Rights Reserved.
6%%
7%% Licensed under the Apache License, Version 2.0 (the "License");
8%% you may not use this file except in compliance with the License.
9%% You may obtain a copy of the License at
10%%
11%%     http://www.apache.org/licenses/LICENSE-2.0
12%%
13%% Unless required by applicable law or agreed to in writing, software
14%% distributed under the License is distributed on an "AS IS" BASIS,
15%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16%% See the License for the specific language governing permissions and
17%% limitations under the License.
18%%
19%% %CopyrightEnd%
20%%
21%%
22%%-----------------------------------------------------------------
23%% File    : generated_SUITE.erl
24%% Purpose :
25%% Created : 27 Jan 2004
26%%-----------------------------------------------------------------
27
28-module(generated_SUITE).
29
30-include_lib("common_test/include/ct.hrl").
31-include_lib("orber/include/corba.hrl").
32
33-define(default_timeout, test_server:minutes(3)).
34
35-define(match(ExpectedRes, Expr),
36        fun() ->
37		AcTuAlReS = (catch (Expr)),
38		case AcTuAlReS of
39		    ExpectedRes ->
40			AcTuAlReS;
41		    _ ->
42			io:format("###### ERROR ERROR ######~n~p~n",
43				  [AcTuAlReS]),
44			exit(AcTuAlReS)
45		end
46	end()).
47
48-define(nomatch(Not, Expr),
49        fun() ->
50		AcTuAlReS = (catch (Expr)),
51		case AcTuAlReS of
52		    Not ->
53			io:format("###### ERROR ERROR ######~n~p~n",
54				  [AcTuAlReS]),
55			exit(AcTuAlReS);
56		    _ ->
57			AcTuAlReS
58		end
59	end()).
60
61
62-define(checktc(_Op),
63        fun(TC) ->
64		case orber_tc:check_tc(TC) of
65		    false ->
66			io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
67			exit(TC);
68		    true ->
69			true
70		end
71	end).
72
73%%-----------------------------------------------------------------
74%% External exports
75%%-----------------------------------------------------------------
76-export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1,
77	 init_per_group/2,end_per_group/2]).
78
79%%-----------------------------------------------------------------
80%% Internal exports
81%%-----------------------------------------------------------------
82-compile(export_all).
83
84%%-----------------------------------------------------------------
85%% Func: all/1
86%% Args:
87%% Returns:
88%%-----------------------------------------------------------------
89suite() -> [{ct_hooks,[ts_install_cth]}].
90
91all() ->
92    ['CosTransactions_Control',
93     'CosTransactions_Coordinator',
94     'CosTransactions_HeuristicCommit',
95     'CosTransactions_HeuristicHazard',
96     'CosTransactions_HeuristicMixed',
97     'CosTransactions_HeuristicRollback',
98     'CosTransactions_Inactive',
99     'CosTransactions_InvalidControl',
100     'CosTransactions_NoTransaction',
101     'CosTransactions_NotPrepared',
102     'CosTransactions_NotSubtransaction',
103     'CosTransactions_RecoveryCoordinator',
104     'CosTransactions_Resource',
105     'CosTransactions_SubtransactionAwareResource',
106     'CosTransactions_SubtransactionsUnavailable',
107     'CosTransactions_Terminator',
108     'CosTransactions_TransactionFactory',
109     'CosTransactions_Unavailable',
110     'CosTransactions_SynchronizationUnavailable',
111     'CosTransactions_TransIdentity',
112     'CosTransactions_PropagationContext',
113     'CosTransactions_otid_t',
114     'CosTransactions_WrongTransaction', 'ETraP_Server'].
115
116groups() ->
117    [].
118
119init_per_suite(Config) ->
120    Config.
121
122end_per_suite(_Config) ->
123    ok.
124
125init_per_group(_GroupName, Config) ->
126    Config.
127
128end_per_group(_GroupName, Config) ->
129    Config.
130
131
132%%-----------------------------------------------------------------
133%% Init and cleanup functions.
134%%-----------------------------------------------------------------
135init_per_testcase(_Case, Config) ->
136    Dog=test_server:timetrap(?default_timeout),
137    [{watchdog, Dog}|Config].
138
139end_per_testcase(_Case, Config) ->
140    Dog = proplists:get_value(watchdog, Config),
141    test_server:timetrap_cancel(Dog),
142    ok.
143
144%%-----------------------------------------------------------------
145%% Test Case: 'CosTransactions_HeuristicCommit'
146%% Description:
147%%-----------------------------------------------------------------
148'CosTransactions_HeuristicCommit'(_) ->
149    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicCommit':tc())),
150    ?match("IDL:omg.org/CosTransactions/HeuristicCommit:1.0",
151	   'CosTransactions_HeuristicCommit':id()),
152    ?match("CosTransactions_HeuristicCommit",
153	   'CosTransactions_HeuristicCommit':name()),
154    ok.
155
156
157%%-----------------------------------------------------------------
158%% Test Case: 'CosTransactions_HeuristicHazard'
159%% Description:
160%%-----------------------------------------------------------------
161'CosTransactions_HeuristicHazard'(_) ->
162    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicHazard':tc())),
163    ?match("IDL:omg.org/CosTransactions/HeuristicHazard:1.0",
164	   'CosTransactions_HeuristicHazard':id()),
165    ?match("CosTransactions_HeuristicHazard",
166	   'CosTransactions_HeuristicHazard':name()),
167    ok.
168
169
170%%-----------------------------------------------------------------
171%% Test Case: 'CosTransactions_HeuristicMixed'
172%% Description:
173%%-----------------------------------------------------------------
174'CosTransactions_HeuristicMixed'(_) ->
175    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicMixed':tc())),
176    ?match("IDL:omg.org/CosTransactions/HeuristicMixed:1.0",
177	   'CosTransactions_HeuristicMixed':id()),
178    ?match("CosTransactions_HeuristicMixed",
179	   'CosTransactions_HeuristicMixed':name()),
180    ok.
181
182
183%%-----------------------------------------------------------------
184%% Test Case: 'CosTransactions_HeuristicRollback'
185%% Description:
186%%-----------------------------------------------------------------
187'CosTransactions_HeuristicRollback'(_) ->
188    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicRollback':tc())),
189    ?match("IDL:omg.org/CosTransactions/HeuristicRollback:1.0",
190	   'CosTransactions_HeuristicRollback':id()),
191    ?match("CosTransactions_HeuristicRollback",
192	   'CosTransactions_HeuristicRollback':name()),
193    ok.
194
195
196%%-----------------------------------------------------------------
197%% Test Case: 'CosTransactions_Inactive'
198%% Description:
199%%-----------------------------------------------------------------
200'CosTransactions_Inactive'(_) ->
201    ?match(true, orber_tc:check_tc('CosTransactions_Inactive':tc())),
202    ?match("IDL:omg.org/CosTransactions/Inactive:1.0",
203	   'CosTransactions_Inactive':id()),
204    ?match("CosTransactions_Inactive",
205	   'CosTransactions_Inactive':name()),
206    ok.
207
208
209%%-----------------------------------------------------------------
210%% Test Case: 'CosTransactions_InvalidControl'
211%% Description:
212%%-----------------------------------------------------------------
213'CosTransactions_InvalidControl'(_) ->
214    ?match(true, orber_tc:check_tc('CosTransactions_InvalidControl':tc())),
215    ?match("IDL:omg.org/CosTransactions/InvalidControl:1.0",
216	   'CosTransactions_InvalidControl':id()),
217    ?match("CosTransactions_InvalidControl",
218	   'CosTransactions_InvalidControl':name()),
219    ok.
220
221
222%%-----------------------------------------------------------------
223%% Test Case: 'CosTransactions_NoTransaction'
224%% Description:
225%%-----------------------------------------------------------------
226'CosTransactions_NoTransaction'(_) ->
227    ?match(true, orber_tc:check_tc('CosTransactions_NoTransaction':tc())),
228    ?match("IDL:omg.org/CosTransactions/NoTransaction:1.0",
229	   'CosTransactions_NoTransaction':id()),
230    ?match("CosTransactions_NoTransaction",
231	   'CosTransactions_NoTransaction':name()),
232    ok.
233
234
235%%-----------------------------------------------------------------
236%% Test Case: 'CosTransactions_NotPrepared'
237%% Description:
238%%-----------------------------------------------------------------
239'CosTransactions_NotPrepared'(_) ->
240    ?match(true, orber_tc:check_tc('CosTransactions_NotPrepared':tc())),
241    ?match("IDL:omg.org/CosTransactions/NotPrepared:1.0",
242	   'CosTransactions_NotPrepared':id()),
243    ?match("CosTransactions_NotPrepared",
244	   'CosTransactions_NotPrepared':name()),
245    ok.
246
247
248%%-----------------------------------------------------------------
249%% Test Case: 'CosTransactions_NotSubtransaction'
250%% Description:
251%%-----------------------------------------------------------------
252'CosTransactions_NotSubtransaction'(_) ->
253    ?match(true, orber_tc:check_tc('CosTransactions_NotSubtransaction':tc())),
254    ?match("IDL:omg.org/CosTransactions/NotSubtransaction:1.0",
255	   'CosTransactions_NotSubtransaction':id()),
256    ?match("CosTransactions_NotSubtransaction",
257	   'CosTransactions_NotSubtransaction':name()),
258    ok.
259
260
261%%-----------------------------------------------------------------
262%% Test Case: 'CosTransactions_SubtransactionsUnavailable'
263%% Description:
264%%-----------------------------------------------------------------
265'CosTransactions_SubtransactionsUnavailable'(_) ->
266    ?match(true, orber_tc:check_tc('CosTransactions_SubtransactionsUnavailable':tc())),
267    ?match("IDL:omg.org/CosTransactions/SubtransactionsUnavailable:1.0",
268	   'CosTransactions_SubtransactionsUnavailable':id()),
269    ?match("CosTransactions_SubtransactionsUnavailable",
270	   'CosTransactions_SubtransactionsUnavailable':name()),
271    ok.
272
273
274%%-----------------------------------------------------------------
275%% Test Case: 'CosTransactions_Unavailable'
276%% Description:
277%%-----------------------------------------------------------------
278'CosTransactions_Unavailable'(_) ->
279    ?match(true, orber_tc:check_tc('CosTransactions_Unavailable':tc())),
280    ?match("IDL:omg.org/CosTransactions/Unavailable:1.0",
281	   'CosTransactions_Unavailable':id()),
282    ?match("CosTransactions_Unavailable",
283	   'CosTransactions_Unavailable':name()),
284    ok.
285
286
287%%-----------------------------------------------------------------
288%% Test Case: 'CosTransactions_SynchronizationUnavailable'
289%% Description:
290%%-----------------------------------------------------------------
291'CosTransactions_SynchronizationUnavailable'(_) ->
292    ?match(true, orber_tc:check_tc('CosTransactions_SynchronizationUnavailable':tc())),
293    ?match("IDL:omg.org/CosTransactions/SynchronizationUnavailable:1.0",
294	   'CosTransactions_SynchronizationUnavailable':id()),
295    ?match("CosTransactions_SynchronizationUnavailable",
296	   'CosTransactions_SynchronizationUnavailable':name()),
297    ok.
298
299%%-----------------------------------------------------------------
300%% Test Case: 'CosTransactions_TransIdentity'
301%% Description:
302%%-----------------------------------------------------------------
303'CosTransactions_TransIdentity'(_) ->
304    ?match(true, orber_tc:check_tc('CosTransactions_TransIdentity':tc())),
305    ?match("IDL:omg.org/CosTransactions/TransIdentity:1.0",
306	   'CosTransactions_TransIdentity':id()),
307    ?match("CosTransactions_TransIdentity",
308	   'CosTransactions_TransIdentity':name()),
309    ok.
310
311%%-----------------------------------------------------------------
312%% Test Case: 'CosTransactions_PropagationContext'
313%% Description:
314%%-----------------------------------------------------------------
315'CosTransactions_PropagationContext'(_) ->
316    ?match(true, orber_tc:check_tc('CosTransactions_PropagationContext':tc())),
317    ?match("IDL:omg.org/CosTransactions/PropagationContext:1.0",
318	   'CosTransactions_PropagationContext':id()),
319    ?match("CosTransactions_PropagationContext",
320	   'CosTransactions_PropagationContext':name()),
321    ok.
322
323%%-----------------------------------------------------------------
324%% Test Case: 'CosTransactions_otid_t'
325%% Description:
326%%-----------------------------------------------------------------
327'CosTransactions_otid_t'(_) ->
328    ?match(true, orber_tc:check_tc('CosTransactions_otid_t':tc())),
329    ?match("IDL:omg.org/CosTransactions/otid_t:1.0",
330	   'CosTransactions_otid_t':id()),
331    ?match("CosTransactions_otid_t",
332	   'CosTransactions_otid_t':name()),
333    ok.
334
335%%-----------------------------------------------------------------
336%% Test Case: 'CosTransactions_WrongTransaction'
337%% Description:
338%%-----------------------------------------------------------------
339'CosTransactions_WrongTransaction'(_) ->
340    ?match(true, orber_tc:check_tc('CosTransactions_WrongTransaction':tc())),
341    ?match("IDL:omg.org/CosTransactions/WrongTransaction:1.0",
342	   'CosTransactions_WrongTransaction':id()),
343    ?match("CosTransactions_WrongTransaction",
344	   'CosTransactions_WrongTransaction':name()),
345    ok.
346
347
348%%-----------------------------------------------------------------
349%% Test Case: 'CosTransactions_Control'
350%% Description:
351%%-----------------------------------------------------------------
352'CosTransactions_Control'(_) ->
353    ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_terminator)),
354    ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_coordinator)),
355    ?match(undefined, 'CosTransactions_Control':oe_tc(undefined)),
356    ?match([_|_], 'CosTransactions_Control':oe_get_interface()),
357    ?match("IDL:omg.org/CosTransactions/Control:1.0",
358	   'CosTransactions_Control':typeID()),
359    check_tc('CosTransactions_Control':oe_get_interface()),
360    ?match(true, 'CosTransactions_Control':oe_is_a('CosTransactions_Control':typeID())),
361    ?match(false, 'CosTransactions_Control':oe_is_a("wrong")),
362    ok.
363
364
365%%-----------------------------------------------------------------
366%% Test Case: 'CosTransactions_Coordinator'
367%% Description:
368%%-----------------------------------------------------------------
369'CosTransactions_Coordinator'(_) ->
370    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_status)),
371    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_parent_status)),
372    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_top_level_status)),
373    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_same_transaction)),
374    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_related_transaction)),
375    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_ancestor_transaction)),
376    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_descendant_transaction)),
377    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_top_level_transaction)),
378    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_transaction)),
379    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_top_level_tran)),
380    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_resource)),
381    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_subtran_aware)),
382    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(rollback_only)),
383    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_transaction_name)),
384    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(create_subtransaction)),
385    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_txcontext)),
386    ?match(undefined, 'CosTransactions_Coordinator':oe_tc(undefined)),
387    ?match([_|_], 'CosTransactions_Coordinator':oe_get_interface()),
388    ?match("IDL:omg.org/CosTransactions/Coordinator:1.0",
389	   'CosTransactions_Coordinator':typeID()),
390    check_tc('CosTransactions_Coordinator':oe_get_interface()),
391    ?match(true, 'CosTransactions_Coordinator':oe_is_a('CosTransactions_Coordinator':typeID())),
392    ?match(false, 'CosTransactions_Coordinator':oe_is_a("wrong")),
393    ok.
394
395
396%%-----------------------------------------------------------------
397%% Test Case: 'CosTransactions_RecoveryCoordinator'
398%% Description:
399%%-----------------------------------------------------------------
400'CosTransactions_RecoveryCoordinator'(_) ->
401    ?nomatch(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(replay_completion)),
402    ?match(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(undefined)),
403    ?match([_|_], 'CosTransactions_RecoveryCoordinator':oe_get_interface()),
404    ?match("IDL:omg.org/CosTransactions/RecoveryCoordinator:1.0",
405	   'CosTransactions_RecoveryCoordinator':typeID()),
406    check_tc('CosTransactions_RecoveryCoordinator':oe_get_interface()),
407    ?match(true, 'CosTransactions_RecoveryCoordinator':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
408    ?match(false, 'CosTransactions_RecoveryCoordinator':oe_is_a("wrong")),
409    ok.
410
411
412%%-----------------------------------------------------------------
413%% Test Case: 'CosTransactions_Resource'
414%% Description:
415%%-----------------------------------------------------------------
416'CosTransactions_Resource'(_) ->
417    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(prepare)),
418    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(rollback)),
419    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit)),
420    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit_one_phase)),
421    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(forget)),
422    ?match(undefined, 'CosTransactions_Resource':oe_tc(undefined)),
423    ?match([_|_], 'CosTransactions_Resource':oe_get_interface()),
424    ?match("IDL:omg.org/CosTransactions/Resource:1.0",
425	   'CosTransactions_Resource':typeID()),
426    check_tc('CosTransactions_Resource':oe_get_interface()),
427    ?match(true, 'CosTransactions_Resource':oe_is_a('CosTransactions_Resource':typeID())),
428    ?match(false, 'CosTransactions_Resource':oe_is_a("wrong")),
429    ok.
430
431
432%%-----------------------------------------------------------------
433%% Test Case: 'CosTransactions_SubtransactionAwareResource'
434%% Description:
435%%-----------------------------------------------------------------
436'CosTransactions_SubtransactionAwareResource'(_) ->
437    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_subtransaction)),
438    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback_subtransaction)),
439    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(prepare)),
440    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback)),
441    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit)),
442    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_one_phase)),
443    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(forget)),
444    ?match(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(undefined)),
445    ?match([_|_], 'CosTransactions_SubtransactionAwareResource':oe_get_interface()),
446    ?match("IDL:omg.org/CosTransactions/SubtransactionAwareResource:1.0",
447	   'CosTransactions_SubtransactionAwareResource':typeID()),
448    check_tc('CosTransactions_SubtransactionAwareResource':oe_get_interface()),
449    ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_SubtransactionAwareResource':typeID())),
450    ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_Resource':typeID())),
451    ?match(false, 'CosTransactions_SubtransactionAwareResource':oe_is_a("wrong")),
452    ok.
453
454
455%%-----------------------------------------------------------------
456%% Test Case: 'CosTransactions_Terminator'
457%% Description:
458%%-----------------------------------------------------------------
459'CosTransactions_Terminator'(_) ->
460    ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(commit)),
461    ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(rollback)),
462    ?match(undefined, 'CosTransactions_Terminator':oe_tc(undefined)),
463    ?match([_|_], 'CosTransactions_Terminator':oe_get_interface()),
464    ?match("IDL:omg.org/CosTransactions/Terminator:1.0",
465	   'CosTransactions_Terminator':typeID()),
466    check_tc('CosTransactions_Terminator':oe_get_interface()),
467    ?match(true, 'CosTransactions_Terminator':oe_is_a('CosTransactions_Terminator':typeID())),
468    ?match(false, 'CosTransactions_Terminator':oe_is_a("wrong")),
469    ok.
470
471
472%%-----------------------------------------------------------------
473%% Test Case: 'CosTransactions_TransactionFactory'
474%% Description:
475%%-----------------------------------------------------------------
476'CosTransactions_TransactionFactory'(_) ->
477    ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(create)),
478    ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(recreate)),
479    ?match(undefined, 'CosTransactions_TransactionFactory':oe_tc(undefined)),
480    ?match([_|_], 'CosTransactions_TransactionFactory':oe_get_interface()),
481    ?match("IDL:omg.org/CosTransactions/TransactionFactory:1.0",
482	   'CosTransactions_TransactionFactory':typeID()),
483    check_tc('CosTransactions_TransactionFactory':oe_get_interface()),
484    ?match(true, 'CosTransactions_TransactionFactory':oe_is_a('CosTransactions_TransactionFactory':typeID())),
485    ?match(false, 'CosTransactions_TransactionFactory':oe_is_a("wrong")),
486    ok.
487
488
489%%-----------------------------------------------------------------
490%% Test Case: 'ETraP_Server'
491%% Description:
492%%-----------------------------------------------------------------
493'ETraP_Server'(_) ->
494    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_status)),
495    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_parent_status)),
496    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_top_level_status)),
497    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_same_transaction)),
498    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_related_transaction)),
499    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_ancestor_transaction)),
500    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_descendant_transaction)),
501    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_top_level_transaction)),
502    ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_transaction)),
503    ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_top_level_tran)),
504    ?nomatch(undefined, 'ETraP_Server':oe_tc(register_resource)),
505    ?nomatch(undefined, 'ETraP_Server':oe_tc(register_subtran_aware)),
506    ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback_only)),
507    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_transaction_name)),
508    ?nomatch(undefined, 'ETraP_Server':oe_tc(create_subtransaction)),
509    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_txcontext)),
510    ?nomatch(undefined, 'ETraP_Server':oe_tc(prepare)),
511    ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback)),
512    ?nomatch(undefined, 'ETraP_Server':oe_tc(commit)),
513    ?nomatch(undefined, 'ETraP_Server':oe_tc(commit_one_phase)),
514    ?nomatch(undefined, 'ETraP_Server':oe_tc(forget)),
515    ?nomatch(undefined, 'ETraP_Server':oe_tc(replay_completion)),
516    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_terminator)),
517    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_coordinator)),
518    ?match(undefined, 'ETraP_Server':oe_tc(undefined)),
519    ?match([_|_], 'ETraP_Server':oe_get_interface()),
520    ?match("IDL:omg.org/ETraP/Server:1.0",
521	   'ETraP_Server':typeID()),
522    check_tc('ETraP_Server':oe_get_interface()),
523    ?match(true, 'ETraP_Server':oe_is_a('ETraP_Server':typeID())),
524    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Coordinator':typeID())),
525    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Resource':typeID())),
526    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
527    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Control':typeID())),
528    ?match(false, 'ETraP_Server':oe_is_a("wrong")),
529    ok.
530
531
532%%-----------------------------------------------------------------
533%% MISC functions
534%%-----------------------------------------------------------------
535check_tc([]) ->
536    ok;
537check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
538    io:format("checked - ~s~n", [Op]),
539    lists:all(?checktc(Op), [RetType|InParameters]),
540    lists:all(?checktc(Op), OutParameters),
541    check_tc(T).
542
543
544