LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File 0420-kernel-Adjust-global-testcase.patch of Package erlang (Project home:Ledest:erlang:20)

From c95b25585d77d331b99e68713a1993299166999c Mon Sep 17 00:00:00 2001
From: Hans Bolinder <hasse@erlang.org>
Date: Mon, 25 Jun 2018 11:56:34 +0200
Subject: [PATCH 1/2] kernel: Adjust global testcase

---
 lib/kernel/test/global_SUITE.erl | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

diff --git a/lib/kernel/test/global_SUITE.erl b/lib/kernel/test/global_SUITE.erl
index 0e7b7adc47..8eab36e308 100644
--- a/lib/kernel/test/global_SUITE.erl
+++ b/lib/kernel/test/global_SUITE.erl
@@ -1383,7 +1383,7 @@ ring(Config) when is_list(Config) ->
     rpc_cast(Cp8, ?MODULE, single_node, [Time, Cp7, Config]),
 
     %% sleep to make the partitioned net ready
-    ct:sleep(Time - msec()),
+    sleep(Time - msec()),
 
     pong = net_adm:ping(Cp0),
     pong = net_adm:ping(Cp1),
@@ -1466,7 +1466,7 @@ simple_ring(Config) when is_list(Config) ->
     rpc_cast(Cp5, ?MODULE, single_node, [Time, Cp4, Config]),
 
     %% sleep to make the partitioned net ready
-    ct:sleep(Time - msec()),
+    sleep(Time - msec()),
 
     pong = net_adm:ping(Cp0),
     pong = net_adm:ping(Cp1),
@@ -1542,7 +1542,7 @@ line(Config) when is_list(Config) ->
     rpc_cast(Cp8, ?MODULE, single_node, [Time, Cp7, Config]),
 
     %% Sleep to make the partitioned net ready
-    ct:sleep(Time - msec()),
+    sleep(Time - msec()),
 
     pong = net_adm:ping(Cp0),
     pong = net_adm:ping(Cp1),
@@ -1626,7 +1626,7 @@ simple_line(Config) when is_list(Config) ->
     rpc_cast(Cp5, ?MODULE, single_node, [Time, Cp4, Config]),
 
     %% sleep to make the partitioned net ready
-    ct:sleep(Time - msec()),
+    sleep(Time - msec()),
 
     pong = net_adm:ping(Cp0),
     pong = net_adm:ping(Cp1),
@@ -3555,7 +3555,7 @@ single_node(Time, Node, Config) ->
     lists:foreach(fun(N) -> _ = erlang:disconnect_node(N) end, nodes()),
     ?UNTIL(get_known(node()) =:= [node()]),
     spawn(?MODULE, init_2, []),
-    ct:sleep(Time - msec()),
+    sleep(Time - msec()),
     net_adm:ping(Node).
 
 init_2() ->
@@ -4009,13 +4009,6 @@ collect_nodes(N, Max) ->
             [Node | collect_nodes(N+1, Max)]
     end.
 
-only_element(_E, []) ->
-    true;
-only_element(E, [E|R]) ->
-    only_element(E, R);
-only_element(_E, _) ->
-    false.
-
 exit_p(Pid) ->
     Ref = erlang:monitor(process, Pid),
     Pid ! die,
@@ -4038,6 +4031,11 @@ wait_for_exit_fast(Pid) ->
 	    ok
     end.
 
+sleep(Time) when Time > 0 ->
+    ct:sleep(Time);
+sleep(_Time) ->
+    ok.
+
 check_everywhere(Nodes, Name, Config) ->
     ?UNTIL(begin
 	       case rpc:multicall(Nodes, global, whereis_name, [Name]) of
@@ -4162,10 +4160,10 @@ rpc_cast(Node, Module, Function, Args, File) ->
 
 %% The emulator now ensures that the node has been removed from
 %% nodes().
-rpc_disconnect_node(Node, DisconnectedNode, _Config) ->
-    True = rpc:call(Node, erlang, disconnect_node, [DisconnectedNode]),
-    False = lists:member(DisconnectedNode, rpc:call(Node, erlang, nodes, [])),
-    {true, false} = {True, False}.
+rpc_disconnect_node(Node, DisconnectedNode, Config) ->
+    true = rpc:call(Node, erlang, disconnect_node, [DisconnectedNode]),
+    ?UNTIL
+      (not lists:member(DisconnectedNode, rpc:call(Node, erlang, nodes, []))).
 
 %%%
 %%% Utility
-- 
2.16.4