aboutsummaryrefslogblamecommitdiffstats
path: root/lib/cosTransactions/test/generated_SUITE.erl
blob: e72751ad3457d7c675ea87d6dcf47265a399cc65 (plain) (tree)
1
2
3
4
5
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584



                                                                   
                                                        






















                                                                         
                                                    












































                                                                                    
                                                           











                                                                   

































                                                     








                                                                   
                                  




































































































































































































































































































































































































































































                                                                                                                                
%%-----------------------------------------------------------------
%%
%% %CopyrightBegin%
%% 
%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
%% 
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
%% 
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
%% 
%% %CopyrightEnd%
%%
%%
%%-----------------------------------------------------------------
%% File    : generated_SUITE.erl
%% Purpose : 
%% Created : 27 Jan 2004
%%-----------------------------------------------------------------

-module(generated_SUITE).

-include_lib("test_server/include/test_server.hrl").
-include_lib("orber/include/corba.hrl").

-define(default_timeout, ?t:minutes(3)).

-define(match(ExpectedRes, Expr),
        fun() ->
		AcTuAlReS = (catch (Expr)),
		case AcTuAlReS of
		    ExpectedRes ->
			AcTuAlReS;
		    _ ->
			io:format("###### ERROR ERROR ######~n~p~n",
				  [AcTuAlReS]),
			?line exit(AcTuAlReS)
		end
	end()).

-define(nomatch(Not, Expr),
        fun() ->
		AcTuAlReS = (catch (Expr)),
		case AcTuAlReS of
		    Not ->
			io:format("###### ERROR ERROR ######~n~p~n",
				  [AcTuAlReS]),
			?line exit(AcTuAlReS);
		    _ ->
			AcTuAlReS
		end
	end()).


-define(checktc(_Op),
        fun(TC) ->
		case orber_tc:check_tc(TC) of
		    false ->
			io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
			?line exit(TC);
		    true ->
			true
		end
	end).

%%-----------------------------------------------------------------
%% External exports
%%-----------------------------------------------------------------
-export([all/0,groups/0,init_per_group/2,end_per_group/2]).

%%-----------------------------------------------------------------
%% Internal exports
%%-----------------------------------------------------------------
-export([]).
-compile(export_all).

%%-----------------------------------------------------------------
%% Func: all/1
%% Args: 
%% Returns: 
%%-----------------------------------------------------------------
all() -> 
['CosTransactions_Control',
 'CosTransactions_Coordinator',
 'CosTransactions_HeuristicCommit',
 'CosTransactions_HeuristicHazard',
 'CosTransactions_HeuristicMixed',
 'CosTransactions_HeuristicRollback',
 'CosTransactions_Inactive',
 'CosTransactions_InvalidControl',
 'CosTransactions_NoTransaction',
 'CosTransactions_NotPrepared',
 'CosTransactions_NotSubtransaction',
 'CosTransactions_RecoveryCoordinator',
 'CosTransactions_Resource',
 'CosTransactions_SubtransactionAwareResource',
 'CosTransactions_SubtransactionsUnavailable',
 'CosTransactions_Terminator',
 'CosTransactions_TransactionFactory',
 'CosTransactions_Unavailable',
 'CosTransactions_SynchronizationUnavailable',
 'CosTransactions_TransIdentity',
 'CosTransactions_PropagationContext',
 'CosTransactions_otid_t',
 'CosTransactions_WrongTransaction', 'ETraP_Server'].

groups() -> 
    [].

init_per_group(_GroupName, Config) ->
	Config.

end_per_group(_GroupName, Config) ->
	Config.


%%-----------------------------------------------------------------
%% Init and cleanup functions.
%%-----------------------------------------------------------------
init_per_testcase(_Case, Config) ->
    ?line Dog=test_server:timetrap(?default_timeout),
    [{watchdog, Dog}|Config].


end_per_testcase(_Case, Config) ->
    Dog = ?config(watchdog, Config),
    test_server:timetrap_cancel(Dog),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_HeuristicCommit'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_HeuristicCommit'(doc) -> ["CosTransactions_HeuristicCommit"];
