aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/common_test/test/ct_repeat_1_SUITE_data/repeat_1_SUITE.erl7
-rw-r--r--lib/test_server/src/test_server_ctrl.erl12
2 files changed, 8 insertions, 11 deletions
diff --git a/lib/common_test/test/ct_repeat_1_SUITE_data/repeat_1_SUITE.erl b/lib/common_test/test/ct_repeat_1_SUITE_data/repeat_1_SUITE.erl
index 6fe5f12413..5b097c11e9 100644
--- a/lib/common_test/test/ct_repeat_1_SUITE_data/repeat_1_SUITE.erl
+++ b/lib/common_test/test/ct_repeat_1_SUITE_data/repeat_1_SUITE.erl
@@ -199,14 +199,10 @@ groups() ->
{group,repeat_gr_until_any_ok_2},
{group,repeat_gr_until_any_ok_3}]},
- %%! Fails! Should get aborted on second iteration, but doesn't!
{repeat_gr_until_any_ok_1, [{repeat_until_any_ok,3}],
[{group,gr_fail_result}, tc_fail_1, {group,gr_fail_init}, tc_fail_2, {group,gr_fail_result_then_ok}]},
-
- %%! Fails! Should get aborted on second iteration, but doesn't!
{repeat_gr_until_any_ok_2, [{repeat_until_any_ok,3}],
[{group,gr_fail_result}, tc_fail_1, {group,gr_fail_init}, tc_fail_2, {group,gr_fail_init_then_ok}]},
-
{repeat_gr_until_any_ok_3, [{repeat_until_any_ok,3}],
[{group,gr_fail_result}, tc_fail_1, tc_fail_then_ok_1, {group,gr_fail_init}]},
@@ -263,11 +259,8 @@ groups() ->
{group,repeat_gr_until_all_fail_3}]},
{repeat_gr_until_all_fail_1, [{repeat_until_all_fail,3}],
[tc_fail_1, {group,gr_fail_init}, tc_ok_then_fail_1, {group,gr_ok_then_fail_result}]},
-
- %%! Fails! Should run twice, not only once!
{repeat_gr_until_all_fail_2, [{repeat_until_all_fail,3}],
[{group,gr_ok_then_fail_init}, tc_fail_1]},
-
{repeat_gr_until_all_fail_3, [{repeat_until_all_fail,3}],
[{group,gr_fail_result}, tc_ok_then_fail_1]},
diff --git a/lib/test_server/src/test_server_ctrl.erl b/lib/test_server/src/test_server_ctrl.erl
index 9ab526a26b..1dc5646184 100644
--- a/lib/test_server/src/test_server_ctrl.erl
+++ b/lib/test_server/src/test_server_ctrl.erl
@@ -2567,7 +2567,7 @@ run_test_cases_loop([{conf,Ref,Props,{Mod,Func}}|_Cases]=Cs0,
{true,EndStatus,RestCs,Fun};
{repeat_until_any_ok,_} ->
{RestCs,Fun} = case get_tc_results(Status1) of
- {Ok,_,_} when length(Ok) > 0 ->
+ {Ok,_,_Fails} when length(Ok) > 0 ->
{Cases1,ReportStop};
_ ->
{CopiedCases++Cases1,?void_fun}
@@ -2734,9 +2734,10 @@ run_test_cases_loop([{conf,Ref,Props,{Mod,Func}}|_Cases]=Cs0,
end;
{value,{_,GroupResult}} ->
{Cases,update_status(GroupResult, group_result, GrName,
- delete_status(Ref, Status2))};
+ delete_status(Ref, Status2))};
false ->
- {Cases,delete_status(Ref, Status2)}
+ {Cases,update_status(ok, group_result, GrName,
+ delete_status(Ref, Status2))}
end,
print_conf_time(ConfTime),
ReportRepeatStop(),
@@ -2876,7 +2877,10 @@ get_copied_cases([{_,{_,Cases}} | _Status]) ->
Cases.
get_tc_results([{_,{OkSkipFail,_}} | _Status]) ->
- OkSkipFail.
+ OkSkipFail;
+get_tc_results([]) -> % in case init_per_suite crashed
+ {[],[],[]}.
+
conf(Ref, Props) ->
{Ref,Props,?now}.