summaryrefslogtreecommitdiff
path: root/erts/emulator/test/system_info_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/test/system_info_SUITE.erl')
-rw-r--r--erts/emulator/test/system_info_SUITE.erl82
1 files changed, 14 insertions, 68 deletions
diff --git a/erts/emulator/test/system_info_SUITE.erl b/erts/emulator/test/system_info_SUITE.erl
index 7c547fde7a..76efe053f5 100644
--- a/erts/emulator/test/system_info_SUITE.erl
+++ b/erts/emulator/test/system_info_SUITE.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2005-2020. All Rights Reserved.
+%% Copyright Ericsson AB 2005-2022. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -62,8 +62,8 @@ init_per_testcase(_, Config) ->
end_per_testcase(procs_bug, Config) ->
procs_bug(end_per_testcase, Config);
-end_per_testcase(_, _) ->
- ok.
+end_per_testcase(_, Config) ->
+ erts_test_utils:ept_check_leaked_nodes(Config).
%%%
%%% The test cases -------------------------------------------------------------
@@ -502,16 +502,6 @@ mapn(_Fun, 0) ->
mapn(Fun, N) ->
[Fun(N) | mapn(Fun, N-1)].
-
-get_node_name(Config) ->
- list_to_atom(atom_to_list(?MODULE)
- ++ "-"
- ++ atom_to_list(proplists:get_value(testcase, Config))
- ++ "-"
- ++ integer_to_list(erlang:system_time(second))
- ++ "-"
- ++ integer_to_list(erlang:unique_integer([positive]))).
-
ets_count(Config) when is_list(Config) ->
[ets_count_do([Type | Named])
|| Type <- [set, bag, duplicate_bag, ordered_set],
@@ -530,77 +520,33 @@ ets_count_do(Opts) ->
%% Verify system_info(ets_limit) reflects max ETS table settings.
ets_limit(Config0) when is_list(Config0) ->
- Config = [{testcase,ets_limit}|Config0],
- true = is_integer(get_ets_limit(Config)),
- 12345 = get_ets_limit(Config, 12345),
+ true = is_integer(get_ets_limit(0)),
+ 12345 = get_ets_limit(12345),
ok.
-get_ets_limit(Config) ->
- get_ets_limit(Config, 0).
-get_ets_limit(Config, EtsMax) ->
+get_ets_limit(EtsMax) ->
Envs = case EtsMax of
0 -> [];
- _ -> [{"ERL_MAX_ETS_TABLES", integer_to_list(EtsMax)}]
+ _ -> ["-env", "ERL_MAX_ETS_TABLES", integer_to_list(EtsMax)]
end,
- {ok, Node} = start_node_ets(Config, Envs),
- Me = self(),
- Ref = make_ref(),
- spawn_link(Node,
- fun() ->
- Res = erlang:system_info(ets_limit),
- unlink(Me),
- Me ! {Ref, Res}
- end),
- receive
- {Ref, Res} ->
- Res
- end,
- stop_node(Node),
+ {ok, Peer, Node} = ?CT_PEER(Envs),
+ Res = rpc:call(Node, erlang, system_info, [ets_limit]),
+ peer:stop(Peer),
Res.
-start_node_ets(Config, Envs) when is_list(Config) ->
- Pa = filename:dirname(code:which(?MODULE)),
- test_server:start_node(get_node_name(Config), peer,
- [{args, "-pa "++Pa}, {env, Envs}]).
-
-start_node_atm(Config, AtomsMax) when is_list(Config) ->
- Pa = filename:dirname(code:which(?MODULE)),
- test_server:start_node(get_node_name(Config), peer,
- [{args, "-pa "++ Pa ++ AtomsMax}]).
-
-stop_node(Node) ->
- test_server:stop_node(Node).
-
%% Verify system_info(atom_limit) reflects max atoms settings
%% (using " +t").
atom_limit(Config0) when is_list(Config0) ->
- Config = [{testcase,atom_limit}|Config0],
- 2186042 = get_atom_limit(Config, " +t 2186042 "),
- ok.
-
-get_atom_limit(Config, AtomsMax) ->
- {ok, Node} = start_node_atm(Config, AtomsMax),
- Me = self(),
- Ref = make_ref(),
- spawn_link(Node,
- fun() ->
- Res = erlang:system_info(atom_limit),
- unlink(Me),
- Me ! {Ref, Res}
- end),
- receive
- {Ref, Res} ->
- Res
- end,
- stop_node(Node),
- Res.
+ {ok, Peer, Node} = ?CT_PEER(["+t", "2186042"]),
+ 2186042 = rpc:call(Node, erlang, system_info, [atom_limit]),
+ peer:stop(Peer).
%% Verify that system_info(atom_count) works.
atom_count(Config) when is_list(Config) ->
Limit = erlang:system_info(atom_limit),
Count1 = erlang:system_info(atom_count),
- list_to_atom(integer_to_list(erlang:unique_integer())),
+ _ = list_to_atom(integer_to_list(erlang:unique_integer())),
Count2 = erlang:system_info(atom_count),
true = Limit >= Count2,
true = Count2 > Count1,