From 427866f8adb5376e0da31acd37f9e8e6fd947599 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Thu, 24 Feb 2022 15:13:18 -0300 Subject: [PATCH] test(sys_mon): add test for closed port --- apps/emqx/test/emqx_sys_mon_SUITE.erl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/emqx/test/emqx_sys_mon_SUITE.erl b/apps/emqx/test/emqx_sys_mon_SUITE.erl index 31acd885f..c14074f0d 100644 --- a/apps/emqx/test/emqx_sys_mon_SUITE.erl +++ b/apps/emqx/test/emqx_sys_mon_SUITE.erl @@ -125,6 +125,16 @@ t_sys_mon(_Config) -> validate_sys_mon_info(PidOrPort, SysMonName, ValidateInfo, InfoOrPort) end, ?INPUTINFO). +%% Existing port, but closed. +t_sys_mon_dead_port(_Config) -> + process_flag(trap_exit, true), + Port = dead_port(), + {PidOrPort, SysMonName, ValidateInfo, InfoOrPort} = + {self(), busy_port, + fmt("busy_port warning: suspid = ~p, port = ~p", + [self(), Port]), Port}, + validate_sys_mon_info(PidOrPort, SysMonName, ValidateInfo, InfoOrPort). + t_sys_mon2(_Config) -> ?SYSMON ! {timeout, ignored, reset}, ?SYSMON ! {ignored}, @@ -156,3 +166,8 @@ some_function(Parent, _Arg2) -> stop -> ok end. + +dead_port() -> + Port = erlang:open_port({spawn, "ls"}, []), + catch exit(Port, kill), + Port.