@@ -332,8 +332,13 @@ TEST_F(SSLTCPTest, TestLoopback)
332332{
333333 if (SECURE_TCP_TEST_ENABLED)
334334 {
335- const std::string strSendData = " Hello World !" ;
336- char szRcvBuffer[14 ] = {};
335+ srand (static_cast <unsigned >(time (nullptr )));
336+
337+ const size_t oneMeg = 1024 *1024 ;
338+ std::vector<char > OneMbData (oneMeg);
339+ std::vector<char > RcvBuffer (oneMeg);
340+ std::generate (OneMbData.begin (), OneMbData.end (), []{ return (std::rand () % 256 ); });
341+
337342 ASecureSocket::SSLSocket ConnectedClient;
338343
339344 ASSERT_NO_THROW (m_pSSLTCPServer.reset (new CTCPSSLServer (PRINT_LOG, SECURE_TCP_SERVER_PORT)));
@@ -389,29 +394,18 @@ TEST_F(SSLTCPTest, TestLoopback)
389394 ASSERT_FALSE (ConnectedClient.m_pSSL == nullptr );
390395 ASSERT_FALSE (ConnectedClient.m_pCTXSSL == nullptr );
391396 ASSERT_FALSE (ConnectedClient.m_SockFd == INVALID_SOCKET);
397+
398+ // server -> client
399+ EXPECT_TRUE (m_pSSLTCPServer->Send (ConnectedClient, OneMbData));
400+ EXPECT_GT (m_pSSLTCPClient->Receive (RcvBuffer.data (), oneMeg), 0 );
401+ EXPECT_TRUE (std::equal (OneMbData.begin (), OneMbData.end (), RcvBuffer.begin ()));
392402
393- // perform 3 checks
394- // client side
395- // send period between 50 and 999 ms
396- srand (static_cast <unsigned >(time (nullptr )));
397- unsigned iPeriod = 50 + (rand () % (999 - 50 ));
398- unsigned uCount = 0 ;
399- while (uCount++ < 3 )
400- {
401- // server -> client
402- EXPECT_TRUE (m_pSSLTCPServer->Send (ConnectedClient, strSendData));
403- EXPECT_GT (m_pSSLTCPClient->Receive (szRcvBuffer, 13 ), 0 );
404- EXPECT_EQ (strSendData, szRcvBuffer);
405- memset (szRcvBuffer, ' \0 ' , 14 );
406-
407- // client -> server
408- EXPECT_TRUE (m_pSSLTCPClient->Send (strSendData));
409- EXPECT_GT (m_pSSLTCPServer->Receive (ConnectedClient, szRcvBuffer, 13 ), 0 );
410- EXPECT_EQ (strSendData, szRcvBuffer);
411- memset (szRcvBuffer, ' \0 ' , 14 );
403+ std::fill (RcvBuffer.begin (), RcvBuffer.end (), 0 );
412404
413- SleepMs (iPeriod);
414- }
405+ // client -> server
406+ EXPECT_TRUE (m_pSSLTCPClient->Send (OneMbData));
407+ EXPECT_GT (m_pSSLTCPServer->Receive (ConnectedClient, RcvBuffer.data (), oneMeg), 0 );
408+ EXPECT_TRUE (std::equal (OneMbData.begin (), OneMbData.end (), RcvBuffer.begin ()));
415409
416410 // disconnect
417411 EXPECT_TRUE (m_pSSLTCPClient->Disconnect ());
0 commit comments