4
%% Copyright Ericsson AB 2009-2011. All Rights Reserved.
6
%% The contents of this file are subject to the Erlang Public License,
7
%% Version 1.1, (the "License"); you may not use this file except in
8
%% compliance with the License. You should have received a copy of the
9
%% Erlang Public License along with this software. If not, it can be
10
%% retrieved online at http://www.erlang.org/.
12
%% Software distributed under the License is distributed on an "AS IS"
13
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
%% the License for the specific language governing rights and limitations
20
%%%-------------------------------------------------------------------
21
%%% File: ct_config_info_SUITE
23
%%% Description: Test how Common Test handles info functions
24
%%% for the config functions.
26
%%%-------------------------------------------------------------------
27
-module(ct_config_info_SUITE).
31
-include_lib("common_test/include/ct.hrl").
32
-include_lib("common_test/include/ct_event.hrl").
34
-define(eh, ct_test_support_eh).
36
%%--------------------------------------------------------------------
37
%% TEST SERVER CALLBACK FUNCTIONS
38
%%--------------------------------------------------------------------
40
%%--------------------------------------------------------------------
41
%% Description: Since Common Test starts another Test Server
42
%% instance, the tests need to be performed on a separate node (or
43
%% there will be clashes with logging processes etc).
44
%%--------------------------------------------------------------------
45
init_per_suite(Config) ->
46
Config1 = ct_test_support:init_per_suite(Config),
49
end_per_suite(Config) ->
50
ct_test_support:end_per_suite(Config).
52
init_per_testcase(TestCase, Config) ->
53
ct_test_support:init_per_testcase(TestCase, Config).
55
end_per_testcase(TestCase, Config) ->
56
ct_test_support:end_per_testcase(TestCase, Config).
58
suite() -> [{ct_hooks,[ts_install_cth]}].
65
%%--------------------------------------------------------------------
67
%%--------------------------------------------------------------------
69
%%%-----------------------------------------------------------------
71
config_info(Config) when is_list(Config) ->
72
DataDir = ?config(data_dir, Config),
73
Suite = filename:join(DataDir, "config_info_1_SUITE"),
74
{Opts,ERPid} = setup([{suite,Suite},
75
{label,config_info}], Config),
76
ok = execute(config_info, Opts, ERPid, Config).
78
%%%-----------------------------------------------------------------
80
%%%-----------------------------------------------------------------
82
setup(Test, Config) ->
83
Opts0 = ct_test_support:get_opts(Config),
84
Level = ?config(trace_level, Config),
85
EvHArgs = [{cbm,ct_test_support},{trace_level,Level}],
86
Opts = Opts0 ++ [{event_handler,{?eh,EvHArgs}}|Test],
87
ERPid = ct_test_support:start_event_receiver(Config),
90
execute(Name, Opts, ERPid, Config) ->
91
ok = ct_test_support:run(Opts, Config),
92
Events = ct_test_support:get_events(ERPid, Config),
94
ct_test_support:log_events(Name,
95
reformat(Events, ?eh),
96
?config(priv_dir, Config),
99
TestEvents = events_to_check(Name),
100
ct_test_support:verify_events(TestEvents, Events, Config).
102
reformat(Events, EH) ->
103
ct_test_support:reformat(Events, EH).
105
%%%-----------------------------------------------------------------
107
%%%-----------------------------------------------------------------
108
events_to_check(Test) ->
109
%% 2 tests (ct:run_test + script_start) is default
110
events_to_check(Test, 2).
112
events_to_check(_, 0) ->
114
events_to_check(Test, N) ->
115
test_events(Test) ++ events_to_check(Test, N-1).
118
test_events(config_info) ->
120
{?eh,start_logging,{'DEF','RUNDIR'}},
121
{?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
122
{?eh,start_info,{1,1,6}},
123
{?eh,tc_done,{config_info_1_SUITE,init_per_suite,ok}},
125
[{?eh,tc_start,{config_info_1_SUITE,{init_per_group,g1,[]}}},
126
{?eh,tc_done,{config_info_1_SUITE,
127
{init_per_group,unknown,[]},
128
{failed,{timetrap_timeout,350}}}},
129
{?eh,tc_auto_skip,{config_info_1_SUITE,t11,
130
{failed,{config_info_1_SUITE,init_per_group,{timetrap_timeout,350}}}}},
131
{?eh,tc_auto_skip,{config_info_1_SUITE,end_per_group,
132
{failed,{config_info_1_SUITE,init_per_group,
133
{timetrap_timeout,350}}}}}],
135
[{?eh,tc_start,{config_info_1_SUITE,{init_per_group,g2,[]}}},
136
{?eh,tc_done,{config_info_1_SUITE,{init_per_group,g2,[]},ok}},
137
{?eh,tc_done,{config_info_1_SUITE,t21,ok}},
138
{?eh,tc_start,{config_info_1_SUITE,{end_per_group,g2,[]}}},
139
{?eh,tc_done,{config_info_1_SUITE,
140
{end_per_group,unknown,[]},
141
{failed,{timetrap_timeout,450}}}}],
142
[{?eh,tc_start,{config_info_1_SUITE,{init_per_group,g3,[]}}},
143
{?eh,tc_done,{config_info_1_SUITE,{init_per_group,g3,[]},ok}},
144
[{?eh,tc_start,{config_info_1_SUITE,{init_per_group,g4,[]}}},
145
{?eh,tc_done,{config_info_1_SUITE,
146
{init_per_group,unknown,[]},
147
{failed,{timetrap_timeout,400}}}},
148
{?eh,tc_auto_skip,{config_info_1_SUITE,t41,
149
{failed,{config_info_1_SUITE,init_per_group,
150
{timetrap_timeout,400}}}}},
151
{?eh,tc_auto_skip,{config_info_1_SUITE,end_per_group,
152
{failed,{config_info_1_SUITE,init_per_group,
153
{timetrap_timeout,400}}}}}],
154
{?eh,tc_start,{config_info_1_SUITE,t31}},
155
{?eh,tc_done,{config_info_1_SUITE,t31,
156
{skipped,{failed,{config_info_1_SUITE,init_per_testcase,
157
{timetrap_timeout,250}}}}}},
158
{?eh,tc_start,{config_info_1_SUITE,t32}},
159
{?eh,tc_done,{config_info_1_SUITE,t32,
160
{failed,{config_info_1_SUITE,end_per_testcase,
161
{timetrap_timeout,250}}}}},
163
[{?eh,tc_start,{config_info_1_SUITE,{init_per_group,g5,[]}}},
164
{?eh,tc_done,{config_info_1_SUITE,{init_per_group,g5,[]},ok}},
165
{?eh,tc_done,{config_info_1_SUITE,t51,ok}},
166
{?eh,tc_start,{config_info_1_SUITE,{end_per_group,g5,[]}}},
167
{?eh,tc_done,{config_info_1_SUITE,
168
{end_per_group,unknown,[]},
169
{failed,{timetrap_timeout,400}}}}],
170
{?eh,tc_start,{config_info_1_SUITE,{end_per_group,g3,[]}}},
171
{?eh,tc_done,{config_info_1_SUITE,{end_per_group,g3,[]},ok}}],
173
{?eh,tc_start,{config_info_1_SUITE,end_per_suite}},
174
{?eh,tc_done,{config_info_1_SUITE,end_per_suite,
175
{failed,{timetrap_timeout,300}}}},
176
{?eh,test_done,{'DEF','STOP_TIME'}},
177
{?eh,stop_logging,[]}