diff options
Diffstat (limited to 'src/VBox/Runtime/testcase/tstRTTcp-1.cpp')
-rw-r--r-- | src/VBox/Runtime/testcase/tstRTTcp-1.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/VBox/Runtime/testcase/tstRTTcp-1.cpp b/src/VBox/Runtime/testcase/tstRTTcp-1.cpp index 94f60973..1ee7c15c 100644 --- a/src/VBox/Runtime/testcase/tstRTTcp-1.cpp +++ b/src/VBox/Runtime/testcase/tstRTTcp-1.cpp @@ -45,10 +45,22 @@ void test3() for (unsigned i = 0; i < 100 && cStartErrors == RTTestErrorCount(g_hTest); i++) { PRTTCPSERVER pServer; - RTTESTI_CHECK_RC_RETV(RTTcpServerCreate("localhost", 9999, RTTHREADTYPE_DEFAULT, "server-2", - test3Server, NULL, &pServer), VINF_SUCCESS); + int rc = RTTcpServerCreate("localhost", 9999, RTTHREADTYPE_DEFAULT, "server-2", test3Server, NULL, &pServer); +#ifdef RT_OS_SOLARIS + /** @todo testboxsh1 occationally hits this for some stupid reason. i=21 in + * one occurrence. Fudge a bit for now and see if it helps. */ + if (rc == VERR_NET_ADDRESS_IN_USE) + { + RTThreadSleep(500); + rc = RTTcpServerCreate("localhost", 9999, RTTHREADTYPE_DEFAULT, "server-2", test3Server, NULL, &pServer); + } +#endif + if (rc != VINF_SUCCESS) + { + RTTestIFailed("RTTcpServerCreate -> %Rrc, i=%d", rc, i); + return; + } - int rc; RTSOCKET hSocket; RTTESTI_CHECK_RC(rc = RTTcpClientConnect("localhost", 9999, &hSocket), VINF_SUCCESS); if (RT_SUCCESS(rc)) |