diff options
Diffstat (limited to 'erts/emulator/test/dump_SUITE.erl')
-rw-r--r-- | erts/emulator/test/dump_SUITE.erl | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/erts/emulator/test/dump_SUITE.erl b/erts/emulator/test/dump_SUITE.erl index 654b1c45a5..926e32d216 100644 --- a/erts/emulator/test/dump_SUITE.erl +++ b/erts/emulator/test/dump_SUITE.erl @@ -55,7 +55,7 @@ init_per_testcase(_, Config) -> end_per_testcase(_, Config) -> - Config. + erts_test_utils:ept_check_leaked_nodes(Config). %%% %%% The test cases ------------------------------------------------------------- @@ -67,7 +67,7 @@ signal_abort(Config) -> Dump = filename:join(proplists:get_value(priv_dir, Config),"signal_abort.dump"), - {ok, Node} = start_node(Config), + {ok, _Peer, Node} = ?CT_PEER(), false = rpc:call(Node, erts_debug, set_internal_state, [available_internal_state, true]), @@ -118,7 +118,7 @@ load() -> exiting_dump(Config) when is_list(Config) -> Dump = filename:join(proplists:get_value(priv_dir, Config),"signal_abort.dump"), - {ok, Node} = start_node(Config), + {ok, _Peer, Node} = ?CT_PEER(), Self = self(), @@ -129,12 +129,13 @@ exiting_dump(Config) when is_list(Config) -> [ets:insert(T,{I,I}) || I <- lists:seq(1,1000)] end || _ <- lists:seq(1,1000)], Self ! ready, - receive ok -> ok end + receive {terminate, Pid} -> Pid ! ok end end), true = rpc:call(Node, os, putenv, ["ERL_CRASH_DUMP",Dump]), - receive ready -> unlink(Pid), Pid ! ok end, + receive ready -> unlink(Pid), Pid ! {terminate, self()} end, + receive ok -> ok end, rpc:call(Node, erlang, halt, ["dump"]), @@ -154,8 +155,8 @@ exiting_dump(Config) when is_list(Config) -> free_dump(Config) when is_list(Config) -> Dump = filename:join(proplists:get_value(priv_dir, Config),"signal_abort.dump"), - {ok, NodeA} = start_node(Config), - {ok, NodeB} = start_node(Config), + {ok, _PeerA, NodeA} = ?CT_PEER(), + {ok, PeerB, NodeB} = ?CT_PEER(), Self = self(), @@ -209,14 +210,14 @@ free_dump(Config) when is_list(Config) -> unlink(PidB), - rpc:call(NodeB, erlang, halt, [0]), + peer:stop(PeerB), ok. %% Test that crash dumping works when heart is used heart_dump(Config) -> Dump = filename:join(proplists:get_value(priv_dir, Config),"heart.dump"), - {ok, Node} = start_node(Config,"-heart"), + {ok, _Peer, Node} = ?CT_PEER(#{ args => ["-heart"] }), true = rpc:call(Node, os, putenv, ["ERL_CRASH_DUMP",Dump]), true = rpc:call(Node, os, putenv, ["ERL_CRASH_DUMP_SECONDS","10"]), rpc:call(Node, erlang, halt, ["dump"]), @@ -226,7 +227,7 @@ heart_dump(Config) -> %% Test that there is no crash dump if heart is used and DUMP_SECONDS is not set heart_no_dump(Config) -> Dump = filename:join(proplists:get_value(priv_dir, Config),"heart_no.dump"), - {ok, Node} = start_node(Config,"-heart"), + {ok, _Peer, Node} = ?CT_PEER(#{ args => ["-heart"] }), true = rpc:call(Node, os, putenv, ["ERL_CRASH_DUMP",Dump]), true = rpc:call(Node, os, unsetenv, ["ERL_CRASH_DUMP_SECONDS"]), rpc:call(Node, erlang, halt, ["dump"]), @@ -253,16 +254,3 @@ get_dump_when_done(Dump, Sz) -> {ok, #file_info{ size = NewSz }} -> get_dump_when_done(Dump, NewSz) end. - -start_node(Config) when is_list(Config) -> - start_node(Config, ""). -start_node(Config, Extra) when is_list(Config) -> - Pa = filename:dirname(code:which(?MODULE)), - Name = 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]))), - test_server:start_node(Name, slave, [{args, "-pa "++Pa++" "++Extra}]). |