From 5783127c3017da8a5855daf8ad37763aae3f52e7 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Sun, 29 Jan 2023 11:01:43 +0800 Subject: [PATCH] test: cpu_sup:load mock test --- apps/emqx/src/emqx_vm.erl | 4 +--- apps/emqx/test/emqx_vm_SUITE.erl | 16 +++++++++++++++- .../test/emqx_mgmt_api_alarms_SUITE.erl | 3 +++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/apps/emqx/src/emqx_vm.erl b/apps/emqx/src/emqx_vm.erl index fc94a461a..c1096f611 100644 --- a/apps/emqx/src/emqx_vm.erl +++ b/apps/emqx/src/emqx_vm.erl @@ -233,9 +233,7 @@ mem_info() -> [{total_memory, Total}, {used_memory, Total - Free}]. ftos(F) when is_float(F) -> - float_to_binary(F, [{decimals, 2}]); -ftos(F) when is_integer(F) -> - ftos(F / 1.0). + float_to_binary(F, [{decimals, 2}]). %%%% erlang vm scheduler_usage fun copied from recon scheduler_usage(Interval) when is_integer(Interval) -> diff --git a/apps/emqx/test/emqx_vm_SUITE.erl b/apps/emqx/test/emqx_vm_SUITE.erl index f9809361b..9115c5ab4 100644 --- a/apps/emqx/test/emqx_vm_SUITE.erl +++ b/apps/emqx/test/emqx_vm_SUITE.erl @@ -24,7 +24,21 @@ all() -> emqx_common_test_helpers:all(?MODULE). t_load(_Config) -> - ?assertMatch([{load1, _}, {load5, _}, {load15, _}], emqx_vm:loads()). + lists:foreach( + fun(Avg, Int) -> + emqx_common_test_helpers:with_mock( + cpu_sup, + Avg, + fun() -> Int end, + fun() -> + Load = proplists:get_value(Avg, emqx_vm:loads()), + ?assertEqual(Int / 1.0, Load) + end + ), + ?assertMatch([{load1, _}, {load5, _}, {load15, _}], emqx_vm:loads()) + end, + [{load1, 1}, {load5, 5}, {load15, 15}] + ). t_systeminfo(_Config) -> ?assertEqual( diff --git a/apps/emqx_management/test/emqx_mgmt_api_alarms_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_api_alarms_SUITE.erl index adff41214..2c61651bf 100644 --- a/apps/emqx_management/test/emqx_mgmt_api_alarms_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_api_alarms_SUITE.erl @@ -40,6 +40,9 @@ t_alarms_api(_) -> get_alarms(1, true), get_alarms(1, false). +t_alarm_cpu(_) -> + ok. + t_delete_alarms_api(_) -> Path = emqx_mgmt_api_test_util:api_path(["alarms"]), {ok, _} = emqx_mgmt_api_test_util:request_api(delete, Path),