Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang
erlang
3933-kernel-test-sys-monitor-fixes.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 3933-kernel-test-sys-monitor-fixes.patch of Package erlang
From 2836c0a2fdd685a0765b9f6ef38d716684cb846b Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Thu, 29 Jun 2023 11:08:38 +0200 Subject: [PATCH 3/4] [kernel|test] sys monitor fixes --- lib/kernel/test/inet_SUITE.erl | 28 ++++++---- lib/kernel/test/inet_sockopt_SUITE.erl | 73 ++++++++++++++++++++++---- lib/kernel/test/kernel_test_lib.erl | 19 +++++-- 3 files changed, 99 insertions(+), 21 deletions(-) diff --git a/lib/kernel/test/inet_SUITE.erl b/lib/kernel/test/inet_SUITE.erl index 5713fb6f1e..e4fd195e31 100644 --- a/lib/kernel/test/inet_SUITE.erl +++ b/lib/kernel/test/inet_SUITE.erl @@ -133,12 +133,13 @@ init_per_suite(Config0) -> Config1 when is_list(Config1) -> - ?P("init_per_suite -> end when " - "~n Config: ~p", [Config1]), - %% We need a monitor on this node also + ?P("init_per_suite -> try start system monitor"), kernel_test_sys_monitor:start(), + ?P("init_per_suite -> end when " + "~n Config: ~p", [Config1]), + Config1 end. @@ -148,11 +149,12 @@ end_per_suite(Config0) -> "~n Config: ~p" "~n Nodes: ~p", [Config0, erlang:nodes()]), - Config1 = ?LIB:end_per_suite(Config0), - %% Stop the local monitor + ?P("init_per_suite -> try stop system monitor"), kernel_test_sys_monitor:stop(), + Config1 = ?LIB:end_per_suite(Config0), + ?P("end_per_suite -> " "~n Nodes: ~p", [erlang:nodes()]), @@ -172,7 +174,7 @@ init_per_testcase(Case, Config0) -> "~n Nodes: ~p" "~n Links: ~p" "~n Monitors: ~p", - [Config0, erlang:nodes(), pi(links), pi(monitors)]), + [Config0, erlang:nodes(), links(), monitors()]), kernel_test_global_sys_monitor:reset_events(), @@ -182,7 +184,7 @@ init_per_testcase(Case, Config0) -> "~n Config: ~p" "~n Nodes: ~p" "~n Links: ~p" - "~n Monitors: ~p", [Config1, erlang:nodes(), pi(links), pi(monitors)]), + "~n Monitors: ~p", [Config1, erlang:nodes(), links(), monitors()]), Config1. init_per_testcase2(gethostnative_debug_level, Config) -> @@ -210,7 +212,7 @@ end_per_testcase(Case, Config) -> "~n Nodes: ~p" "~n Links: ~p" "~n Monitors: ~p", - [Config, erlang:nodes(), pi(links), pi(monitors)]), + [Config, erlang:nodes(), links(), monitors()]), ?P("system events during test: " "~n ~p", [kernel_test_global_sys_monitor:events()]), @@ -220,7 +222,7 @@ end_per_testcase(Case, Config) -> ?P("end_per_testcase -> done with" "~n Nodes: ~p" "~n Links: ~p" - "~n Monitors: ~p", [erlang:nodes(), pi(links), pi(monitors)]), + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), ok. end_per_testcase2(lookup_bad_search_option, Config) -> @@ -2096,6 +2098,8 @@ do_socknames_udp1(Conf) -> "~n ~p", [Reason1]), exit({skip, {listen_socket, Reason1}}) end, + ?P("enable debug"), + inet:setopts(S1, [{debug, true}]), ?P("close socket"), (catch gen_udp:close(S1)), ?P("done"), @@ -2105,6 +2109,12 @@ do_socknames_udp1(Conf) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +links() -> + pi(links). + +monitors() -> + pi(monitors). + pi(Item) -> {Item, Val} = process_info(self(), Item), Val. diff --git a/lib/kernel/test/inet_sockopt_SUITE.erl b/lib/kernel/test/inet_sockopt_SUITE.erl index 9d539b7f89..bd2bfc20e2 100644 --- a/lib/kernel/test/inet_sockopt_SUITE.erl +++ b/lib/kernel/test/inet_sockopt_SUITE.erl @@ -80,27 +80,43 @@ all() -> groups() -> []. -init_per_suite(Config) -> +init_per_suite(Config0) -> ?P("init_per_suite -> entry with" "~n Config: ~p" - "~n Nodes: ~p", [Config, erlang:nodes()]), + "~n Nodes: ~p", [Config0, erlang:nodes()]), - %% We need a monitor on this node also - kernel_test_sys_monitor:start(), + case ?LIB:init_per_suite([{allow_skip, false} | Config0]) of + {skip, _} = SKIP -> + SKIP; - Config. + Config1 when is_list(Config1) -> + + %% We need a monitor on this node also + kernel_test_sys_monitor:start(), + + ?P("init_per_suite -> end when " + "~n Config: ~p", [Config1]), + + Config1 + end. -end_per_suite(Config) -> +end_per_suite(Config0) -> ?P("end_per_suite -> entry with" "~n Config: ~p" - "~n Nodes: ~p", [Config, erlang:nodes()]), + "~n Nodes: ~p", [Config0, erlang:nodes()]), %% Stop the local monitor + ?P("init_per_suite -> try stop system monitor"), kernel_test_sys_monitor:stop(), - ok. + Config1 = ?LIB:end_per_suite(Config0), + + ?P("end_per_suite -> " + "~n Nodes: ~p", [erlang:nodes()]), + + Config1. init_per_group(_GroupName, Config) -> Config. @@ -110,9 +126,36 @@ end_per_group(_GroupName, Config) -> init_per_testcase(_Func, Config) -> + ?P("init_per_testcase -> entry with" + "~n Config: ~p" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", + [Config, erlang:nodes(), links(), monitors()]), + + kernel_test_global_sys_monitor:reset_events(), + + ?P("init_per_testcase -> done when" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), Config. -end_per_testcase(_Func, _Config) -> +end_per_testcase(_Func, Config) -> + ?P("end_per_testcase -> entry with" + "~n Config: ~p" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", + [Config, erlang:nodes(), links(), monitors()]), + + ?P("system events during test: " + "~n ~p", [kernel_test_global_sys_monitor:events()]), + + ?P("end_per_testcase -> done with" + "~n Nodes: ~p" + "~n Links: ~p" + "~n Monitors: ~p", [erlang:nodes(), links(), monitors()]), ok. %% Test inet:setopt/getopt simple functionality. @@ -1135,3 +1178,15 @@ skip(Reason) -> throw({skip, Reason}). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +links() -> + pi(links). + +monitors() -> + pi(monitors). + +pi(Item) -> + {Item, Val} = process_info(self(), Item), + Val. + diff --git a/lib/kernel/test/kernel_test_lib.erl b/lib/kernel/test/kernel_test_lib.erl index e327d6f38f..45953fed84 100644 --- a/lib/kernel/test/kernel_test_lib.erl +++ b/lib/kernel/test/kernel_test_lib.erl @@ -113,10 +113,23 @@ init_per_suite(AllowSkip, Config) when is_boolean(AllowSkip) -> SKIP end; - {Factor, _HostInfo} when (AllowSkip =:= false) andalso + {Factor, HostInfo} when (AllowSkip =:= false) andalso is_integer(Factor) -> - [{kernel_factor, Factor} | Config] - + print("try start (global) system monitor"), + case kernel_test_global_sys_monitor:start() of + {ok, _} -> + print("(global) system monitor started"), + case lists:keysearch(label, 1, HostInfo) of + {value, Label} -> + [{kernel_factor, Factor}, Label | Config]; + false -> + [{kernel_factor, Factor} | Config] + end; + {error, Reason} -> + print("Failed start (global) system monitor:" + "~n ~p", [Reason]), + [{kernel_factor, Factor} | Config] + end catch throw:{skip, _} = SKIP -> SKIP -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor