diff options
author | Siri Hansen <[email protected]> | 2013-03-05 09:58:06 +0100 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2013-03-05 09:58:06 +0100 |
commit | fc6ce3f254fb231d157a765e1720612d0611baa2 (patch) | |
tree | 35f7f4281f12c806c5226ef273987e633cf88acb | |
parent | 35030ae2cd6a6a6af4986f9f1ae8a98d76f43863 (diff) | |
download | otp-fc6ce3f254fb231d157a765e1720612d0611baa2.tar.gz otp-fc6ce3f254fb231d157a765e1720612d0611baa2.tar.bz2 otp-fc6ce3f254fb231d157a765e1720612d0611baa2.zip |
[jinterface] Kill process between tests to avoid consequential error
In some cases when a test case fails, the erl_link_server process
(which is spawned by many test cases in jinterface_SUITE) does not
terminate. This causes the next test case to fail with a badarg as it
tries to register a new process with the same name. To avoid this,
erl_link_server, if it exists, is now killed in end_per_testcase.
Also, some compiler warnings are removed from jitu.erl.
-rw-r--r-- | lib/jinterface/test/jinterface_SUITE.erl | 6 | ||||
-rw-r--r-- | lib/jinterface/test/jitu.erl | 14 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/jinterface/test/jinterface_SUITE.erl b/lib/jinterface/test/jinterface_SUITE.erl index 82bc878112..b438da12d0 100644 --- a/lib/jinterface/test/jinterface_SUITE.erl +++ b/lib/jinterface/test/jinterface_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2011. All Rights Reserved. +%% Copyright Ericsson AB 2004-2013. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -184,6 +184,10 @@ init_per_testcase(_Case,Config) -> [{watch_dog,Dog}|Config]. end_per_testcase(_Case,Config) -> + case whereis(erl_link_server) of + undefined -> ok; + Pid -> exit(Pid,kill) + end, ?t:timetrap_cancel(?config(watch_dog,Config)), ok. diff --git a/lib/jinterface/test/jitu.erl b/lib/jinterface/test/jitu.erl index 0de074a9c9..0e1af0ff22 100644 --- a/lib/jinterface/test/jitu.erl +++ b/lib/jinterface/test/jitu.erl @@ -48,7 +48,7 @@ java(Java, Dir, Class, Args, Props) -> -init_all(Config) when list(Config) -> +init_all(Config) when is_list(Config) -> case find_executable(["java"]) of false -> {skip,"Found no Java VM"}; Path -> [{java,Path}|Config] @@ -69,13 +69,13 @@ find_executable([E|T]) -> Path -> Path end. -to_string([H|T]) when integer(H) -> +to_string([H|T]) when is_integer(H) -> integer_to_list(H)++" "++to_string(T); -to_string([H|T]) when atom(H) -> +to_string([H|T]) when is_atom(H) -> atom_to_list(H)++" "++to_string(T); -to_string([H|T]) when pid(H) -> +to_string([H|T]) when is_pid(H) -> pid_to_list(H)++" "++to_string(T); -to_string([H|T]) when list(H) -> +to_string([H|T]) when is_list(H) -> lists:flatten(H)++" "++to_string(T); to_string([]) -> []. @@ -109,12 +109,12 @@ cmd(Cmd) -> PortOpts = [{line,80},eof,exit_status,stderr_to_stdout], io:format("cmd: ~s~n", [Cmd]), case catch open_port({spawn,Cmd}, PortOpts) of - Port when port(Port) -> + Port when is_port(Port) -> Result = cmd_loop(Port, []), io:format("cmd res: ~w~n", [Result]), case Result of 0 -> ok; - ExitCode when integer(ExitCode) -> {error,ExitCode}; + ExitCode when is_integer(ExitCode) -> {error,ExitCode}; Error -> Error end; {'EXIT',Reason} -> |