4
%% Copyright Ericsson AB 2009-2010. 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
19
-module(groups_12_SUITE).
23
-include_lib("common_test/include/ct.hrl").
25
%%====================================================================
26
%% COMMON TEST CALLBACK FUNCTIONS
27
%%====================================================================
30
[{timetrap,{minutes,1}}].
34
{test_group_1a, [shuffle], [testcase_1a,testcase_1b,testcase_1c]},
36
{test_group_1b, [parallel], [testcase_1a,testcase_1b]},
38
{test_group_2, [parallel], [testcase_2a,
40
{test_group_3, [{repeat,1}],
41
[testcase_3a, testcase_3b]},
45
{test_group_4, [{test_group_5, [parallel], [testcase_5a,
47
{group, test_group_6},
51
{test_group_6, [parallel], [{group, test_group_7}]},
53
{test_group_7, [sequence], [testcase_7a,testcase_7b]}
57
[{group, test_group_1a},
58
{group, test_group_1b},
61
{group, test_group_2},
63
{group, test_group_4}].
65
%% this func only for internal test purposes
68
test_group_1a, test_group_1b,
69
test_group_2, test_group_3,
70
test_group_4, test_group_5,
71
test_group_6, test_group_7
74
testcase_1a, testcase_1b, testcase_1c,
77
testcase_2a, testcase_2b,
78
testcase_3a, testcase_3b,
80
testcase_5a, testcase_5b,
81
testcase_7a, testcase_7b
84
%%--------------------------------------------------------------------
85
%% Suite Configuration
86
%%--------------------------------------------------------------------
88
init_per_suite(Config) ->
89
[{suite,init}|Config].
91
end_per_suite(Config) ->
92
init = ?config(suite,Config).
94
%%--------------------------------------------------------------------
95
%% Group Configuration
96
%%--------------------------------------------------------------------
98
init_per_group(Group, Config) ->
100
case {Group,?config(tc_group_properties,Config)} of
101
{test_group_1a,[{shuffle,S},{name,test_group_1a}]} ->
102
io_lib:format("shuffled, ~w", [S]);
103
{test_group_1b,[{name,test_group_1b},parallel]} -> "parallel";
104
{test_group_2,[{name,test_group_2},parallel]} -> "parallel";
105
{test_group_3,[{name,test_group_3},{repeat,1}]} -> "repeat 1";
106
{test_group_3,[{name,test_group_3}]} -> "repeat 0";
107
{test_group_4,[{name,test_group_4}]} -> ok;
108
{test_group_5,[{name,test_group_5},parallel]} -> "parallel";
109
{test_group_6,[{name,test_group_6},parallel]} -> "parallel";
110
{test_group_7,[{name,test_group_7},sequence]} -> "sequence"
112
{Grs,_} = grs_and_tcs(),
113
case lists:member(Group, Grs) of
115
init = ?config(suite,Config),
116
ct:comment(io_lib:format("~w, ~s", [Group,Cmt])),
117
[{Group,Group} | Config];
119
ct:fail({bad_group,Group})
122
end_per_group(Group, Config) ->
123
{Grs,_} = grs_and_tcs(),
124
case lists:member(Group, Grs) of
126
init = ?config(suite,Config),
127
Group = ?config(Group,Config),
130
ct:fail({bad_group,Group})
133
%%--------------------------------------------------------------------
134
%% Testcase Configuration
135
%%--------------------------------------------------------------------
137
init_per_testcase(TestCase, Config) ->
138
{_,TCs} = grs_and_tcs(),
139
case lists:member(TestCase, TCs) of
141
init = ?config(suite,Config),
142
[{TestCase,TestCase} | Config];
144
ct:fail({unknown_testcase,TestCase})
147
end_per_testcase(TestCase, Config) ->
148
{_,TCs} = grs_and_tcs(),
149
case lists:member(TestCase, TCs) of
151
init = ?config(suite,Config),
152
TestCase = ?config(TestCase,Config),
155
ct:fail({unknown_testcase,TestCase})
159
%%--------------------------------------------------------------------
161
%%--------------------------------------------------------------------
165
testcase_1a(Config) ->
166
init = ?config(suite,Config),
167
case ?config(test_group_1a,Config) of
170
case ?config(test_group_1b,Config) of
172
_ -> ct:fail(no_group_data)
175
testcase_1a = ?config(testcase_1a,Config),
179
testcase_1b(Config) ->
180
init = ?config(suite,Config),
181
case ?config(test_group_1a,Config) of
184
case ?config(test_group_1b,Config) of
186
_ -> ct:fail(no_group_data)
189
undefined = ?config(testcase_1a,Config),
190
testcase_1b = ?config(testcase_1b,Config),
195
testcase_1c(Config) ->
196
init = ?config(suite,Config),
197
case ?config(test_group_1a,Config) of
200
case ?config(test_group_1b,Config) of
202
_ -> ct:fail(no_group_data)
205
undefined = ?config(testcase_1b,Config),
206
testcase_1c = ?config(testcase_1c,Config),
211
testcase_1(Config) ->
212
init = ?config(suite,Config),
213
testcase_1 = ?config(testcase_1,Config),
218
testcase_2(Config) ->
219
init = ?config(suite,Config),
220
undefined = ?config(test_group_1a,Config),
221
undefined = ?config(test_group_1b,Config),
222
testcase_2 = ?config(testcase_2,Config),
227
testcase_2a(Config) ->
228
init = ?config(suite,Config),
229
test_group_2 = ?config(test_group_2,Config),
230
testcase_2a = ?config(testcase_2a,Config),
234
testcase_2b(Config) ->
235
init = ?config(suite,Config),
236
test_group_2 = ?config(test_group_2,Config),
237
undefined = ?config(testcase_2a,Config),
238
testcase_2b = ?config(testcase_2b,Config),
243
testcase_3a(Config) ->
244
init = ?config(suite,Config),
245
test_group_2 = ?config(test_group_2,Config),
246
test_group_3 = ?config(test_group_3,Config),
247
undefined = ?config(testcase_2b,Config),
248
testcase_3a = ?config(testcase_3a,Config),
252
testcase_3b(Config) ->
253
init = ?config(suite,Config),
254
test_group_2 = ?config(test_group_2,Config),
255
test_group_3 = ?config(test_group_3,Config),
256
undefined = ?config(testcase_3a,Config),
257
testcase_3b = ?config(testcase_3b,Config),
262
testcase_3(Config) ->
263
init = ?config(suite,Config),
264
undefined = ?config(test_group_2,Config),
265
undefined = ?config(test_group_3,Config),
266
testcase_3 = ?config(testcase_3,Config),
271
testcase_5a(Config) ->
272
init = ?config(suite,Config),
273
undefined = ?config(test_group_3,Config),
274
test_group_4 = ?config(test_group_4,Config),
275
test_group_5 = ?config(test_group_5,Config),
276
undefined = ?config(testcase_3,Config),
277
testcase_5a = ?config(testcase_5a,Config),
281
testcase_5b(Config) ->
282
init = ?config(suite,Config),
283
test_group_4 = ?config(test_group_4,Config),
284
test_group_5 = ?config(test_group_5,Config),
285
undefined = ?config(testcase_5a,Config),
286
testcase_5b = ?config(testcase_5b,Config),
291
testcase_7a(Config) ->
292
init = ?config(suite,Config),
293
undefined = ?config(test_group_3,Config),
294
test_group_4 = ?config(test_group_4,Config),
295
test_group_5 = ?config(test_group_5,Config),
296
test_group_6 = ?config(test_group_6,Config),
297
test_group_7 = ?config(test_group_7,Config),
298
testcase_7a = ?config(testcase_7a,Config),
302
testcase_7b(Config) ->
303
init = ?config(suite,Config),
304
test_group_4 = ?config(test_group_4,Config),
305
test_group_5 = ?config(test_group_5,Config),
306
test_group_6 = ?config(test_group_6,Config),
307
test_group_7 = ?config(test_group_7,Config),
308
undefined = ?config(testcase_7a,Config),
309
testcase_7b = ?config(testcase_7b,Config),