diff options
-rw-r--r-- | slobrok/src/tests/standalone/standalone.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/slobrok/src/tests/standalone/standalone.cpp b/slobrok/src/tests/standalone/standalone.cpp index c17875ee571..c4ca8a0012d 100644 --- a/slobrok/src/tests/standalone/standalone.cpp +++ b/slobrok/src/tests/standalone/standalone.cpp @@ -118,7 +118,6 @@ public: TEST("standalone") { slobrok::SlobrokServer slobrokServer(18541); Stopper<slobrok::SlobrokServer> ssCleaner(slobrokServer); - FastOS_Thread::Sleep(300); FRT_Supervisor orb; orb.Start(); @@ -130,10 +129,18 @@ TEST("standalone") { FRT_RPCRequest *req = NULL; SubReferer<FRT_RPCRequest> reqCleaner(req); - // test ping against slobrok - req = orb.AllocRPCRequest(req); - req->SetMethodName("frt.rpc.ping"); - sb->InvokeSync(req, 5.0); + for (int retry=0; retry < 5*61; retry++) { + // test ping against slobrok + req = orb.AllocRPCRequest(req); + req->SetMethodName("frt.rpc.ping"); + sb->InvokeSync(req, 5.0); + if (checkOk(req)) + break; + fprintf(stderr, "ping failed [retry %d]\n", retry); + FastOS_Thread::Sleep(200); + sb->SubRef(); + sb = orb.GetTarget(18541); + } ASSERT_TRUE(checkOk(req)); // lookup '*' on empty slobrok |