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_skip_SUITE
24
%%% Test auto- and user-skip functionality
26
%%% The suites used for the test are located in the data directory.
27
%%%-------------------------------------------------------------------
28
-module(ct_skip_SUITE).
32
-include_lib("common_test/include/ct.hrl").
33
-include_lib("common_test/include/ct_event.hrl").
35
-define(eh, ct_test_support_eh).
37
%%--------------------------------------------------------------------
38
%% TEST SERVER CALLBACK FUNCTIONS
39
%%--------------------------------------------------------------------
41
%%--------------------------------------------------------------------
42
%% Description: Since Common Test starts another Test Server
43
%% instance, the tests need to be performed on a separate node (or
44
%% there will be clashes with logging processes etc).
45
%%--------------------------------------------------------------------
46
init_per_suite(Config) ->
47
Config1 = ct_test_support:init_per_suite(Config),
50
end_per_suite(Config) ->
51
ct_test_support:end_per_suite(Config).
53
init_per_testcase(TestCase, Config) ->
54
ct_test_support:init_per_testcase(TestCase, Config).
56
end_per_testcase(TestCase, Config) ->
57
ct_test_support:end_per_testcase(TestCase, Config).
59
suite() -> [{ct_hooks,[ts_install_cth]}].
62
[auto_skip, user_skip].
67
init_per_group(_GroupName, Config) ->
70
end_per_group(_GroupName, Config) ->
75
%%--------------------------------------------------------------------
77
%%--------------------------------------------------------------------
79
%%%-----------------------------------------------------------------
81
auto_skip(Config) when is_list(Config) ->
82
DataDir = ?config(data_dir, Config),
83
Join = fun(D, S) -> filename:join(D, "skip/test/"++S) end,
84
Suites = [Join(DataDir, "auto_skip_1_SUITE"),
85
Join(DataDir, "auto_skip_2_SUITE"),
86
Join(DataDir, "auto_skip_3_SUITE"),
87
Join(DataDir, "auto_skip_4_SUITE"),
88
Join(DataDir, "auto_skip_5_SUITE"),
89
Join(DataDir, "auto_skip_6_SUITE"),
90
Join(DataDir, "auto_skip_7_SUITE"),
91
Join(DataDir, "auto_skip_8_SUITE"),
92
Join(DataDir, "auto_skip_9_SUITE"),
93
Join(DataDir, "auto_skip_10_SUITE"),
94
Join(DataDir, "auto_skip_11_SUITE")
97
{Opts,ERPid} = setup({suite,Suites}, Config),
98
ok = ct_test_support:run(Opts, Config),
99
Events = ct_test_support:get_events(ERPid, Config),
101
ct_test_support:log_events(auto_skip,
102
reformat(Events, ?eh),
103
?config(priv_dir, Config)),
105
TestEvents = events_to_check(auto_skip),
106
ok = ct_test_support:verify_events(TestEvents, Events, Config).
109
%%%-----------------------------------------------------------------
111
user_skip(Config) when is_list(Config) ->
112
DataDir = ?config(data_dir, Config),
113
Join = fun(D, S) -> filename:join(D, "skip/test/"++S) end,
114
Suites = [Join(DataDir, "user_skip_1_SUITE"),
115
Join(DataDir, "user_skip_2_SUITE"),
116
Join(DataDir, "user_skip_3_SUITE"),
117
Join(DataDir, "user_skip_4_SUITE"),
118
Join(DataDir, "user_skip_5_SUITE")],
120
{Opts,ERPid} = setup({suite,Suites}, Config),
121
ok = ct_test_support:run(Opts, Config),
122
Events = ct_test_support:get_events(ERPid, Config),
124
ct_test_support:log_events(user_skip,
125
reformat(Events, ?eh),
126
?config(priv_dir, Config)),
128
TestEvents = events_to_check(user_skip),
129
ok = ct_test_support:verify_events(TestEvents, Events, Config).
131
%%%-----------------------------------------------------------------
133
%%%-----------------------------------------------------------------
135
setup(Test, Config) ->
136
Opts0 = ct_test_support:get_opts(Config),
137
Level = ?config(trace_level, Config),
138
EvHArgs = [{cbm,ct_test_support},{trace_level,Level}],
139
Opts = Opts0 ++ [Test,{event_handler,{?eh,EvHArgs}}],
140
ERPid = ct_test_support:start_event_receiver(Config),
143
reformat(Events, EH) ->
144
ct_test_support:reformat(Events, EH).
145
%reformat(Events, _EH) ->
148
%%%-----------------------------------------------------------------
150
%%%-----------------------------------------------------------------
151
events_to_check(Test) ->
152
%% 2 tests (ct:run_test + script_start) is default
153
events_to_check(Test, 2).
155
events_to_check(_, 0) ->
157
events_to_check(Test, N) ->
158
test_events(Test) ++ events_to_check(Test, N-1).
160
test_events(auto_skip) ->
162
{?eh,start_logging,{'DEF','RUNDIR'}},
163
{?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
164
{?eh,start_info,{11,11,34}},
166
{?eh,tc_start,{auto_skip_1_SUITE,init_per_suite}},
168
{auto_skip_1_SUITE,init_per_suite,{failed,{error,init_per_suite_failed}}}},
170
{auto_skip_1_SUITE,tc1,{failed,{auto_skip_1_SUITE,init_per_suite,
171
{'EXIT',init_per_suite_failed}}}}},
172
{?eh,test_stats,{0,0,{0,1}}},
174
{auto_skip_1_SUITE,tc2,{failed,{auto_skip_1_SUITE,init_per_suite,
175
{'EXIT',init_per_suite_failed}}}}},
176
{?eh,test_stats,{0,0,{0,2}}},
178
{auto_skip_1_SUITE,end_per_suite,{failed,{auto_skip_1_SUITE,init_per_suite,
179
{'EXIT',init_per_suite_failed}}}}},
181
{?eh,tc_start,{auto_skip_2_SUITE,init_per_suite}},
183
{auto_skip_2_SUITE,init_per_suite,{failed,{error,init_per_suite_failed}}}},
185
{auto_skip_2_SUITE,tc1,{failed,{auto_skip_2_SUITE,init_per_suite,
186
{'EXIT',init_per_suite_failed}}}}},
187
{?eh,test_stats,{0,0,{0,3}}},
189
{auto_skip_2_SUITE,end_per_suite,{failed,{auto_skip_2_SUITE,init_per_suite,
190
{'EXIT',init_per_suite_failed}}}}},
192
{?eh,tc_start,{auto_skip_3_SUITE,init_per_suite}},
193
{?eh,tc_done,{auto_skip_3_SUITE,init_per_suite,ok}},
194
{?eh,tc_start,{auto_skip_3_SUITE,tc1}},
196
{auto_skip_3_SUITE,tc1,
197
{skipped,{failed,{auto_skip_3_SUITE,init_per_testcase,
198
{init_per_testcase,tc1,failed}}}}}},
199
{?eh,test_stats,{0,0,{0,4}}},
200
{?eh,tc_start,{auto_skip_3_SUITE,tc2}},
201
{?eh,tc_done,{auto_skip_3_SUITE,tc2,ok}},
202
{?eh,test_stats,{1,0,{0,4}}},
203
{?eh,tc_start,{auto_skip_3_SUITE,end_per_suite}},
204
{?eh,tc_done,{auto_skip_3_SUITE,end_per_suite,ok}},
206
{?eh,tc_start,{auto_skip_4_SUITE,init_per_suite}},
207
{?eh,tc_done,{auto_skip_4_SUITE,init_per_suite,ok}},
208
{?eh,tc_start,{auto_skip_4_SUITE,tc1}},
209
{?eh,tc_done,{auto_skip_4_SUITE,tc1,
210
{skipped,{failed,{auto_skip_4_SUITE,init_per_testcase,
211
{timetrap_timeout,1000}}}}}},
212
{?eh,test_stats,{1,0,{0,5}}},
213
{?eh,tc_start,{auto_skip_4_SUITE,tc2}},
214
{?eh,tc_done,{auto_skip_4_SUITE,tc2,ok}},
215
{?eh,test_stats,{2,0,{0,5}}},
216
{?eh,tc_start,{auto_skip_4_SUITE,end_per_suite}},
217
{?eh,tc_done,{auto_skip_4_SUITE,end_per_suite,ok}},
219
{?eh,tc_start,{auto_skip_5_SUITE,init_per_suite}},
220
{?eh,tc_done,{auto_skip_5_SUITE,init_per_suite,ok}},
221
[{?eh,tc_start,{auto_skip_5_SUITE,{init_per_group,g1,[]}}},
223
{auto_skip_5_SUITE,{init_per_group,g1,[]},{failed,{error,{group,g1,failed}}}}},
225
{auto_skip_5_SUITE,tc1,{failed,{auto_skip_5_SUITE,init_per_group,
226
{'EXIT',{group,g1,failed}}}}}},
227
{?eh,test_stats,{2,0,{0,6}}},
229
{auto_skip_5_SUITE,tc2,{failed,{auto_skip_5_SUITE,init_per_group,
230
{'EXIT',{group,g1,failed}}}}}},
231
{?eh,test_stats,{2,0,{0,7}}},
233
{auto_skip_5_SUITE,end_per_group,{failed,{auto_skip_5_SUITE,init_per_group,
234
{'EXIT',{group,g1,failed}}}}}}],
236
{?eh,tc_start,{auto_skip_5_SUITE,end_per_suite}},
237
{?eh,tc_done,{auto_skip_5_SUITE,end_per_suite,ok}},
239
{?eh,tc_start,{auto_skip_6_SUITE,init_per_suite}},
240
{?eh,tc_done,{auto_skip_6_SUITE,init_per_suite,ok}},
241
[{?eh,tc_start,{auto_skip_6_SUITE,{init_per_group,g1,[]}}},
243
{auto_skip_6_SUITE,{init_per_group,g1,[]},{failed,{error,{group,g1,failed}}}}},
245
{auto_skip_6_SUITE,tc1,{failed,{auto_skip_6_SUITE,init_per_group,
246
{'EXIT',{group,g1,failed}}}}}},
247
{?eh,test_stats,{2,0,{0,8}}},
249
{auto_skip_6_SUITE,tc3,{failed,{auto_skip_6_SUITE,init_per_group,
250
{'EXIT',{group,g1,failed}}}}}},
251
{?eh,test_stats,{2,0,{0,9}}},
253
{auto_skip_6_SUITE,tc4,{failed,{auto_skip_6_SUITE,init_per_group,
254
{'EXIT',{group,g1,failed}}}}}},
255
{?eh,test_stats,{2,0,{0,10}}},
257
{auto_skip_6_SUITE,tc2,{failed,{auto_skip_6_SUITE,init_per_group,
258
{'EXIT',{group,g1,failed}}}}}},
259
{?eh,test_stats,{2,0,{0,11}}},
261
{auto_skip_6_SUITE,end_per_group,{failed,{auto_skip_6_SUITE,init_per_group,
262
{'EXIT',{group,g1,failed}}}}}}],
264
[{?eh,tc_start,{auto_skip_6_SUITE,{init_per_group,g3,[]}}},
265
{?eh,tc_done,{auto_skip_6_SUITE,{init_per_group,g3,[]},ok}},
266
{?eh,tc_start,{auto_skip_6_SUITE,tc1}},
267
{?eh,tc_done,{auto_skip_6_SUITE,tc1,ok}},
268
{?eh,test_stats,{3,0,{0,11}}},
269
[{?eh,tc_start,{auto_skip_6_SUITE,{init_per_group,g4,[]}}},
270
{?eh,tc_done,{auto_skip_6_SUITE,{init_per_group,g4,[]},
271
{failed,{error,{group,g4,failed}}}}},
273
{auto_skip_6_SUITE,tc3,{failed,{auto_skip_6_SUITE,init_per_group,
274
{'EXIT',{group,g4,failed}}}}}},
275
{?eh,test_stats,{3,0,{0,12}}},
277
{auto_skip_6_SUITE,tc4,{failed,{auto_skip_6_SUITE,init_per_group,
278
{'EXIT',{group,g4,failed}}}}}},
279
{?eh,test_stats,{3,0,{0,13}}},
281
{auto_skip_6_SUITE,end_per_group,{failed,{auto_skip_6_SUITE,init_per_group,
282
{'EXIT',{group,g4,failed}}}}}}],
283
{?eh,tc_start,{auto_skip_6_SUITE,tc2}},
284
{?eh,tc_done,{auto_skip_6_SUITE,tc2,ok}},
285
{?eh,test_stats,{4,0,{0,13}}},
286
{?eh,tc_start,{auto_skip_6_SUITE,{end_per_group,g3,[]}}},
287
{?eh,tc_done,{auto_skip_6_SUITE,{end_per_group,g3,[]},ok}}],
289
{?eh,tc_start,{auto_skip_6_SUITE,end_per_suite}},
290
{?eh,tc_done,{auto_skip_6_SUITE,end_per_suite,ok}},
292
{?eh,tc_start,{auto_skip_7_SUITE,init_per_suite}},
293
{?eh,tc_done,{auto_skip_7_SUITE,init_per_suite,ok}},
295
{auto_skip_7_SUITE,tc1,{failed,{auto_skip_7_SUITE,init_per_suite,bad_return}}}},
296
{?eh,test_stats,{4,0,{0,14}}},
298
{auto_skip_7_SUITE,tc2,{failed,{auto_skip_7_SUITE,init_per_suite,bad_return}}}},
299
{?eh,test_stats,{4,0,{0,15}}},
301
{auto_skip_7_SUITE,end_per_suite,{failed,{auto_skip_7_SUITE,init_per_suite,bad_return}}}},
303
{?eh,tc_start,{auto_skip_8_SUITE,init_per_suite}},
304
{?eh,tc_done,{auto_skip_8_SUITE,init_per_suite,ok}},
306
{auto_skip_8_SUITE,tc1,{failed,{auto_skip_8_SUITE,init_per_suite,bad_return}}}},
307
{?eh,test_stats,{4,0,{0,16}}},
309
{auto_skip_8_SUITE,tc2,{failed,{auto_skip_8_SUITE,init_per_suite,bad_return}}}},
310
{?eh,test_stats,{4,0,{0,17}}},
312
{auto_skip_8_SUITE,end_per_suite,{failed,{auto_skip_8_SUITE,init_per_suite,bad_return}}}},
314
{?eh,tc_start,{auto_skip_9_SUITE,init_per_suite}},
315
{?eh,tc_done,{auto_skip_9_SUITE,init_per_suite,ok}},
316
{?eh,tc_start,{auto_skip_9_SUITE,tc1}},
317
{?eh,tc_done,{auto_skip_9_SUITE,tc1,ok}},
318
{?eh,test_stats,{5,0,{0,17}}},
319
{?eh,tc_start,{auto_skip_9_SUITE,tc2}},
320
{?eh,tc_done,{auto_skip_9_SUITE,tc2,
321
{skipped,{failed,{auto_skip_9_SUITE,init_per_testcase,bad_return}}}}},
322
{?eh,test_stats,{5,0,{0,18}}},
324
[{?eh,tc_start,{auto_skip_9_SUITE,{init_per_group,g1,[]}}},
325
{?eh,tc_done,{auto_skip_9_SUITE,{init_per_group,g1,[]},ok}},
326
{?eh,tc_start,{auto_skip_9_SUITE,tc3}},
327
{?eh,tc_done,{auto_skip_9_SUITE,tc3,ok}},
328
{?eh,test_stats,{6,0,{0,18}}},
329
{?eh,tc_start,{auto_skip_9_SUITE,{end_per_group,g1,[]}}},
330
{?eh,tc_done,{auto_skip_9_SUITE,{end_per_group,g1,[]},ok}}],
332
[{?eh,tc_start,{auto_skip_9_SUITE,{init_per_group,g2,[]}}},
333
{?eh,tc_done,{auto_skip_9_SUITE,{init_per_group,g2,[]},ok}},
334
{?eh,tc_start,{auto_skip_9_SUITE,tc4}},
335
{?eh,tc_done,{auto_skip_9_SUITE,tc4,ok}},
336
{?eh,test_stats,{7,0,{0,18}}},
337
{?eh,tc_start,{auto_skip_9_SUITE,{end_per_group,g2,[]}}},
338
{?eh,tc_done,{auto_skip_9_SUITE,{end_per_group,g2,[]},ok}}],
340
[{?eh,tc_start,{auto_skip_9_SUITE,{init_per_group,g3,[]}}},
341
{?eh,tc_done,{auto_skip_9_SUITE,{init_per_group,g3,[]},ok}},
342
{?eh,tc_start,{auto_skip_9_SUITE,tc5}},
343
{?eh,tc_done,{auto_skip_9_SUITE,tc5,
344
{skipped,{failed,{auto_skip_9_SUITE,init_per_testcase,bad_return}}}}},
345
{?eh,test_stats,{7,0,{0,19}}},
346
{?eh,tc_start,{auto_skip_9_SUITE,{end_per_group,g3,[]}}},
347
{?eh,tc_done,{auto_skip_9_SUITE,{end_per_group,g3,[]},ok}}],
351
{auto_skip_9_SUITE,{init_per_group,g4,[parallel]}}},
353
{auto_skip_9_SUITE,{init_per_group,g4,[parallel]},ok}},
354
{?eh,tc_start,{auto_skip_9_SUITE,tc6}},
355
{?eh,tc_done,{auto_skip_9_SUITE,tc6,ok}},
358
{auto_skip_9_SUITE,{init_per_group,g5,[parallel]}}},
360
{auto_skip_9_SUITE,{init_per_group,g5,[parallel]},ok}},
361
{?eh,tc_start,{auto_skip_9_SUITE,tc8}},
363
{auto_skip_9_SUITE,tc8,
364
{skipped,{failed,{auto_skip_9_SUITE,init_per_testcase,
365
{{badmatch,undefined},
366
[{auto_skip_9_SUITE,init_per_testcase,2},
367
{test_server,my_apply,3},
368
{test_server,init_per_testcase,3},
369
{test_server,run_test_case_eval1,6},
370
{test_server,run_test_case_eval,8}]}}}}}},
372
{auto_skip_9_SUITE,{end_per_group,g5,[parallel]}}},
374
{auto_skip_9_SUITE,{end_per_group,g5,[parallel]},ok}}]},
376
{?eh,tc_start,{auto_skip_9_SUITE,tc7}},
377
{?eh,tc_done,{auto_skip_9_SUITE,tc7,ok}},
378
{?eh,test_stats,{9,0,{0,20}}},
380
{auto_skip_9_SUITE,{end_per_group,g4,[parallel]}}},
382
{auto_skip_9_SUITE,{end_per_group,g4,[parallel]},ok}}]},
384
{?eh,tc_start,{auto_skip_9_SUITE,end_per_suite}},
385
{?eh,tc_done,{auto_skip_9_SUITE,end_per_suite,ok}},
387
{?eh,tc_start,{auto_skip_10_SUITE,init_per_suite}},
388
{?eh,tc_done,{auto_skip_10_SUITE,init_per_suite,
390
{require_failed_in_suite0,
391
{not_available,undefined_config_variable}}}}},
393
{auto_skip_10_SUITE,tc1,
394
{require_failed_in_suite0,{not_available,undefined_config_variable}}}},
395
{?eh,test_stats,{9,0,{0,21}}},
397
{auto_skip_10_SUITE,tc2,
398
{require_failed_in_suite0,{not_available,undefined_config_variable}}}},
399
{?eh,test_stats,{9,0,{0,22}}},
401
{auto_skip_10_SUITE,end_per_suite,
402
{require_failed_in_suite0,{not_available,undefined_config_variable}}}},
404
{?eh,tc_start,{auto_skip_11_SUITE,init_per_suite}},
405
{?eh,tc_done,{auto_skip_11_SUITE,init_per_suite,ok}},
406
{?eh,tc_start,{auto_skip_11_SUITE,tc1}},
407
{?eh,tc_done,{auto_skip_11_SUITE,tc1,
408
{skipped,{require_failed,{not_available,undefined_config_variable}}}}},
409
{?eh,test_stats,{9,0,{0,23}}},
410
{?eh,tc_start,{auto_skip_11_SUITE,tc2}},
411
{?eh,tc_done,{auto_skip_11_SUITE,tc2,ok}},
412
{?eh,test_stats,{10,0,{0,23}}},
416
{auto_skip_11_SUITE,{init_per_group,g1,[parallel]}}},
418
{auto_skip_11_SUITE,{init_per_group,g1,[parallel]},ok}},
421
{auto_skip_11_SUITE,{init_per_group,g2,[parallel]}}},
423
{auto_skip_11_SUITE,{init_per_group,g2,[parallel]},ok}},
424
{?eh,tc_start,{auto_skip_11_SUITE,tc3}},
426
{auto_skip_11_SUITE,tc3,
427
{skipped,{require_failed,{not_available,undefined_config_variable}}}}},
428
{?eh,test_stats,{10,0,{0,24}}},
430
{auto_skip_11_SUITE,{end_per_group,g2,[parallel]}}},
432
{auto_skip_11_SUITE,{end_per_group,g2,[parallel]},ok}}]},
434
{auto_skip_11_SUITE,{end_per_group,g1,[parallel]}}},
436
{auto_skip_11_SUITE,{end_per_group,g1,[parallel]},ok}}]},
438
{?eh,tc_start,{auto_skip_11_SUITE,end_per_suite}},
439
{?eh,tc_done,{auto_skip_11_SUITE,end_per_suite,ok}},
441
{?eh,test_done,{'DEF','STOP_TIME'}},
442
{?eh,stop_logging,[]}
445
test_events(user_skip) ->
446
[{?eh,start_logging,{'DEF','RUNDIR'}},
447
{?eh,test_start,{'DEF',{'START_TIME','LOGDIR'}}},
448
{?eh,start_info,{5,5,27}},
450
{?eh,tc_start,{user_skip_1_SUITE,init_per_suite}},
452
{user_skip_1_SUITE,init_per_suite,{skipped,"Whole suite skipped"}}},
454
{user_skip_1_SUITE,tc1,"Whole suite skipped"}},
455
{?eh,test_stats,{0,0,{0,1}}},
457
{user_skip_1_SUITE,tc2,"Whole suite skipped"}},
458
{?eh,test_stats,{0,0,{0,2}}},
460
{user_skip_1_SUITE,tc3,"Whole suite skipped"}},
461
{?eh,test_stats,{0,0,{0,3}}},
463
{user_skip_1_SUITE,tc4,"Whole suite skipped"}},
464
{?eh,test_stats,{0,0,{0,4}}},
466
{user_skip_1_SUITE,end_per_suite,"Whole suite skipped"}},
468
{?eh,tc_start,{user_skip_2_SUITE,init_per_suite}},
469
{?eh,tc_done,{user_skip_2_SUITE,init_per_suite,ok}},
470
{?eh,tc_start,{user_skip_2_SUITE,tc1}},
471
{?eh,tc_done,{user_skip_2_SUITE,tc1,{skipped,{tc1,skipped}}}},
472
{?eh,test_stats,{0,0,{1,4}}},
474
[{?eh,tc_start,{user_skip_2_SUITE,{init_per_group,g1,[]}}},
475
{?eh,tc_done,{user_skip_2_SUITE,{init_per_group,g1,[]},ok}},
476
{?eh,tc_start,{user_skip_2_SUITE,tc2}},
477
{?eh,tc_done,{user_skip_2_SUITE,tc2,ok}},
478
{?eh,test_stats,{1,0,{1,4}}},
479
{?eh,tc_start,{user_skip_2_SUITE,tc3}},
480
{?eh,tc_done,{user_skip_2_SUITE,tc3,{skipped,{tc3,skipped}}}},
481
{?eh,test_stats,{1,0,{2,4}}},
482
{?eh,tc_start,{user_skip_2_SUITE,{end_per_group,g1,[]}}},
483
{?eh,tc_done,{user_skip_2_SUITE,{end_per_group,g1,[]},ok}}],
485
{?eh,tc_start,{user_skip_2_SUITE,tc4}},
486
{?eh,tc_done,{user_skip_2_SUITE,tc4,ok}},
487
{?eh,test_stats,{2,0,{2,4}}},
488
{?eh,tc_start,{user_skip_2_SUITE,end_per_suite}},
489
{?eh,tc_done,{user_skip_2_SUITE,end_per_suite,ok}},
491
{?eh,tc_start,{user_skip_3_SUITE,init_per_suite}},
492
{?eh,tc_done,{user_skip_3_SUITE,init_per_suite,ok}},
493
{?eh,tc_start,{user_skip_3_SUITE,tc1}},
494
{?eh,tc_done,{user_skip_3_SUITE,tc1,{skipped,"Test case skipped"}}},
495
{?eh,test_stats,{2,0,{3,4}}},
497
[{?eh,tc_start,{user_skip_3_SUITE,{init_per_group,g1,[]}}},
498
{?eh,tc_done,{user_skip_3_SUITE,{init_per_group,g1,[]},ok}},
499
{?eh,tc_start,{user_skip_3_SUITE,tc2}},
500
{?eh,tc_done,{user_skip_3_SUITE,tc2,ok}},
501
{?eh,test_stats,{3,0,{3,4}}},
502
{?eh,tc_start,{user_skip_3_SUITE,tc3}},
503
{?eh,tc_done,{user_skip_3_SUITE,tc3,{skipped,"Test case skipped"}}},
504
{?eh,test_stats,{3,0,{4,4}}},
505
{?eh,tc_start,{user_skip_3_SUITE,{end_per_group,g1,[]}}},
506
{?eh,tc_done,{user_skip_3_SUITE,{end_per_group,g1,[]},ok}}],
508
{?eh,tc_start,{user_skip_3_SUITE,tc4}},
509
{?eh,tc_done,{user_skip_3_SUITE,tc4,
510
{skipped,{proc_info,{{current_function,{user_skip_3_SUITE,tc4,1}},
511
{initial_call,{erlang,apply,2}}}}}}},
512
{?eh,test_stats,{3,0,{5,4}}},
513
{?eh,tc_start,{user_skip_3_SUITE,end_per_suite}},
514
{?eh,tc_done,{user_skip_3_SUITE,end_per_suite,ok}},
516
{?eh,tc_start,{user_skip_4_SUITE,init_per_suite}},
517
{?eh,tc_done,{user_skip_4_SUITE,init_per_suite,ok}},
519
[{?eh,tc_start,{user_skip_4_SUITE,{init_per_group,g1,[]}}},
520
{?eh,tc_done,{user_skip_4_SUITE,{init_per_group,g1,[]},{skipped,"Group skipped"}}},
521
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc1,"Group skipped"}},
522
{?eh,test_stats,{3,0,{5,5}}},
523
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc2,"Group skipped"}},
524
{?eh,test_stats,{3,0,{5,6}}},
525
{?eh,tc_auto_skip,{user_skip_4_SUITE,end_per_group,"Group skipped"}}],
527
[{?eh,tc_start,{user_skip_4_SUITE,{init_per_group,g2,[]}}},
528
{?eh,tc_done,{user_skip_4_SUITE,{init_per_group,g2,[]},ok}},
529
{?eh,tc_start,{user_skip_4_SUITE,tc3}},
530
{?eh,tc_done,{user_skip_4_SUITE,tc3,ok}},
531
{?eh,test_stats,{4,0,{5,6}}},
532
{?eh,tc_start,{user_skip_4_SUITE,tc4}},
533
{?eh,tc_done,{user_skip_4_SUITE,tc4,ok}},
534
{?eh,test_stats,{5,0,{5,6}}},
535
{?eh,tc_start,{user_skip_4_SUITE,{end_per_group,g2,[]}}},
536
{?eh,tc_done,{user_skip_4_SUITE,{end_per_group,g2,[]},ok}}],
538
[{?eh,tc_start,{user_skip_4_SUITE,{init_per_group,g3,[]}}},
539
{?eh,tc_done,{user_skip_4_SUITE,{init_per_group,g3,[]},{skipped,"Group skipped"}}},
540
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc5,"Group skipped"}},
541
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc6,"Group skipped"}},
542
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc7,"Group skipped"}},
543
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc8,"Group skipped"}},
544
{?eh,test_stats,{5,0,{5,10}}},
545
{?eh,tc_auto_skip,{user_skip_4_SUITE,end_per_group,"Group skipped"}}],
547
[{?eh,tc_start,{user_skip_4_SUITE,{init_per_group,g5,[]}}},
548
{?eh,tc_done,{user_skip_4_SUITE,{init_per_group,g5,[]},ok}},
549
{?eh,tc_start,{user_skip_4_SUITE,tc9}},
550
{?eh,tc_done,{user_skip_4_SUITE,tc9,ok}},
551
{?eh,test_stats,{6,0,{5,10}}},
552
[{?eh,tc_start,{user_skip_4_SUITE,{init_per_group,g6,[]}}},
553
{?eh,tc_done,{user_skip_4_SUITE,{init_per_group,g6,[]},{skipped,"Group skipped"}}},
554
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc10,"Group skipped"}},
555
{?eh,test_stats,{6,0,{5,11}}},
556
{?eh,tc_auto_skip,{user_skip_4_SUITE,tc11,"Group skipped"}},
557
{?eh,test_stats,{6,0,{5,12}}},
558
{?eh,tc_auto_skip,{user_skip_4_SUITE,end_per_group,"Group skipped"}}],
559
{?eh,tc_start,{user_skip_4_SUITE,{end_per_group,g5,[]}}},
560
{?eh,tc_done,{user_skip_4_SUITE,{end_per_group,g5,[]},ok}}],
562
{?eh,tc_start,{user_skip_4_SUITE,end_per_suite}},
563
{?eh,tc_done,{user_skip_4_SUITE,end_per_suite,ok}},
565
{ct_test_support_eh,tc_start,{user_skip_5_SUITE,init_per_suite}},
566
{?eh,tc_done,{user_skip_5_SUITE,init_per_suite,
567
{skipped,{bad,'Whole suite skipped'}}}},
568
{?eh,tc_auto_skip,{user_skip_5_SUITE,tc1,{bad,'Whole suite skipped'}}},
569
{?eh,test_stats,{6,0,{5,13}}},
570
{?eh,tc_auto_skip,{user_skip_5_SUITE,tc2,{bad,'Whole suite skipped'}}},
571
{?eh,test_stats,{6,0,{5,14}}},
572
{?eh,tc_auto_skip,{user_skip_5_SUITE,tc3,{bad,'Whole suite skipped'}}},
573
{?eh,test_stats,{6,0,{5,15}}},
574
{?eh,tc_auto_skip,{user_skip_5_SUITE,tc4,{bad,'Whole suite skipped'}}},
575
{?eh,test_stats,{6,0,{5,16}}},
576
{?eh,tc_auto_skip,{user_skip_5_SUITE,end_per_suite,{bad,'Whole suite skipped'}}},
578
{?eh,test_done,{'DEF','STOP_TIME'}},
579
{?eh,stop_logging,[]}