diff options
author | Jakub Witczak <u3s@users.noreply.github.com> | 2021-09-29 11:45:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-29 11:45:17 +0200 |
commit | ddddb3f16c369b9ff0dfb6207689f99b5e4c9888 (patch) | |
tree | 070d6dc461b1866b767d14df497d046f2526d197 | |
parent | 7a8338768e0ee46cb0b02f4820998b82b5e9c200 (diff) | |
parent | abe4546661ab940a6046994305b02c080690ad79 (diff) | |
download | erlang-ddddb3f16c369b9ff0dfb6207689f99b5e4c9888.tar.gz |
Merge pull request #5242 from acw224/acw224/common_test/group_parsing_modification
Common_test : Updated grammar for tests specifications
OTP-17664
Closes #5088
-rw-r--r-- | lib/common_test/doc/src/run_test_chapter.xml | 8 | ||||
-rw-r--r-- | lib/common_test/src/ct_groups.erl | 9 | ||||
-rw-r--r-- | lib/common_test/src/ct_run.erl | 19 | ||||
-rw-r--r-- | lib/common_test/test/ct_testspec_1_SUITE.erl | 238 | ||||
-rw-r--r-- | lib/common_test/test/ct_testspec_1_SUITE_data/groups_1/groups_11_SUITE.erl | 50 |
5 files changed, 293 insertions, 31 deletions
diff --git a/lib/common_test/doc/src/run_test_chapter.xml b/lib/common_test/doc/src/run_test_chapter.xml index 0b8657ced3..731e550364 100644 --- a/lib/common_test/doc/src/run_test_chapter.xml +++ b/lib/common_test/doc/src/run_test_chapter.xml @@ -955,9 +955,9 @@ Dir = string() Suites = atom() | [atom()] | all Suite = atom() - Groups = GroupPath | [GroupPath] | GroupSpec | [GroupSpec] | all - GroupPath = [GroupName] - GroupSpec = GroupName | {GroupName,Properties} | {GroupName,Properties,GroupSpec} + Groups = GroupPath | GroupSpec | [GroupSpec] | all + GroupPath = [[GroupSpec]] + GroupSpec = GroupName | {GroupName,Properties} | {GroupName,Properties,[GroupSpec]} GroupName = atom() GroupNames = GroupName | [GroupName] Cases = atom() | [atom()] | all @@ -1608,5 +1608,3 @@ div.error pre { color:white }</pre> </section> </chapter> - - diff --git a/lib/common_test/src/ct_groups.erl b/lib/common_test/src/ct_groups.erl index b296939bd6..273a1acb12 100644 --- a/lib/common_test/src/ct_groups.erl +++ b/lib/common_test/src/ct_groups.erl @@ -550,11 +550,11 @@ search_and_override([Conf = {conf,Props,Init,Tests,End}], ORSpec, Mod) -> Suite = ?val(suite, Props), case lists:keysearch(Name, 1, ORSpec) of {value,{Name,default}} -> - [Conf]; + [{conf, Props, Init, search_and_override(Tests, ORSpec, Mod),End}]; {value,{Name,ORProps}} -> - [{conf,InsProps(Name,Suite,ORProps),Init,Tests,End}]; + [{conf,InsProps(Name,Suite,ORProps),Init, search_and_override(Tests, ORSpec, Mod),End}]; {value,{Name,default,[]}} -> - [Conf]; + [{conf, Props, Init, search_and_override(Tests, ORSpec, Mod),End}]; {value,{Name,default,SubORSpec}} -> override_props([Conf], SubORSpec, Name,Mod); {value,{Name,ORProps,SubORSpec}} -> @@ -562,7 +562,8 @@ search_and_override([Conf = {conf,Props,Init,Tests,End}], ORSpec, Mod) -> Init,Tests,End}], SubORSpec, Name,Mod); _ -> [{conf,Props,Init,search_and_override(Tests,ORSpec,Mod),End}] - end. + end; +search_and_override(Tests, _, _) -> Tests. %% Modify the Tests element according to the override specification override_props([{conf,Props,Init,Tests,End} | Confs], SubORSpec, Name,Mod) -> diff --git a/lib/common_test/src/ct_run.erl b/lib/common_test/src/ct_run.erl index a69267f5ea..27d0418029 100644 --- a/lib/common_test/src/ct_run.erl +++ b/lib/common_test/src/ct_run.erl @@ -2050,8 +2050,23 @@ final_tests1([{TestDir,Suite,GrsOrCs}|Tests], Final, Skip, Bad) when [ct_groups:make_conf(TestDir, Suite, GroupName, Props, TCs)]; ({GroupOrGroups,TCs}) -> - [ct_groups:make_conf(TestDir, Suite, - GroupOrGroups, [], TCs)]; + case GroupOrGroups of + [GroupList] when is_list(GroupList) -> + {GrpNames, Props} = lists:foldl( + fun({GrpName,_} = GrSpec, {GrpNames, Props}) -> + {lists:append(GrpNames, [GrpName]), [GrSpec | Props]}; + ({GrpName,_,_} = GrSpec, {GrpNames, Props}) -> + {lists:append(GrpNames, [GrpName]), [GrSpec | Props]}; + (GrpName, {GrpNames, Props}) -> + {lists:append(GrpNames, [GrpName]), Props} + end, + {[], []}, GroupList), + [ct_groups:make_conf(TestDir, Suite, + [GrpNames], [{override, Props}], TCs)]; + _ -> + [ct_groups:make_conf(TestDir, Suite, + GroupOrGroups, [], TCs)] + end; (TC) -> [TC] end, GrsOrCs), diff --git a/lib/common_test/test/ct_testspec_1_SUITE.erl b/lib/common_test/test/ct_testspec_1_SUITE.erl index 2d2c42999f..41027dff36 100644 --- a/lib/common_test/test/ct_testspec_1_SUITE.erl +++ b/lib/common_test/test/ct_testspec_1_SUITE.erl @@ -63,6 +63,9 @@ all() -> [all_suites, skip_all_suites, suite, skip_suite, all_testcases, skip_all_testcases, testcase, skip_testcase, all_groups, skip_all_groups, group, + group_path, group_config, + group_spec, multi_group, multi_group_config, + groupspec_path, groupspec_path_2, skip_group, group_all_testcases, skip_group_all_testcases, group_testcase, skip_group_testcase, topgroup, subgroup, skip_subgroup, @@ -207,12 +210,53 @@ skip_all_groups(Config) when is_list(Config) -> group(Config) when is_list(Config) -> DataDir = ?config(data_dir, Config), - TestDir = filename:join(DataDir, "groups_1"), TestSpec = [{groups,TestDir,groups_11_SUITE,test_group_1a}], - setup_and_execute(group, TestSpec, Config). +group_path(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE,[[test_group_2, test_group_3]]}], + setup_and_execute(group_path, TestSpec, Config). + +group_config(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE, {test_group_1c, [parallel]}}], + setup_and_execute(group_config, TestSpec, Config). + +group_spec(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE, {test_group_2, [parallel], [{test_group_3, [sequence]}]}}], + setup_and_execute(group_spec, TestSpec, Config). + +multi_group(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE, [test_group_1a, test_group_3]}], + setup_and_execute(multi_group, TestSpec, Config). + +multi_group_config(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE, [{test_group_2, [parallel], [{test_group_3, [sequence]}]}, + {test_group_9, [sequence], [{test_group_8, [parallel]}]}]}], + setup_and_execute(multi_group_config, TestSpec, Config). + +groupspec_path(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE,[[{test_group_2, []}, {test_group_3,[]}]]}], + setup_and_execute(groupspec_path, TestSpec, Config). + +groupspec_path_2(Config) when is_list(Config) -> + DataDir = ?config(data_dir, Config), + TestDir = filename:join(DataDir, "groups_1"), + TestSpec = [{groups,TestDir,groups_11_SUITE,[[{test_group_2, [parallel]}, {test_group_3,[sequence]}]]}], + setup_and_execute(groupspec_path_2, TestSpec, Config). + skip_group(Config) when is_list(Config) -> DataDir = ?config(data_dir, Config), @@ -224,7 +268,6 @@ skip_group(Config) when is_list(Config) -> setup_and_execute(skip_group, TestSpec, Config). - %%%----------------------------------------------------------------- %%% @@ -753,7 +796,7 @@ test_events(all_groups) -> [ {?eh,start_logging,'_'}, {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, - {?eh,test_stats,{12,0,{0,0}}}, + {?eh,test_stats,{16,0,{0,0}}}, {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} ]; @@ -761,7 +804,7 @@ test_events(all_groups) -> test_events(skip_all_groups) -> [ {?eh,start_logging,'_'}, - {?eh,start_info,{1,1,12}}, + {?eh,start_info,{1,1,16}}, {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, {?eh,tc_user_skip,{groups_11_SUITE,{init_per_group,test_group_1a},"SKIPPED!"}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_1a,test_group_1a},"SKIPPED!"}}, @@ -775,26 +818,38 @@ test_events(skip_all_groups) -> {?eh,tc_user_skip,{groups_11_SUITE,{testcase_1b,test_group_1b},"SKIPPED!"}}, {?eh,test_stats,{0,0,{4,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{end_per_group,test_group_1b},"SKIPPED!"}}, + {?eh,tc_user_skip,{groups_11_SUITE,{init_per_group,test_group_1c},"SKIPPED!"}}, + {?eh,tc_user_skip,{groups_11_SUITE,{testcase_1a,test_group_1c},"SKIPPED!"}}, + {?eh,test_stats,{0,0,{5,0}}}, + {?eh,tc_user_skip,{groups_11_SUITE,{testcase_1b,test_group_1c},"SKIPPED!"}}, + {?eh,test_stats,{0,0,{6,0}}}, + {?eh,tc_user_skip,{groups_11_SUITE,{end_per_group,test_group_1c},"SKIPPED!"}}, {?eh,tc_user_skip,{groups_11_SUITE,{init_per_group,test_group_2},"SKIPPED!"}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_2a,test_group_2},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{5,0}}}, + {?eh,test_stats,{0,0,{7,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_3a,test_group_3},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{6,0}}}, + {?eh,test_stats,{0,0,{8,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_3b,test_group_3},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{7,0}}}, + {?eh,test_stats,{0,0,{9,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_2b,test_group_2},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{8,0}}}, + {?eh,test_stats,{0,0,{10,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{end_per_group,test_group_2},"SKIPPED!"}}, {?eh,tc_user_skip,{groups_11_SUITE,{init_per_group,test_group_4},"SKIPPED!"}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_5a,test_group_5},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{9,0}}}, + {?eh,test_stats,{0,0,{11,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_7a,test_group_7},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{10,0}}}, + {?eh,test_stats,{0,0,{12,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_7b,test_group_7},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{11,0}}}, + {?eh,test_stats,{0,0,{13,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{testcase_5b,test_group_5},"SKIPPED!"}}, - {?eh,test_stats,{0,0,{12,0}}}, + {?eh,test_stats,{0,0,{14,0}}}, {?eh,tc_user_skip,{groups_11_SUITE,{end_per_group,test_group_4},"SKIPPED!"}}, + {?eh,tc_user_skip,{groups_11_SUITE,{init_per_group,test_group_9},"SKIPPED!"}}, + {?eh,tc_user_skip,{groups_11_SUITE,{testcase_9,test_group_9},"SKIPPED!"}}, + {?eh,test_stats,{0,0,{15,0}}}, + {?eh,tc_user_skip,{groups_11_SUITE,{testcase_8,test_group_8},"SKIPPED!"}}, + {?eh,test_stats,{0,0,{16,0}}}, + {?eh,tc_user_skip,{groups_11_SUITE,{end_per_group,test_group_9},"SKIPPED!"}}, {?eh,tc_start,{groups_11_SUITE,end_per_suite}}, {?eh,tc_done,{groups_11_SUITE,end_per_suite,ok}}, {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} @@ -813,6 +868,65 @@ test_events(group) -> {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} ]; +test_events(group_path) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[sequence]}}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[parallel]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[sequence]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + +test_events(group_config) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_1c,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_1c,[parallel]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + + +test_events(groupspec_path) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[]}}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[]}}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3a}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3b}}, + {?eh,test_stats,{2,0,{0,0}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + +test_events(groupspec_path_2) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {parallel, [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]},ok}}, + [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[sequence]}}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3a}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3b}}, + {?eh,test_stats,{2,0,{0,0}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[sequence]},'_'}} + ], + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]},ok}} + ]}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + test_events(skip_group) -> [ {?eh,start_logging,'_'}, @@ -858,6 +972,104 @@ test_events(group_all_testcases) -> {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} ]; +test_events(group_spec) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {parallel, [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]},ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_2a}}, + {?eh,tc_done,{groups_11_SUITE,testcase_2a,ok}}, + [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[sequence]}}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3a}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3b}}, + {?eh,test_stats,{3,0,{0,0}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[sequence]},'_'}} + ], + {?eh,tc_start,{groups_11_SUITE,testcase_2b}}, + {?eh,tc_done,{groups_11_SUITE,testcase_2b,ok}}, + {?eh,test_stats,{4,0,{0,0}}}, + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]},ok}} + ]}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + +test_events(multi_group) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_1a,[]}}}, + {?eh,tc_start,{groups_11_SUITE,testcase_1a}}, + {?eh,tc_start,{groups_11_SUITE,testcase_1b}}, + {?eh,test_stats,{2,0,{0,0}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_1a,[]},'_'}}, + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[sequence]}}}, + {parallel, [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_3,[parallel]}, ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3a}}, + {?eh,tc_done,{groups_11_SUITE,testcase_3a,ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3b}}, + {?eh,tc_done,{groups_11_SUITE,testcase_3b,ok}}, + {?eh,test_stats,{4,0,{0,0}}}, + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_3,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[parallel]}, ok}} + ]}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[sequence]},'_'}}, + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + +test_events(multi_group_config) -> + [ + {?eh,start_logging,'_'}, + {?eh,tc_start,{groups_11_SUITE,init_per_suite}}, + {parallel, [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_2,[parallel]},ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_2a}}, + {?eh,tc_done,{groups_11_SUITE,testcase_2a,ok}}, + [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_3,[sequence]}}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3a}}, + {?eh,tc_start,{groups_11_SUITE,testcase_3b}}, + {?eh,test_stats,{3,0,{0,0}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_3,[sequence]},'_'}} + ], + {?eh,tc_start,{groups_11_SUITE,testcase_2b}}, + {?eh,tc_done,{groups_11_SUITE,testcase_2b,ok}}, + {?eh,test_stats,{4,0,{0,0}}}, + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_2,[parallel]},ok}} + ]}, + [ + {?eh,tc_start,{groups_11_SUITE,{init_per_group,test_group_9,[sequence]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_9,[sequence]},ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_9}}, + {?eh,tc_done,{groups_11_SUITE,testcase_9,ok}}, + {?eh,test_stats,{5,0,{0,0}}}, + {parallel,[ + {?eh,tc_start, + {groups_11_SUITE,{init_per_group,test_group_8,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{init_per_group,test_group_8,[parallel]},ok}}, + {?eh,tc_start,{groups_11_SUITE,testcase_8}}, + {?eh,tc_done,{groups_11_SUITE,testcase_8,ok}}, + {?eh,test_stats,{6,0,{0,0}}}, + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_8,[parallel]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_8,[parallel]},ok}} + ]}, + {?eh,tc_start,{groups_11_SUITE,{end_per_group,test_group_9,[sequence]}}}, + {?eh,tc_done,{groups_11_SUITE,{end_per_group,test_group_9,[sequence]},ok}} + ], + {?eh,tc_done,{groups_11_SUITE,end_per_suite,'_'}}, + {negative,{?eh,tc_start,'_'},{?eh,stop_logging,'_'}} + ]; + + test_events(skip_group_all_testcases) -> [ {?eh,start_logging,'_'}, diff --git a/lib/common_test/test/ct_testspec_1_SUITE_data/groups_1/groups_11_SUITE.erl b/lib/common_test/test/ct_testspec_1_SUITE_data/groups_1/groups_11_SUITE.erl index 4d481fe3b8..56c97d9782 100644 --- a/lib/common_test/test/ct_testspec_1_SUITE_data/groups_1/groups_11_SUITE.erl +++ b/lib/common_test/test/ct_testspec_1_SUITE_data/groups_1/groups_11_SUITE.erl @@ -36,9 +36,11 @@ groups() -> {test_group_1b, [], [testcase_1a,testcase_1b]}, - {test_group_2, [], [testcase_2a, + {test_group_1c, [sequence], [testcase_1a,testcase_1b]}, - {test_group_3, [], [testcase_3a, + {test_group_2, [sequence], [testcase_2a, + + {test_group_3, [parallel], [testcase_3a, testcase_3b]}, testcase_2b]}, @@ -49,7 +51,12 @@ groups() -> testcase_5b]}]}, {test_group_6, [{group, test_group_7}]}, - {test_group_7, [testcase_7a,testcase_7b]} + {test_group_7, [testcase_7a,testcase_7b]}, + + {test_group_8, [sequence], [testcase_8]}, + + {test_group_9, [parallel], [testcase_9, {group, test_group_8}]} + ]. all() -> @@ -64,10 +71,11 @@ all() -> %% this func only for internal test purposes grs_and_tcs() -> {[ - test_group_1a, test_group_1b, + test_group_1a, test_group_1b, test_group_1c, test_group_2, test_group_3, test_group_4, test_group_5, - test_group_6, test_group_7 + test_group_6, test_group_7, + test_group_8, test_group_9 ], [ testcase_1, @@ -77,7 +85,9 @@ grs_and_tcs() -> testcase_3a, testcase_3b, testcase_3, testcase_5a, testcase_5b, - testcase_7a, testcase_7b + testcase_7a, testcase_7b, + testcase_8, + testcase_9 ]}. %%-------------------------------------------------------------------- @@ -95,7 +105,10 @@ end_per_suite(Config) -> %%-------------------------------------------------------------------- init_per_group(Group, Config) -> - [{name,Group}] = ?config(tc_group_properties,Config), + Group = case ?config(tc_group_properties,Config) of + [{name, Group0}] -> Group0; + [{name, Group0}, _Props] -> Group0 + end, {Grs,_} = grs_and_tcs(), case lists:member(Group, Grs) of true -> @@ -164,8 +177,11 @@ testcase_1a(Config) -> _ -> case ?config(test_group_1b,Config) of test_group_1b -> ok; + _ -> case ?config(test_group_1c,Config) of + test_group_1c -> ok; _ -> ct:fail(no_group_data) end + end end, testcase_1a = ?config(testcase_1a,Config), ok. @@ -178,8 +194,11 @@ testcase_1b(Config) -> _ -> case ?config(test_group_1b,Config) of test_group_1b -> ok; + _ -> case ?config(test_group_1c,Config) of + test_group_1c -> ok; _ -> ct:fail(no_group_data) end + end end, undefined = ?config(testcase_1a,Config), testcase_1b = ?config(testcase_1b,Config), @@ -191,6 +210,7 @@ testcase_2(Config) -> init = ?config(suite,Config), undefined = ?config(test_group_1a,Config), undefined = ?config(test_group_1b,Config), + undefined = ?config(test_group_1c, Config), testcase_2 = ?config(testcase_2,Config), ok. @@ -280,3 +300,19 @@ testcase_7b(Config) -> undefined = ?config(testcase_7a,Config), testcase_7b = ?config(testcase_7b,Config), ok. +testcase_8() -> + []. +testcase_8(Config) -> + init = ?config(suite,Config), + test_group_9 = ?config(test_group_9,Config), + test_group_8 = ?config(test_group_8,Config), + testcase_8 = ?config(testcase_8,Config), + ok. +testcase_9() -> + []. +testcase_9(Config) -> + init = ?config(suite,Config), + test_group_9 = ?config(test_group_9,Config), + undefined = ?config(test_group_8,Config), + testcase_9 = ?config(testcase_9,Config), + ok. |