summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2018-12-13 16:45:25 +0100
committerBenoit Foucher <benoit@zeroc.com>2018-12-13 16:46:52 +0100
commit8ec7b9da024c7968c032b2dbb6ec13d06ad59833 (patch)
treef54d8be2e36dbce496aaf5443004e74e6eed71a6 /cpp
parentAdd support to build with PHP 7.3 on Windows (diff)
downloadice-8ec7b9da024c7968c032b2dbb6ec13d06ad59833.tar.bz2
ice-8ec7b9da024c7968c032b2dbb6ec13d06ad59833.tar.xz
ice-8ec7b9da024c7968c032b2dbb6ec13d06ad59833.zip
More robust deactivation test (fixes #261)
Diffstat (limited to 'cpp')
-rw-r--r--cpp/test/IceGrid/activation/AllTests.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/cpp/test/IceGrid/activation/AllTests.cpp b/cpp/test/IceGrid/activation/AllTests.cpp
index 7eb967f9b82..8429b33d9e1 100644
--- a/cpp/test/IceGrid/activation/AllTests.cpp
+++ b/cpp/test/IceGrid/activation/AllTests.cpp
@@ -622,17 +622,23 @@ allTests(Test::TestHelper* helper)
try
{
test(admin->getServerState("server2") == IceGrid::Inactive);
- TestIntfPrx obj = TestIntfPrx::checkedCast(communicator->stringToProxy("server2"));
- waitForServerState(admin, "server2", IceGrid::Active);
- obj->fail();
- waitForServerState(admin, "server2", IceGrid::Inactive);
- try
+ TestIntfPrx obj = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server2"));
+ while(true)
{
obj->ice_ping();
- test(false);
- }
- catch(const Ice::NoEndpointException&)
- {
+ waitForServerState(admin, "server2", IceGrid::Active);
+ IceUtil::Time now = IceUtil::Time::now();
+ obj->fail();
+ waitForServerState(admin, "server2", IceGrid::Inactive);
+ try
+ {
+ obj->ice_ping();
+ test(IceUtil::Time::now() - now >= IceUtil::Time::seconds(2));
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ break; // Success
+ }
}
test(!admin->isServerEnabled("server2"));
nRetry = 0;