Add more test cases for emqx_vm_mon

This commit is contained in:
zhanghongtong 2019-10-30 14:48:17 +08:00
parent 3009eeb270
commit d444d1c61c
1 changed files with 11 additions and 15 deletions

View File

@ -39,18 +39,6 @@ init_per_suite(Config) ->
end_per_suite(_Config) ->
application:stop(sasl).
t_get_process_high_watermark(_) ->
error('TODO').
t_set_process_high_watermark(_) ->
error('TODO').
t_get_process_low_watermark(_) ->
error('TODO').
t_set_process_low_watermark(_) ->
error('TODO').
t_api(_) ->
meck:new(alarm_handler, [passthrough, no_history]),
Tester = self(),
@ -70,8 +58,13 @@ t_api(_) ->
end),
gen_event:swap_handler(alarm_handler, {emqx_alarm_handler, swap}, {alarm_handler, []}),
{ok, _} = emqx_vm_mon:start_link([{check_interval, 1},
{process_high_watermark, 0},
{process_low_watermark, 0.6}]),
{process_high_watermark, 0.8},
{process_low_watermark, 0.75}]),
timer:sleep(emqx_vm_mon:get_check_interval() * 1000),
emqx_vm_mon:set_process_high_watermark(0.0),
emqx_vm_mon:set_process_low_watermark(0.6),
?assertEqual(0.0, emqx_vm_mon:get_process_high_watermark()),
?assertEqual(0.6, emqx_vm_mon:get_process_low_watermark()),
?WAIT({Ref, set_alarm, {too_many_processes, _Count}}, 2000),
?assertEqual(true, lists:keymember(too_many_processes, 1, alarm_handler:get_alarms())),
emqx_vm_mon:set_process_high_watermark(0.8),
@ -81,7 +74,10 @@ t_api(_) ->
?WAIT({Ref, clear_alarm, too_many_processes}, 3000),
?assertEqual(false, lists:keymember(too_many_processes, 1, alarm_handler:get_alarms())),
emqx_vm_mon:set_check_interval(20),
?assertEqual(20, emqx_vm_mon:get_check_interval())
?assertEqual(20, emqx_vm_mon:get_check_interval()),
?assertEqual(ignored, gen_server:call(emqx_vm_mon, ignored)),
?assertEqual(ok, gen_server:cast(emqx_vm_mon, ignored)),
?assertEqual(ignored, emqx_vm_mon ! ignored)
after
meck:unload(alarm_handler)
end.