Drain msg queue for deterministic test
This commit is contained in:
parent
252b376e48
commit
1e27098e8c
|
@ -47,12 +47,14 @@ timer_cancel_flush_test() ->
|
|||
end.
|
||||
|
||||
shutdown_disabled_test() ->
|
||||
ok = drain(),
|
||||
self() ! foo,
|
||||
?assertEqual(continue, conn_proc_mng_policy(0)),
|
||||
receive foo -> ok end,
|
||||
?assertEqual(hibernate, conn_proc_mng_policy(0)).
|
||||
|
||||
message_queue_too_long_test() ->
|
||||
ok = drain(),
|
||||
self() ! foo,
|
||||
self() ! bar,
|
||||
?assertEqual({shutdown, message_queue_too_long},
|
||||
|
@ -63,3 +65,18 @@ message_queue_too_long_test() ->
|
|||
|
||||
conn_proc_mng_policy(L) ->
|
||||
emqx_misc:conn_proc_mng_policy(#{message_queue_len => L}).
|
||||
|
||||
%% drain self() msg queue for deterministic test behavior
|
||||
drain() ->
|
||||
_ = drain([]), % maybe log
|
||||
ok.
|
||||
|
||||
drain(Acc) ->
|
||||
receive
|
||||
Msg ->
|
||||
drain([Msg | Acc])
|
||||
after
|
||||
0 ->
|
||||
lists:reverse(Acc)
|
||||
end.
|
||||
|
||||
|
|
Loading…
Reference in New Issue