From 0c6c4c13b31f2a91568bb3a04e63bc3c878d503c Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Thu, 14 Jun 2018 12:04:52 +0200 Subject: [logger] Stress overload_kill tests in disk_log handler --- lib/kernel/test/logger_std_h_SUITE.erl | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'lib/kernel/test/logger_std_h_SUITE.erl') diff --git a/lib/kernel/test/logger_std_h_SUITE.erl b/lib/kernel/test/logger_std_h_SUITE.erl index e0bc79012c..c2cc7653ea 100644 --- a/lib/kernel/test/logger_std_h_SUITE.erl +++ b/lib/kernel/test/logger_std_h_SUITE.erl @@ -995,7 +995,7 @@ qlen_kill_new(Config) -> ct:pal("Slow shutdown, handler process was killed!", []) end, file_delete(Log), - {ok,_} = wait_for_process_up(h_proc_name(), RestartAfter * 3), + {ok,_} = wait_for_process_up(RestartAfter * 3), ok after 5000 -> @@ -1046,7 +1046,7 @@ mem_kill_new(Config) -> ct:pal("Slow shutdown, handler process was killed!", []) end, file_delete(Log), - {ok,_} = wait_for_process_up(h_proc_name(), RestartAfter * 3), + {ok,_} = wait_for_process_up(RestartAfter * 3), ok after 5000 -> @@ -1077,7 +1077,7 @@ restart_after(Config) -> receive {'DOWN', MRef1, _, _, _Reason1} -> file_delete(Log), - error = wait_for_process_up(h_proc_name(),?OVERLOAD_KILL_RESTART_AFTER * 3), + error = wait_for_process_up(?OVERLOAD_KILL_RESTART_AFTER * 3), ok after 5000 -> @@ -1100,7 +1100,7 @@ restart_after(Config) -> receive {'DOWN', MRef2, _, _, _Reason2} -> file_delete(Log), - {ok,Pid1} = wait_for_process_up(h_proc_name(),RestartAfter * 3), + {ok,Pid1} = wait_for_process_up(RestartAfter * 3), false = (Pid1 == Pid0), ok after @@ -1570,6 +1570,9 @@ h_proc_name(Name) -> file_delete(Log) -> file:delete(Log). +wait_for_process_up(T) -> + wait_for_process_up(h_proc_name(),T). + wait_for_process_up(Name,T) -> N = (T div 500) + 1, wait_for_process_up1(Name,N). @@ -1580,7 +1583,9 @@ wait_for_process_up1(Name,N) -> timer:sleep(500), case whereis(Name) of Pid when is_pid(Pid) -> + %% ct:pal("Process ~p up (~p tries left)",[Name,N]), {ok,Pid}; undefined -> + %% ct:pal("Waiting for process ~p (~p tries left)",[Name,N]), wait_for_process_up1(Name,N-1) end. -- cgit v1.2.3 From 1a07345694834bcb68ca2f27d2dc940e0f036f9c Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Thu, 14 Jun 2018 15:19:50 +0200 Subject: [logger] Adjust priority settings in test Now only setting high priority on every second burst sending process, to allow for handler process to be scheduled in every now and then. --- lib/kernel/test/logger_std_h_SUITE.erl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lib/kernel/test/logger_std_h_SUITE.erl') diff --git a/lib/kernel/test/logger_std_h_SUITE.erl b/lib/kernel/test/logger_std_h_SUITE.erl index c2cc7653ea..76f8a35406 100644 --- a/lib/kernel/test/logger_std_h_SUITE.erl +++ b/lib/kernel/test/logger_std_h_SUITE.erl @@ -1257,13 +1257,9 @@ send_n_burst(N, seq, Text, Class) -> send_n_burst(N-1, seq, Text, Class); send_n_burst(N, {spawn,Ps,TO}, Text, Class) -> ct:pal("~w processes each sending ~w messages", [Ps,N]), - PerProc = fun() -> - process_flag(priority,high), - send_n_burst(N, seq, Text, Class) - end, MRefs = [begin if TO == 0 -> ok; true -> timer:sleep(TO) end, - monitor(process,spawn_link(PerProc)) end || - _ <- lists:seq(1,Ps)], + monitor(process,spawn_link(per_proc_fun(N,Text,Class,X))) + end || X <- lists:seq(1,Ps)], lists:foreach(fun(MRef) -> receive {'DOWN', MRef, _, _, _} -> @@ -1282,6 +1278,16 @@ send_t_burst(T0, T, Text, Class, N) -> send_t_burst(T0, T, Text, Class, N+1) end. +per_proc_fun(N,Text,Class,X) when X rem 2 == 0 -> + fun() -> + process_flag(priority,high), + send_n_burst(N, seq, Text, Class) + end; +per_proc_fun(N,Text,Class,_) -> + fun() -> + send_n_burst(N, seq, Text, Class) + end. + %%%----------------------------------------------------------------- %%% Formatter callback %%% Using this to send the formatted string back to the test case -- cgit v1.2.3