aboutsummaryrefslogtreecommitdiffstats
path: root/lib/common_test/test/ct_suite_callback_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common_test/test/ct_suite_callback_SUITE.erl')
-rw-r--r--lib/common_test/test/ct_suite_callback_SUITE.erl1021
1 files changed, 0 insertions, 1021 deletions
diff --git a/lib/common_test/test/ct_suite_callback_SUITE.erl b/lib/common_test/test/ct_suite_callback_SUITE.erl
deleted file mode 100644
index 67f3cf430a..0000000000
--- a/lib/common_test/test/ct_suite_callback_SUITE.erl
+++ /dev/null
@@ -1,1021 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009-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: ct_error_SUITE
-%%%
-%%% Description:
-%%% Test various errors in Common Test suites.
-%%%
-%%% The suites used for the test are located in the data directory.
-%%%-------------------------------------------------------------------
--module(ct_suite_callback_SUITE).
-
--compile(export_all).
-
--include_lib("test_server/include/test_server.hrl").
--include_lib("common_test/include/ct_event.hrl").
-
--define(eh, ct_test_support_eh).
-
-%%--------------------------------------------------------------------
-%% TEST SERVER CALLBACK FUNCTIONS
-%%--------------------------------------------------------------------
-
-%%--------------------------------------------------------------------
-%% Description: Since Common Test starts another Test Server
-%% instance, the tests need to be performed on a separate node (or
-%% there will be clashes with logging processes etc).
-%%--------------------------------------------------------------------
-init_per_suite(Config) ->
- DataDir = ?config(data_dir, Config),
- TestDir = filename:join(DataDir,"scb/tests/"),
- SCBs = filelib:wildcard(filename:join(TestDir,"*_scb.erl")),
- io:format("SCBs: ~p",[SCBs]),
- [io:format("Compiling ~p: ~p",
- [FileName,compile:file(FileName,[{outdir,TestDir},debug_info])]) ||
- FileName <- SCBs],
- ct_test_support:init_per_suite([{path_dirs,[TestDir]} | Config]).
-
-end_per_suite(Config) ->
- ct_test_support:end_per_suite(Config).
-
-init_per_testcase(TestCase, Config) ->
- ct_test_support:init_per_testcase(TestCase, Config).
-
-end_per_testcase(TestCase, Config) ->
- ct_test_support:end_per_testcase(TestCase, Config).
-
-
-suite() ->
- [{timetrap,{seconds,20}}].
-
-all() ->
- all(suite).
-
-all(suite) ->
- lists:reverse(
- [
- one_scb, two_scb, faulty_scb_no_init, faulty_scb_id_no_init,
- faulty_scb_exit_in_init, faulty_scb_exit_in_id,
- faulty_scb_exit_in_init_scope_suite, minimal_scb,
- minimal_and_maximal_scb, faulty_scb_undef,
- scope_per_suite_scb, scope_per_group_scb, scope_suite_scb,
- scope_per_suite_state_scb, scope_per_group_state_scb,
- scope_suite_state_scb,
- fail_pre_suite_scb, fail_post_suite_scb, skip_pre_suite_scb,
- skip_post_suite_scb, recover_post_suite_scb, update_config_scb,
- state_update_scb, options_scb, same_id_scb,
- fail_n_skip_with_minimal_scb
- ]
- )
- .
-
-
-%%--------------------------------------------------------------------
-%% TEST CASES
-%%--------------------------------------------------------------------
-
-%%%-----------------------------------------------------------------
-%%%
-one_scb(Config) when is_list(Config) ->
- do_test(one_empty_scb, "ct_scb_empty_SUITE.erl",[empty_scb], Config).
-
-two_scb(Config) when is_list(Config) ->
- do_test(two_empty_scb, "ct_scb_empty_SUITE.erl",[empty_scb,empty_scb],
- Config).
-
-faulty_scb_no_init(Config) when is_list(Config) ->
- do_test(faulty_scb_no_init, "ct_scb_empty_SUITE.erl",[askjhdkljashdkaj],
- Config,{error,"Failed to start SCB, see the "
- "CT Log for details"}).
-
-faulty_scb_id_no_init(Config) when is_list(Config) ->
- do_test(faulty_scb_id_no_init, "ct_scb_empty_SUITE.erl",[id_no_init_scb],
- Config,{error,"Failed to start SCB, see the "
- "CT Log for details"}).
-
-minimal_scb(Config) when is_list(Config) ->
- do_test(minimal_scb, "ct_scb_empty_SUITE.erl",[minimal_scb],Config).
-
-minimal_and_maximal_scb(Config) when is_list(Config) ->
- do_test(minimal_and_maximal_scb, "ct_scb_empty_SUITE.erl",
- [minimal_scb, empty_scb],Config).
-
-faulty_scb_undef(Config) when is_list(Config) ->
- do_test(faulty_scb_undef, "ct_scb_empty_SUITE.erl",
- [undef_scb],Config).
-
-faulty_scb_exit_in_init_scope_suite(Config) when is_list(Config) ->
- do_test(faulty_scb_exit_in_init_scope_suite,
- "ct_exit_in_init_scope_suite_scb_SUITE.erl",
- [],Config).
-
-faulty_scb_exit_in_init(Config) when is_list(Config) ->
- do_test(faulty_scb_exit_in_init, "ct_scb_empty_SUITE.erl",
- [crash_init_scb], Config,
- {error,"Failed to start SCB, see the "
- "CT Log for details"}).
-
-faulty_scb_exit_in_id(Config) when is_list(Config) ->
- do_test(faulty_scb_exit_in_id, "ct_scb_empty_SUITE.erl",
- [crash_id_scb], Config,
- {error,"Failed to start SCB, see the "
- "CT Log for details"}).
-
-scope_per_suite_scb(Config) when is_list(Config) ->
- do_test(scope_per_suite_scb, "ct_scope_per_suite_scb_SUITE.erl",
- [],Config).
-
-scope_suite_scb(Config) when is_list(Config) ->
- do_test(scope_suite_scb, "ct_scope_suite_scb_SUITE.erl",
- [],Config).
-
-scope_per_group_scb(Config) when is_list(Config) ->
- do_test(scope_per_group_scb, "ct_scope_per_group_scb_SUITE.erl",
- [],Config).
-
-scope_per_suite_state_scb(Config) when is_list(Config) ->
- do_test(scope_per_suite_state_scb, "ct_scope_per_suite_state_scb_SUITE.erl",
- [],Config).
-
-scope_suite_state_scb(Config) when is_list(Config) ->
- do_test(scope_suite_state_scb, "ct_scope_suite_state_scb_SUITE.erl",
- [],Config).
-
-scope_per_group_state_scb(Config) when is_list(Config) ->
- do_test(scope_per_group_state_scb, "ct_scope_per_group_state_scb_SUITE.erl",
- [],Config).
-
-fail_pre_suite_scb(Config) when is_list(Config) ->
- do_test(fail_pre_suite_scb, "ct_scb_empty_SUITE.erl",
- [fail_pre_suite_scb],Config).
-
-fail_post_suite_scb(Config) when is_list(Config) ->
- do_test(fail_post_suite_scb, "ct_scb_empty_SUITE.erl",
- [fail_post_suite_scb],Config).
-
-skip_pre_suite_scb(Config) when is_list(Config) ->
- do_test(skip_pre_suite_scb, "ct_scb_empty_SUITE.erl",
- [skip_pre_suite_scb],Config).
-
-skip_post_suite_scb(Config) when is_list(Config) ->
- do_test(skip_post_suite_scb, "ct_scb_empty_SUITE.erl",
- [skip_post_suite_scb],Config).
-
-recover_post_suite_scb(Config) when is_list(Config) ->
- do_test(recover_post_suite_scb, "ct_scb_fail_per_suite_SUITE.erl",
- [recover_post_suite_scb],Config).
-
-update_config_scb(Config) when is_list(Config) ->
- do_test(update_config_scb, "ct_update_config_SUITE.erl",
- [update_config_scb],Config).
-
-state_update_scb(Config) when is_list(Config) ->
- do_test(state_update_scb, "ct_scb_fail_one_skip_one_SUITE.erl",
- [state_update_scb,state_update_scb],Config).
-
-options_scb(Config) when is_list(Config) ->
- do_test(options_scb, "ct_scb_empty_SUITE.erl",
- [{empty_scb,[test]}],Config).
-
-same_id_scb(Config) when is_list(Config) ->
- do_test(same_id_scb, "ct_scb_empty_SUITE.erl",
- [same_id_scb,same_id_scb],Config).
-
-fail_n_skip_with_minimal_scb(Config) when is_list(Config) ->
- do_test(fail_n_skip_with_minimal_scb, "ct_scb_fail_one_skip_one_SUITE.erl",
- [minimal_terminate_scb],Config).
-
-%%%-----------------------------------------------------------------
-%%% HELP FUNCTIONS
-%%%-----------------------------------------------------------------
-
-do_test(Tag, SWC, SCBs, Config) ->
- do_test(Tag, SWC, SCBs, Config, ok).
-do_test(Tag, SWC, SCBs, Config, {error,_} = Res) ->
- do_test(Tag, SWC, SCBs, Config, Res, 1);
-do_test(Tag, SWC, SCBs, Config, Res) ->
- do_test(Tag, SWC, SCBs, Config, Res, 2).
-
-do_test(Tag, SuiteWildCard, SCBs, Config, Res, EC) ->
-
- DataDir = ?config(data_dir, Config),
- Suites = filelib:wildcard(
- filename:join([DataDir,"scb/tests",SuiteWildCard])),
- {Opts,ERPid} = setup([{suite,Suites},
- {suite_callbacks,SCBs},{label,Tag}], Config),
- Res = ct_test_support:run(Opts, Config),
- Events = ct_test_support:get_events(ERPid, Config),
-
- ct_test_support:log_events(Tag,
- reformat(Events, ?eh),
- ?config(priv_dir, Config)),
-
- TestEvents = events_to_check(Tag, EC),
- ok = ct_test_support:verify_events(TestEvents, Events, Config).
-
-setup(Test, Config) ->
- Opts0 = ct_test_support:get_opts(Config),
- Level = ?config(trace_level, Config),
- EvHArgs = [{cbm,ct_test_support},{trace_level,Level}],
- Opts = Opts0 ++ [{event_handler,{?eh,EvHArgs}}|Test],
- ERPid = ct_test_support:start_event_receiver(Config),
- {Opts,ERPid}.
-
-reformat(Events, EH) ->
- ct_test_support:reformat(Events, EH).
-%reformat(Events, _EH) ->
-% Events.
-
-%%%-----------------------------------------------------------------
-%%% TEST EVENTS
-%%%-----------------------------------------------------------------
-events_to_check(Test) ->
- %% 2 tests (ct:run_test + script_start) is default
- events_to_check(Test, 2).
-
-events_to_check(_, 0) ->
- [];
-events_to_check(Test, N) ->
- test_events(Test) ++ events_to_check(Test, N-1).
-
-test_events(one_empty_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{empty_scb,id,[[]]}},
- {?eh,scb,{empty_scb,init,[{'_','_','_'},[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{empty_scb,pre_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{empty_scb,post_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,scb,{empty_scb,pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{empty_scb,post_end_per_testcase,[test_case,'$proplist','_',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,scb,{empty_scb,pre_end_per_suite,
- [ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{empty_scb,post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{empty_scb,terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(two_empty_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(faulty_scb_no_init) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(faulty_scb_id_no_init) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {negative,{?eh,tc_start,'_'},
- {?eh,test_done,{'DEF','STOP_TIME'}}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(minimal_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {negative,{?eh,scb,{'_',id,['_',[]]}},
- {?eh,scb,{'_',init,['_',[]]}}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(minimal_and_maximal_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {negative,{?eh,scb,{'_',id,['_',[]]}},
- {?eh,scb,{'_',init,['_',[]]}}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(faulty_scb_undef) ->
- FailReasonStr = "undef_scb:pre_init_per_suite/3 SCB call failed",
- FailReason = {ct_scb_empty_SUITE,init_per_suite,
- {failed,FailReasonStr}},
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,
- {failed, {error,FailReasonStr}}}},
- {?eh,scb,{'_',on_tc_fail,'_'}},
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,test_case,
- {failed, FailReason}}},
- {?eh,scb,{'_',on_tc_skip,'_'}},
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,end_per_suite,
- {failed, FailReason}}},
- {?eh,scb,{'_',on_tc_skip,'_'}},
-
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(faulty_scb_exit_in_init_scope_suite) ->
- [{?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{'_',init_per_suite}},
- {?eh,scb,{empty_scb,init,['_',[]]}},
- {?eh,tc_done,
- {ct_exit_in_init_scope_suite_scb_SUITE,init_per_suite,
- {failed,
- {error,
- "Failed to start SCB, see the CT Log for details"}}}},
- {?eh,tc_auto_skip,
- {ct_exit_in_init_scope_suite_scb_SUITE,test_case,
- {failed,
- {ct_exit_in_init_scope_suite_scb_SUITE,init_per_suite,
- {failed,
- "Failed to start SCB, see the CT Log for details"}}}}},
- {?eh,tc_auto_skip,
- {ct_exit_in_init_scope_suite_scb_SUITE,end_per_suite,
- {failed,
- {ct_exit_in_init_scope_suite_scb_SUITE,init_per_suite,
- {failed,
- "Failed to start SCB, see the CT Log for details"}}}}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}];
-
-test_events(faulty_scb_exit_in_init) ->
- [{?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{empty_scb,init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}];
-
-test_events(faulty_scb_exit_in_id) ->
- [{?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{empty_scb,id,[[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {negative, {?eh,tc_start,'_'},
- {?eh,test_done,{'DEF','STOP_TIME'}}},
- {?eh,stop_logging,[]}];
-
-test_events(scope_per_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_per_suite_scb_SUITE,init_per_suite}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scope_per_suite_scb_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scope_per_suite_scb_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scope_per_suite_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scope_per_suite_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_per_suite_scb_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,
- [ct_scope_per_suite_scb_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scope_per_suite_scb_SUITE,'$proplist','_',[]]}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,tc_done,{ct_scope_per_suite_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(scope_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_suite_scb_SUITE,init_per_suite}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scope_suite_scb_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scope_suite_scb_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scope_suite_scb_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scope_suite_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scope_suite_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_suite_scb_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scope_suite_scb_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scope_suite_scb_SUITE,'$proplist','_',[]]}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,tc_done,{ct_scope_suite_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(scope_per_group_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_per_group_scb_SUITE,init_per_suite}},
- {?eh,tc_done,{ct_scope_per_group_scb_SUITE,init_per_suite,ok}},
-
- [{?eh,tc_start,{ct_scope_per_group_scb_SUITE,{init_per_group,group1,[]}}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,scb,{'_',post_init_per_group,[group1,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scope_per_group_scb_SUITE,{init_per_group,group1,[]},ok}},
-
- {?eh,tc_start,{ct_scope_per_group_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scope_per_group_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_per_group_scb_SUITE,{end_per_group,group1,[]}}},
- {?eh,scb,{'_',pre_end_per_group,[group1,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_group,[group1,'$proplist','_',[]]}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,tc_done,{ct_scope_per_group_scb_SUITE,{end_per_group,group1,[]},ok}}],
-
- {?eh,tc_start,{ct_scope_per_group_scb_SUITE,end_per_suite}},
- {?eh,tc_done,{ct_scope_per_group_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(scope_per_suite_state_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_per_suite_state_scb_SUITE,init_per_suite}},
- {?eh,scb,{'_',id,[[test]]}},
- {?eh,scb,{'_',init,['_',[test]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scope_per_suite_state_scb_SUITE,'$proplist','$proplist',[test]]}},
- {?eh,tc_done,{ct_scope_per_suite_state_scb_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scope_per_suite_state_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[test]]}},
- {?eh,tc_done,{ct_scope_per_suite_state_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_per_suite_state_scb_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,
- [ct_scope_per_suite_state_scb_SUITE,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scope_per_suite_state_scb_SUITE,'$proplist','_',[test]]}},
- {?eh,scb,{'_',terminate,[[test]]}},
- {?eh,tc_done,{ct_scope_per_suite_state_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(scope_suite_state_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_suite_state_scb_SUITE,init_per_suite}},
- {?eh,scb,{'_',id,[[test]]}},
- {?eh,scb,{'_',init,['_',[test]]}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scope_suite_state_scb_SUITE,'$proplist',[test]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scope_suite_state_scb_SUITE,'$proplist','$proplist',[test]]}},
- {?eh,tc_done,{ct_scope_suite_state_scb_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scope_suite_state_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[test]]}},
- {?eh,tc_done,{ct_scope_suite_state_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_suite_state_scb_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scope_suite_state_scb_SUITE,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scope_suite_state_scb_SUITE,'$proplist','_',[test]]}},
- {?eh,scb,{'_',terminate,[[test]]}},
- {?eh,tc_done,{ct_scope_suite_state_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(scope_per_group_state_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scope_per_group_state_scb_SUITE,init_per_suite}},
- {?eh,tc_done,{ct_scope_per_group_state_scb_SUITE,init_per_suite,ok}},
-
- [{?eh,tc_start,{ct_scope_per_group_state_scb_SUITE,{init_per_group,group1,[]}}},
- {?eh,scb,{'_',id,[[test]]}},
- {?eh,scb,{'_',init,['_',[test]]}},
- {?eh,scb,{'_',post_init_per_group,[group1,'$proplist','$proplist',[test]]}},
- {?eh,tc_done,{ct_scope_per_group_state_scb_SUITE,{init_per_group,group1,[]},ok}},
-
- {?eh,tc_start,{ct_scope_per_group_state_scb_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[test]]}},
- {?eh,tc_done,{ct_scope_per_group_state_scb_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scope_per_group_state_scb_SUITE,{end_per_group,group1,[]}}},
- {?eh,scb,{'_',pre_end_per_group,[group1,'$proplist',[test]]}},
- {?eh,scb,{'_',post_end_per_group,[group1,'$proplist','_',[test]]}},
- {?eh,scb,{'_',terminate,[[test]]}},
- {?eh,tc_done,{ct_scope_per_group_state_scb_SUITE,{end_per_group,group1,[]},ok}}],
-
- {?eh,tc_start,{ct_scope_per_group_state_scb_SUITE,end_per_suite}},
- {?eh,tc_done,{ct_scope_per_group_state_scb_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(fail_pre_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
-
-
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist',
- {fail,"Test failure"},[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,
- {failed, {error,"Test failure"}}}},
- {?eh,scb,{'_',on_tc_fail,
- [init_per_suite,{failed,"Test failure"},[]]}},
-
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,test_case,
- {failed,{ct_scb_empty_SUITE,init_per_suite,
- {failed,"Test failure"}}}}},
- {?eh,scb,{'_',on_tc_skip,
- [test_case, {tc_auto_skip,
- {failed, {ct_scb_empty_SUITE, init_per_suite,
- {failed, "Test failure"}}}},[]]}},
-
-
- {?eh,tc_auto_skip, {ct_scb_empty_SUITE, end_per_suite,
- {failed, {ct_scb_empty_SUITE, init_per_suite,
- {failed, "Test failure"}}}}},
- {?eh,scb,{'_',on_tc_skip,
- [end_per_suite, {tc_auto_skip,
- {failed, {ct_scb_empty_SUITE, init_per_suite,
- {failed, "Test failure"}}}},[]]}},
-
-
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb, {'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(fail_post_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,
- {failed,{error,"Test failure"}}}},
- {?eh,scb,{'_',on_tc_fail,[init_per_suite, {failed,"Test failure"}, []]}},
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,test_case,
- {failed,{ct_scb_empty_SUITE,init_per_suite,
- {failed,"Test failure"}}}}},
- {?eh,scb,{'_',on_tc_skip,[test_case,{tc_auto_skip,'_'},[]]}},
-
- {?eh,tc_auto_skip, {ct_scb_empty_SUITE, end_per_suite,
- {failed, {ct_scb_empty_SUITE, init_per_suite,
- {failed, "Test failure"}}}}},
- {?eh,scb,{'_',on_tc_skip,[end_per_suite,{tc_auto_skip,'_'},[]]}},
-
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb, {'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(skip_pre_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist',{skip,"Test skip"},[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,{skipped,"Test skip"}}},
- {?eh,scb,{'_',on_tc_skip,
- [init_per_suite,{tc_user_skip,{skipped,"Test skip"}},[]]}},
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,test_case,"Test skip"}},
- {?eh,scb,{'_',on_tc_skip,[test_case,{tc_auto_skip,"Test skip"},[]]}},
-
- {?eh,tc_auto_skip, {ct_scb_empty_SUITE, end_per_suite,"Test skip"}},
- {?eh,scb,{'_',on_tc_skip,[end_per_suite,{tc_auto_skip,"Test skip"},[]]}},
-
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb, {'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(skip_post_suite_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,[ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,{skipped,"Test skip"}}},
- {?eh,scb,{'_',on_tc_skip,
- [init_per_suite,{tc_user_skip,{skipped,"Test skip"}},[]]}},
-
- {?eh,tc_auto_skip,{ct_scb_empty_SUITE,test_case,"Test skip"}},
- {?eh,scb,{'_',on_tc_skip,[test_case,{tc_auto_skip,"Test skip"},[]]}},
-
- {?eh,tc_auto_skip, {ct_scb_empty_SUITE, end_per_suite,"Test skip"}},
- {?eh,scb,{'_',on_tc_skip,[end_per_suite,{tc_auto_skip,"Test skip"},[]]}},
-
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(recover_post_suite_scb) ->
- Suite = ct_scb_fail_per_suite_SUITE,
- [
- {?eh,start_logging,'_'},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{Suite,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[Suite,'$proplist','$proplist']}},
- {?eh,scb,{'_',post_init_per_suite,[Suite,contains([tc_status]),
- {'EXIT',{'_','_'}},[]]}},
- {?eh,tc_done,{Suite,init_per_suite,ok}},
-
- {?eh,tc_start,{Suite,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,
- [test_case, not_contains([tc_status]),[]]}},
- {?eh,scb,{'_',post_end_per_testcase,
- [test_case, contains([tc_status]),'_',[]]}},
- {?eh,tc_done,{Suite,test_case,ok}},
-
- {?eh,tc_start,{Suite,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,
- [Suite,not_contains([tc_status]),[]]}},
- {?eh,scb,{'_',post_end_per_suite,
- [Suite,not_contains([tc_status]),'_',[]]}},
- {?eh,tc_done,{Suite,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(update_config_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
-
- {?eh,tc_start,{ct_update_config_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,
- [ct_update_config_SUITE,contains([]),[]]}},
- {?eh,scb,{'_',post_init_per_suite,
- [ct_update_config_SUITE,
- '$proplist',
- contains(
- [init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,tc_done,{ct_update_config_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_update_config_SUITE, {init_per_group,group1,[]}}},
- {?eh,scb,{'_',pre_init_per_group,
- [group1,contains(
- [post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,scb,{'_',post_init_per_group,
- [group1,
- contains(
- [post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- contains(
- [init_per_group,
- pre_init_per_group,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,tc_done,{ct_update_config_SUITE,{init_per_group,group1,[]},ok}},
-
- {?eh,tc_start,{ct_update_config_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,
- [test_case,contains(
- [post_init_per_group,
- init_per_group,
- pre_init_per_group,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,scb,{'_',post_end_per_testcase,
- [test_case,contains(
- [init_per_testcase,
- pre_init_per_testcase,
- post_init_per_group,
- init_per_group,
- pre_init_per_group,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- ok,[]]}},
- {?eh,tc_done,{ct_update_config_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_update_config_SUITE, {end_per_group,group1,[]}}},
- {?eh,scb,{'_',pre_end_per_group,
- [group1,contains(
- [post_init_per_group,
- init_per_group,
- pre_init_per_group,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,scb,{'_',post_end_per_group,
- [group1,
- contains(
- [pre_end_per_group,
- post_init_per_group,
- init_per_group,
- pre_init_per_group,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- ok,[]]}},
- {?eh,tc_done,{ct_update_config_SUITE,{end_per_group,group1,[]},ok}},
-
- {?eh,tc_start,{ct_update_config_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,
- [ct_update_config_SUITE,contains(
- [post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- []]}},
- {?eh,scb,{'_',post_end_per_suite,
- [ct_update_config_SUITE,contains(
- [pre_end_per_suite,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite]),
- '_',[]]}},
- {?eh,tc_done,{ct_update_config_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[contains(
- [post_end_per_suite,
- pre_end_per_suite,
- post_init_per_suite,
- init_per_suite,
- pre_init_per_suite])]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(state_update_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{'_',init_per_suite}},
-
- {?eh,tc_done,{'_',end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[contains(
- [post_end_per_suite,pre_end_per_suite,
- post_end_per_group,pre_end_per_group,
- {not_in_order,
- [post_end_per_testcase,pre_init_per_testcase,
- on_tc_skip,post_end_per_testcase,
- pre_init_per_testcase,on_tc_fail,
- post_end_per_testcase,pre_init_per_testcase]
- },
- post_init_per_group,pre_init_per_group,
- post_init_per_suite,pre_init_per_suite,
- init])]}},
- {?eh,scb,{'_',terminate,[contains(
- [post_end_per_suite,pre_end_per_suite,
- post_end_per_group,pre_end_per_group,
- {not_in_order,
- [post_end_per_testcase,pre_init_per_testcase,
- on_tc_skip,post_end_per_testcase,
- pre_init_per_testcase,on_tc_fail,
- post_end_per_testcase,pre_init_per_testcase]
- },
- post_init_per_group,pre_init_per_group,
- post_init_per_suite,pre_init_per_suite,
- init]
- )]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(options_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{empty_scb,init,['_',[test]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{empty_scb,pre_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist',[test]]}},
- {?eh,scb,{empty_scb,post_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist','$proplist',[test]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,scb,{empty_scb,pre_init_per_testcase,[test_case,'$proplist',[test]]}},
- {?eh,scb,{empty_scb,post_end_per_testcase,[test_case,'$proplist','_',[test]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,scb,{empty_scb,pre_end_per_suite,
- [ct_scb_empty_SUITE,'$proplist',[test]]}},
- {?eh,scb,{empty_scb,post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[test]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{empty_scb,terminate,[[test]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(same_id_scb) ->
- [
- {?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,scb,{'_',init,[same_id_scb,[]]}},
- {?eh,scb,{'_',id,[[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{ct_scb_empty_SUITE,init_per_suite}},
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {negative,
- {?eh,scb,{'_',pre_init_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist','$proplist',[]]}}},
- {negative,
- {?eh,scb,{'_',post_init_per_suite,
- [ct_scb_empty_SUITE,'$proplist','$proplist',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,init_per_suite,ok}}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,test_case}},
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {negative,
- {?eh,scb,{'_',pre_init_per_testcase,[test_case,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}}},
- {negative,
- {?eh,scb,{'_',post_end_per_testcase,[test_case,'$proplist',ok,[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,test_case,ok}}},
-
- {?eh,tc_start,{ct_scb_empty_SUITE,end_per_suite}},
- {?eh,scb,{'_',pre_end_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {negative,
- {?eh,scb,{'_',pre_end_per_suite,[ct_scb_empty_SUITE,'$proplist',[]]}},
- {?eh,scb,{'_',post_end_per_suite,[ct_scb_empty_SUITE,'$proplist','_',[]]}}},
- {negative,
- {?eh,scb,{'_',post_end_per_suite,
- [ct_scb_empty_SUITE,'$proplist','_',[]]}},
- {?eh,tc_done,{ct_scb_empty_SUITE,end_per_suite,ok}}},
- {?eh,test_done,{'DEF','STOP_TIME'}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(fail_n_skip_with_minimal_scb) ->
- [{?eh,start_logging,{'DEF','RUNDIR'}},
- {?eh,scb,{'_',init,['_',[]]}},
- {?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
- {?eh,tc_start,{'_',init_per_suite}},
-
- {?eh,tc_done,{'_',end_per_suite,ok}},
- {?eh,scb,{'_',terminate,[[]]}},
- {?eh,stop_logging,[]}
- ];
-
-test_events(ok) ->
- ok.
-
-
-%% test events help functions
-contains(List) ->
- fun(Proplist) when is_list(Proplist) ->
- contains(List,Proplist)
- end.
-
-contains([{not_in_order,List}|T],Rest) ->
- contains_parallel(List,Rest),
- contains(T,Rest);
-contains([{Ele,Pos}|T] = L,[H|T2]) ->
- case element(Pos,H) of
- Ele ->
- contains(T,T2);
- _ ->
- contains(L,T2)
- end;
-contains([Ele|T],[{Ele,_}|T2])->
- contains(T,T2);
-contains([Ele|T],[Ele|T2])->
- contains(T,T2);
-contains(List,[_|T]) ->
- contains(List,T);
-contains([],_) ->
- match.
-
-contains_parallel([Key | T], Elems) ->
- contains([Key],Elems),
- contains_parallel(T,Elems);
-contains_parallel([],_Elems) ->
- match.
-
-not_contains(List) ->
- fun(Proplist) when is_list(Proplist) ->
- [] = [Ele || {Ele,_} <- Proplist,
- Test <- List,
- Test =:= Ele]
- end.