diff options
author | Lukas Larsson <[email protected]> | 2010-12-01 15:44:17 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2010-12-08 18:07:54 +0100 |
commit | 963d9f96452243a31cdcaa793a4bbe221a30a6f5 (patch) | |
tree | 52a7b44a706251aaa4967f93172555cf51c9acc7 /lib/common_test/test | |
parent | 96f93c7e2a157442f60bb1b16ab0ce76d8b9dbca (diff) | |
download | otp-963d9f96452243a31cdcaa793a4bbe221a30a6f5.tar.gz otp-963d9f96452243a31cdcaa793a4bbe221a30a6f5.tar.bz2 otp-963d9f96452243a31cdcaa793a4bbe221a30a6f5.zip |
Add locking mechanism for scb state when using parallel groups
Diffstat (limited to 'lib/common_test/test')
-rw-r--r-- | lib/common_test/test/ct_suite_callback_SUITE.erl | 30 | ||||
-rw-r--r-- | lib/common_test/test/ct_suite_callback_SUITE_data/scb/tests/ct_scb_fail_one_skip_one_SUITE.erl | 2 |
2 files changed, 23 insertions, 9 deletions
diff --git a/lib/common_test/test/ct_suite_callback_SUITE.erl b/lib/common_test/test/ct_suite_callback_SUITE.erl index d60d24e237..e6e4d5706b 100644 --- a/lib/common_test/test/ct_suite_callback_SUITE.erl +++ b/lib/common_test/test/ct_suite_callback_SUITE.erl @@ -682,20 +682,24 @@ test_events(state_update_scb) -> {?eh,scb,{'_',terminate,[contains( [post_end_per_suite,pre_end_per_suite, post_end_per_group,pre_end_per_group, - 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, + {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, - 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, + {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] @@ -712,6 +716,10 @@ 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 -> @@ -728,6 +736,12 @@ 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, diff --git a/lib/common_test/test/ct_suite_callback_SUITE_data/scb/tests/ct_scb_fail_one_skip_one_SUITE.erl b/lib/common_test/test/ct_suite_callback_SUITE_data/scb/tests/ct_scb_fail_one_skip_one_SUITE.erl index dfeacfe8b1..593bd4a534 100644 --- a/lib/common_test/test/ct_suite_callback_SUITE_data/scb/tests/ct_scb_fail_one_skip_one_SUITE.erl +++ b/lib/common_test/test/ct_suite_callback_SUITE_data/scb/tests/ct_scb_fail_one_skip_one_SUITE.erl @@ -48,7 +48,7 @@ end_per_testcase(_TestCase, _Config) -> ok.
groups() ->
- [{group1,[],[test_case1,test_case2,test_case3]}].
+ [{group1,[parallel],[{group2,[parallel],[test_case1,test_case2,test_case3]}]}].
all() ->
[{group,group1}].
|