aboutsummaryrefslogblamecommitdiffstats
path: root/lib/cosTransactions/test/generated_SUITE.erl
blob: 52b850b189f4e60d5e35fce241b08c955d7149b8 (plain) (tree)
1
2
3
4
5
6



                                                                   
                                                        
   










                                                                           











                                                                   
                                           

                                        
                                                 









                                                                    
                                       









                                                                    
                                        










                                                                                    
                                 







                                                                   

                                                                    



                                                                   






                                                                   
                                         
 
         






















                                                         



            





                         
                                     
           

                                    
           
 




                                                                   
                                               

                             
                                  
                                                


                                     



                                                                   












                                                                            












                                                                            












                                                                           












                                                                              












                                                                     












                                                                           












                                                                          












                                                                        












                                                                              












                                                                                       












                                                                        











                                                                                       











                                                                          











                                                                               











                                                                   












                                                                             
















                                                                                        






























                                                                                                















                                                                                                                



















                                                                                          






















                                                                                                                                
















                                                                                              
















                                                                                                              


















































                                                                                         
%%-----------------------------------------------------------------
%%
%% %CopyrightBegin%
%% 
%% Copyright Ericsson AB 2004-2016. All Rights Reserved.
%% 
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%%     http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%% 
%% %CopyrightEnd%
%%
%%
%%-----------------------------------------------------------------
%% File    : generated_SUITE.erl
%% Purpose : 
%% Created : 27 Jan 2004
%%-----------------------------------------------------------------

-module(generated_SUITE).

-include_lib("common_test/include/ct.hrl").
-include_lib("orber/include/corba.hrl").

-define(default_timeout, test_server:minutes(3)).

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

-define(nomatch(Not, Expr),
        fun() ->
		AcTuAlReS = (catch (Expr)),
		case AcTuAlReS of
		    Not ->
			io:format("###### ERROR ERROR ######~n~p~n",
				  [AcTuAlReS]),
			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]),
			exit(TC);
		    true ->
			true
		end
	end).

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

%%-----------------------------------------------------------------
%% Internal exports
%%-----------------------------------------------------------------
-compile(export_all).

%%-----------------------------------------------------------------
%% Func: all/1
%% Args: 
%% Returns: 
%%-----------------------------------------------------------------
suite() -> [{ct_hooks,[ts_install_cth]}].

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_suite(Config) ->
    Config.

end_per_suite(_Config) ->
    ok.

init_per_group(_GroupName, Config) ->
    Config.

end_per_group(_GroupName, Config) ->
    Config.


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

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

%%-----------------------------------------------------------------
%% Test Case: 'CosTransactions_HeuristicCommit'
%% Description: 
%%-----------------------------------------------------------------
'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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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'(_) ->
    ?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).