From 1e344f34bf9f3fcc0a75b2980ab79e60d4cd71fc Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Mon, 17 Oct 2011 15:47:05 +0200 Subject: Wait for two restarts in upgrade_restart test This is an attempt to correct a failing test case. It the test fails on having restarted only once, we give it another try to see if the second restart will happen. --- lib/sasl/test/installer.erl | 20 +++++++++++++++++--- lib/sasl/test/release_handler_SUITE.erl | 13 ++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) (limited to 'lib/sasl') diff --git a/lib/sasl/test/installer.erl b/lib/sasl/test/installer.erl index d77b0e8538..6942ec21ea 100644 --- a/lib/sasl/test/installer.erl +++ b/lib/sasl/test/installer.erl @@ -44,6 +44,7 @@ -export([upgrade_restart_1a/1]). -export([upgrade_restart_2/1]). -export([upgrade_restart_2a/1]). +-export([upgrade_restart_2b/1]). -export([upgrade_restart_3/1]). -export([client1_1/4]). -export([client2/3]). @@ -403,7 +404,20 @@ upgrade_restart_2(TestNode) -> ?print(["upgrade_restart_2 start"]), %% Check that the node has been restarted once more after the tmp release + case init:script_id() of + {"SASL-test","P2B"} -> + upgrade_restart_2a(TestNode); + {"SASL-test","__new_emulator__P1G"} -> + %% catched the node too early - give it another try + {wait,whereis(init)} + end. + +upgrade_restart_2a(TestNode) -> + ?print(["upgrade_restart_2a start"]), + + %% This time we must be there, else something is definitely wrong {"SASL-test","P2B"} = init:script_id(), + ?check_release_states([permanent,current]), ?check_running_app(a,"1.1"), @@ -412,11 +426,11 @@ upgrade_restart_2(TestNode) -> ok. -upgrade_restart_2a(TestNode) -> - ?print(["upgrade_restart_2a start"]), +upgrade_restart_2b(TestNode) -> + ?print(["upgrade_restart_2b start"]), {ok,"P1G",[old_emu,rm_appl]} = release_handler:install_release("P1G"), - ?print(["upgrade_restart_2a P1G installed"]), + ?print(["upgrade_restart_2b P1G installed"]), ok. upgrade_restart_3(TestNode) -> diff --git a/lib/sasl/test/release_handler_SUITE.erl b/lib/sasl/test/release_handler_SUITE.erl index c2930b1039..958f6bbfc9 100644 --- a/lib/sasl/test/release_handler_SUITE.erl +++ b/lib/sasl/test/release_handler_SUITE.erl @@ -375,11 +375,18 @@ upgrade_restart(Conf) when is_list(Conf) -> wait_nodes_up([{TestNode,TestNodeInit1}],"upgrade_restart_1",[a]), %% install P1G + case rpc_inst(TestNode, upgrade_restart_2, []) of + ok -> + ok; + {wait,TestNodeInit2a} -> + %% We catched the node too early - it was supposed to + %% restart twice, so let's wait for one more restart. + wait_nodes_up([{TestNode,TestNodeInit2a}],"upgrade_restart_2a",[]) + end, TestNodeInit2 = rpc:call(TestNode,erlang,whereis,[init]), - ok = rpc_inst(TestNode, upgrade_restart_2, []), stop_cover(TestNode), - ok = rpc_inst(TestNode, upgrade_restart_2a, []), - wait_nodes_up([{TestNode,TestNodeInit2}],"upgrade_restart_2",[]), + ok = rpc_inst(TestNode, upgrade_restart_2b, []), + wait_nodes_up([{TestNode,TestNodeInit2}],"upgrade_restart_2b",[]), %% Check that P1G is going again ok = rpc_inst(TestNode, upgrade_restart_3, []), -- cgit v1.2.3