'CosTransactions_HeuristicCommit'(suite) -> [];
'CosTransactions_HeuristicCommit'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicCommit':tc())),
    ?match("IDL:omg.org/CosTransactions/HeuristicCommit:1.0", 
	   'CosTransactions_HeuristicCommit':id()),
    ?match("CosTransactions_HeuristicCommit", 
	   'CosTransactions_HeuristicCommit':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_HeuristicHazard'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_HeuristicHazard'(doc) -> ["CosTransactions_HeuristicHazard"];
'CosTransactions_HeuristicHazard'(suite) -> [];
'CosTransactions_HeuristicHazard'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicHazard':tc())),
    ?match("IDL:omg.org/CosTransactions/HeuristicHazard:1.0", 
	   'CosTransactions_HeuristicHazard':id()),
    ?match("CosTransactions_HeuristicHazard", 
	   'CosTransactions_HeuristicHazard':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_HeuristicMixed'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_HeuristicMixed'(doc) -> ["CosTransactions_HeuristicMixed"];
'CosTransactions_HeuristicMixed'(suite) -> [];
'CosTransactions_HeuristicMixed'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicMixed':tc())),
    ?match("IDL:omg.org/CosTransactions/HeuristicMixed:1.0", 
	   'CosTransactions_HeuristicMixed':id()),
    ?match("CosTransactions_HeuristicMixed", 
	   'CosTransactions_HeuristicMixed':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_HeuristicRollback'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_HeuristicRollback'(doc) -> ["CosTransactions_HeuristicRollback"];
'CosTransactions_HeuristicRollback'(suite) -> [];
'CosTransactions_HeuristicRollback'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_HeuristicRollback':tc())),
    ?match("IDL:omg.org/CosTransactions/HeuristicRollback:1.0", 
	   'CosTransactions_HeuristicRollback':id()),
    ?match("CosTransactions_HeuristicRollback", 
	   'CosTransactions_HeuristicRollback':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Inactive'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Inactive'(doc) -> ["CosTransactions_Inactive"];
'CosTransactions_Inactive'(suite) -> [];
'CosTransactions_Inactive'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_Inactive':tc())),
    ?match("IDL:omg.org/CosTransactions/Inactive:1.0", 
	   'CosTransactions_Inactive':id()),
    ?match("CosTransactions_Inactive", 
	   'CosTransactions_Inactive':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_InvalidControl'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_InvalidControl'(doc) -> ["CosTransactions_InvalidControl"];
'CosTransactions_InvalidControl'(suite) -> [];
'CosTransactions_InvalidControl'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_InvalidControl':tc())),
    ?match("IDL:omg.org/CosTransactions/InvalidControl:1.0", 
	   'CosTransactions_InvalidControl':id()),
    ?match("CosTransactions_InvalidControl", 
	   'CosTransactions_InvalidControl':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_NoTransaction'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_NoTransaction'(doc) -> ["CosTransactions_NoTransaction"];
'CosTransactions_NoTransaction'(suite) -> [];
'CosTransactions_NoTransaction'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_NoTransaction':tc())),
    ?match("IDL:omg.org/CosTransactions/NoTransaction:1.0", 
	   'CosTransactions_NoTransaction':id()),
    ?match("CosTransactions_NoTransaction", 
	   'CosTransactions_NoTransaction':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_NotPrepared'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_NotPrepared'(doc) -> ["CosTransactions_NotPrepared"];
'CosTransactions_NotPrepared'(suite) -> [];
'CosTransactions_NotPrepared'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_NotPrepared':tc())),
    ?match("IDL:omg.org/CosTransactions/NotPrepared:1.0", 
	   'CosTransactions_NotPrepared':id()),
    ?match("CosTransactions_NotPrepared", 
	   'CosTransactions_NotPrepared':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_NotSubtransaction'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_NotSubtransaction'(doc) -> ["CosTransactions_NotSubtransaction"];
'CosTransactions_NotSubtransaction'(suite) -> [];
'CosTransactions_NotSubtransaction'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_NotSubtransaction':tc())),
    ?match("IDL:omg.org/CosTransactions/NotSubtransaction:1.0", 
	   'CosTransactions_NotSubtransaction':id()),
    ?match("CosTransactions_NotSubtransaction", 
	   'CosTransactions_NotSubtransaction':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_SubtransactionsUnavailable'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_SubtransactionsUnavailable'(doc) -> ["CosTransactions_SubtransactionsUnavailable"];
'CosTransactions_SubtransactionsUnavailable'(suite) -> [];
'CosTransactions_SubtransactionsUnavailable'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_SubtransactionsUnavailable':tc())),
    ?match("IDL:omg.org/CosTransactions/SubtransactionsUnavailable:1.0", 
	   'CosTransactions_SubtransactionsUnavailable':id()),
    ?match("CosTransactions_SubtransactionsUnavailable", 
	   'CosTransactions_SubtransactionsUnavailable':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Unavailable'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Unavailable'(doc) -> ["CosTransactions_Unavailable"];
'CosTransactions_Unavailable'(suite) -> [];
'CosTransactions_Unavailable'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_Unavailable':tc())),
    ?match("IDL:omg.org/CosTransactions/Unavailable:1.0", 
	   'CosTransactions_Unavailable':id()),
    ?match("CosTransactions_Unavailable", 
	   'CosTransactions_Unavailable':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_SynchronizationUnavailable'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_SynchronizationUnavailable'(doc) -> ["CosTransactions_SynchronizationUnavailable"];
'CosTransactions_SynchronizationUnavailable'(suite) -> [];
'CosTransactions_SynchronizationUnavailable'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_SynchronizationUnavailable':tc())),
    ?match("IDL:omg.org/CosTransactions/SynchronizationUnavailable:1.0", 
	   'CosTransactions_SynchronizationUnavailable':id()),
    ?match("CosTransactions_SynchronizationUnavailable", 
	   'CosTransactions_SynchronizationUnavailable':name()),
    ok.

%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_TransIdentity'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_TransIdentity'(doc) -> ["CosTransactions_TransIdentity"];
'CosTransactions_TransIdentity'(suite) -> [];
'CosTransactions_TransIdentity'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_TransIdentity':tc())),
    ?match("IDL:omg.org/CosTransactions/TransIdentity:1.0", 
	   'CosTransactions_TransIdentity':id()),
    ?match("CosTransactions_TransIdentity", 
	   'CosTransactions_TransIdentity':name()),
    ok.

%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_PropagationContext'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_PropagationContext'(doc) -> ["CosTransactions_PropagationContext"];
'CosTransactions_PropagationContext'(suite) -> [];
'CosTransactions_PropagationContext'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_PropagationContext':tc())),
    ?match("IDL:omg.org/CosTransactions/PropagationContext:1.0", 
	   'CosTransactions_PropagationContext':id()),
    ?match("CosTransactions_PropagationContext", 
	   'CosTransactions_PropagationContext':name()),
    ok.

%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_otid_t'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_otid_t'(doc) -> ["CosTransactions_otid_t"];
'CosTransactions_otid_t'(suite) -> [];
'CosTransactions_otid_t'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_otid_t':tc())),
    ?match("IDL:omg.org/CosTransactions/otid_t:1.0", 
	   'CosTransactions_otid_t':id()),
    ?match("CosTransactions_otid_t", 
	   'CosTransactions_otid_t':name()),
    ok.

%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_WrongTransaction'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_WrongTransaction'(doc) -> ["CosTransactions_WrongTransaction"];
'CosTransactions_WrongTransaction'(suite) -> [];
'CosTransactions_WrongTransaction'(_) ->
    ?match(true, orber_tc:check_tc('CosTransactions_WrongTransaction':tc())),
    ?match("IDL:omg.org/CosTransactions/WrongTransaction:1.0", 
	   'CosTransactions_WrongTransaction':id()),
    ?match("CosTransactions_WrongTransaction", 
	   'CosTransactions_WrongTransaction':name()),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Control'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Control'(doc) -> ["CosTransactions_Control"];
'CosTransactions_Control'(suite) -> [];
'CosTransactions_Control'(_) ->
    ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_terminator)),
    ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_coordinator)),
    ?match(undefined, 'CosTransactions_Control':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_Control':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/Control:1.0", 
	   'CosTransactions_Control':typeID()),
    check_tc('CosTransactions_Control':oe_get_interface()),
    ?match(true, 'CosTransactions_Control':oe_is_a('CosTransactions_Control':typeID())),
    ?match(false, 'CosTransactions_Control':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Coordinator'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Coordinator'(doc) -> ["CosTransactions_Coordinator"];
'CosTransactions_Coordinator'(suite) -> [];
'CosTransactions_Coordinator'(_) ->
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_status)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_parent_status)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_top_level_status)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_same_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_related_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_ancestor_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_descendant_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_top_level_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_transaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_top_level_tran)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_resource)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_subtran_aware)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(rollback_only)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_transaction_name)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(create_subtransaction)),
    ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_txcontext)),
    ?match(undefined, 'CosTransactions_Coordinator':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_Coordinator':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/Coordinator:1.0", 
	   'CosTransactions_Coordinator':typeID()),
    check_tc('CosTransactions_Coordinator':oe_get_interface()),
    ?match(true, 'CosTransactions_Coordinator':oe_is_a('CosTransactions_Coordinator':typeID())),
    ?match(false, 'CosTransactions_Coordinator':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_RecoveryCoordinator'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_RecoveryCoordinator'(doc) -> ["CosTransactions_RecoveryCoordinator"];
'CosTransactions_RecoveryCoordinator'(suite) -> [];
'CosTransactions_RecoveryCoordinator'(_) ->
    ?nomatch(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(replay_completion)),
    ?match(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_RecoveryCoordinator':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/RecoveryCoordinator:1.0", 
	   'CosTransactions_RecoveryCoordinator':typeID()),
    check_tc('CosTransactions_RecoveryCoordinator':oe_get_interface()),
    ?match(true, 'CosTransactions_RecoveryCoordinator':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
    ?match(false, 'CosTransactions_RecoveryCoordinator':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Resource'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Resource'(doc) -> ["CosTransactions_Resource"];
'CosTransactions_Resource'(suite) -> [];
'CosTransactions_Resource'(_) ->
    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(prepare)),
    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(rollback)),
    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit)),
    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit_one_phase)),
    ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(forget)),
    ?match(undefined, 'CosTransactions_Resource':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_Resource':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/Resource:1.0", 
	   'CosTransactions_Resource':typeID()),
    check_tc('CosTransactions_Resource':oe_get_interface()),
    ?match(true, 'CosTransactions_Resource':oe_is_a('CosTransactions_Resource':typeID())),
    ?match(false, 'CosTransactions_Resource':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_SubtransactionAwareResource'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_SubtransactionAwareResource'(doc) -> ["CosTransactions_SubtransactionAwareResource"];
'CosTransactions_SubtransactionAwareResource'(suite) -> [];
'CosTransactions_SubtransactionAwareResource'(_) ->
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_subtransaction)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback_subtransaction)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(prepare)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_one_phase)),
    ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(forget)),
    ?match(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_SubtransactionAwareResource':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/SubtransactionAwareResource:1.0", 
	   'CosTransactions_SubtransactionAwareResource':typeID()),
    check_tc('CosTransactions_SubtransactionAwareResource':oe_get_interface()),
    ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_SubtransactionAwareResource':typeID())),
    ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_Resource':typeID())),
    ?match(false, 'CosTransactions_SubtransactionAwareResource':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_Terminator'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_Terminator'(doc) -> ["CosTransactions_Terminator"];
'CosTransactions_Terminator'(suite) -> [];
'CosTransactions_Terminator'(_) ->
    ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(commit)),
    ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(rollback)),
    ?match(undefined, 'CosTransactions_Terminator':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_Terminator':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/Terminator:1.0", 
	   'CosTransactions_Terminator':typeID()),
    check_tc('CosTransactions_Terminator':oe_get_interface()),
    ?match(true, 'CosTransactions_Terminator':oe_is_a('CosTransactions_Terminator':typeID())),
    ?match(false, 'CosTransactions_Terminator':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_TransactionFactory'
%% Description: 
%%-----------------------------------------------------------------
'CosTransactions_TransactionFactory'(doc) -> ["CosTransactions_TransactionFactory"];
'CosTransactions_TransactionFactory'(suite) -> [];
'CosTransactions_TransactionFactory'(_) ->
    ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(create)),
    ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(recreate)),
    ?match(undefined, 'CosTransactions_TransactionFactory':oe_tc(undefined)),
    ?match([_|_], 'CosTransactions_TransactionFactory':oe_get_interface()),
    ?match("IDL:omg.org/CosTransactions/TransactionFactory:1.0", 
	   'CosTransactions_TransactionFactory':typeID()),
    check_tc('CosTransactions_TransactionFactory':oe_get_interface()),
    ?match(true, 'CosTransactions_TransactionFactory':oe_is_a('CosTransactions_TransactionFactory':typeID())),
    ?match(false, 'CosTransactions_TransactionFactory':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% Test Case: 'ETraP_Server'
%% Description: 
%%-----------------------------------------------------------------
'ETraP_Server'(doc) -> ["ETraP_Server"];
'ETraP_Server'(suite) -> [];
'ETraP_Server'(_) ->
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_status)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_parent_status)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_top_level_status)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_same_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_related_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_ancestor_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_descendant_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(is_top_level_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_transaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_top_level_tran)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(register_resource)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(register_subtran_aware)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback_only)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_transaction_name)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(create_subtransaction)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_txcontext)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(prepare)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(commit)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(commit_one_phase)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(forget)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(replay_completion)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_terminator)),
    ?nomatch(undefined, 'ETraP_Server':oe_tc(get_coordinator)),
    ?match(undefined, 'ETraP_Server':oe_tc(undefined)),
    ?match([_|_], 'ETraP_Server':oe_get_interface()),
    ?match("IDL:omg.org/ETraP/Server:1.0", 
	   'ETraP_Server':typeID()),
    check_tc('ETraP_Server':oe_get_interface()),
    ?match(true, 'ETraP_Server':oe_is_a('ETraP_Server':typeID())),
    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Coordinator':typeID())),
    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Resource':typeID())),
    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
    ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Control':typeID())),
    ?match(false, 'ETraP_Server':oe_is_a("wrong")),
    ok.


%%-----------------------------------------------------------------
%% MISC functions
%%-----------------------------------------------------------------
check_tc([]) ->
    ok;
check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
    io:format("checked - ~s~n", [Op]),
    lists:all(?checktc(Op), [RetType|InParameters]),
    lists:all(?checktc(Op), OutParameters),
    check_tc(T).