File 0092-Ensure-code_SUITE-on_load_embedded-1-does-not-leak-l.patch of Package erlang

From 310e7fd72c241929fca010ae3f39c967aa2856c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Wed, 1 Mar 2017 10:35:01 +0100
Subject: [PATCH] Ensure code_SUITE:on_load_embedded/1 does not leak links

Make sure that the symlink created in the lib directory is
deleted even if the test case fails.
---
 lib/kernel/test/code_SUITE.erl | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/kernel/test/code_SUITE.erl b/lib/kernel/test/code_SUITE.erl
index 1f4591a5a..b665d7e59 100644
--- a/lib/kernel/test/code_SUITE.erl
+++ b/lib/kernel/test/code_SUITE.erl
@@ -107,6 +107,10 @@ init_per_testcase(big_boot_embedded, Config) ->
 	_Else ->
 	    {skip, "Needs crypto!"}
     end;
+init_per_testcase(on_load_embedded, Config) ->
+    LibRoot = code:lib_dir(),
+    LinkName = filename:join(LibRoot, "on_load_app-1.0"),
+    [{link_name,LinkName}|Config];
 init_per_testcase(_Func, Config) ->
     P = code:get_path(),
     [{code_path, P}|Config].
@@ -124,6 +128,10 @@ end_per_testcase(TC, Config) when TC == mult_lib_roots;
     NodeName = list_to_atom(atom_to_list(TC)++"@"++HostName),
     test_server:stop_node(NodeName),
     end_per_testcase(Config);
+end_per_testcase(on_load_embedded, Config) ->
+    LinkName = proplists:get_value(link_name, Config),
+    _ = del_link(LinkName),
+    end_per_testcase(Config);
 end_per_testcase(_Func, Config) ->
     end_per_testcase(Config).
 
@@ -1271,10 +1279,9 @@ on_load_embedded(Config) when is_list(Config) ->
 
 on_load_embedded_1(Config) ->
     DataDir = proplists:get_value(data_dir, Config),
+    LinkName = proplists:get_value(link_name, Config),
 
     %% Link the on_load_app application into the lib directory.
-    LibRoot = code:lib_dir(),
-    LinkName = filename:join(LibRoot, "on_load_app-1.0"),
     OnLoadApp = filename:join(DataDir, "on_load_app-1.0"),
     del_link(LinkName),
     io:format("LinkName :~p, OnLoadApp: ~p~n",[LinkName,OnLoadApp]),
@@ -1308,8 +1315,7 @@ on_load_embedded_1(Config) ->
     ok = rpc:call(Node, on_load_embedded, status, []),
 
     %% Clean up.
-    stop_node(Node),
-    ok = del_link(LinkName).
+    stop_node(Node).
 
 del_link(LinkName) ->
    case file:delete(LinkName) of
-- 
2.12.2

openSUSE Build Service is sponsored by