Modified: openoffice/trunk/main/sal/qa/osl/socket/osl_Socket.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/qa/osl/socket/osl_Socket.cxx?rev=1701357&r1=1701356&r2=1701357&view=diff ============================================================================== --- openoffice/trunk/main/sal/qa/osl/socket/osl_Socket.cxx (original) +++ openoffice/trunk/main/sal/qa/osl/socket/osl_Socket.cxx Sat Sep 5 07:59:22 2015 @@ -59,7 +59,8 @@ #include <osl_Socket_Const_orig.h> #endif -#include <testshl/simpleheader.hxx> +#include <osl/signal.h> +#include "gtest/gtest.h" using namespace osl; using namespace rtl; @@ -105,8 +106,8 @@ inline char * oustring2char( const ::rtl */ inline void printUString( const ::rtl::OUString & str, const sal_Char * msg = "" ) { - t_print("#%s #printUString_u# ", msg ); - t_print("%s\n", oustring2char( str ) ); + printf("#%s #printUString_u# ", msg ); + printf("%s\n", oustring2char( str ) ); } /** get the local host name. @@ -118,7 +119,7 @@ inline ::rtl::OUString getHost( void ) struct hostent *hptr; hptr = gethostbyname( "localhost" ); - CPPUNIT_ASSERT_MESSAGE( "#In getHostname function, error on gethostbyname()", hptr != NULL ); + EXPECT_TRUE(hptr != NULL) << "#In getHostname function, error on gethostbyname()"; ::rtl::OUString aUString = ::rtl::OUString::createFromAscii( (const sal_Char *) hptr->h_name ); return aUString; @@ -132,11 +133,11 @@ inline ::rtl::OUString getThisHostname( #ifdef WNT struct hostent *hptr; hptr = gethostbyname( "localhost" ); - CPPUNIT_ASSERT_MESSAGE( "#In getHostname function, error on gethostbyname()", hptr != NULL ); + EXPECT_TRUE(hptr != NULL) << "#In getHostname function, error on gethostbyname()"; aUString = ::rtl::OUString::createFromAscii( (const sal_Char *) hptr->h_name ); #else char hostname[255]; - CPPUNIT_ASSERT_MESSAGE( "#Error: gethostname failed.", gethostname(hostname, 255) == 0 ); + EXPECT_TRUE(gethostname(hostname, 255) == 0) << "#Error: gethostname failed."; struct hostent *hptr; //first search /ets/hosts, then search from dns @@ -146,7 +147,7 @@ inline ::rtl::OUString getThisHostname( strcpy( hostname, hptr->h_name ); } - t_print("hostname is %s \n", hostname ); + printf("hostname is %s \n", hostname ); aUString = ::rtl::OUString::createFromAscii( (const sal_Char *) hostname ); #endif return aUString; @@ -167,7 +168,7 @@ inline ::rtl::OUString getIPbyName( rtl: //if there are more than one IPs on the same machine, we select one for (; *addrptr; addrptr++) { - t_print("#Local IP Address: %s\n", inet_ntoa(**addrptr)); + printf("#Local IP Address: %s\n", inet_ntoa(**addrptr)); aUString = ::rtl::OUString::createFromAscii( (sal_Char *) (inet_ntoa(**addrptr)) ); } } @@ -205,7 +206,7 @@ inline ::rtl::OUString outputError( cons void thread_sleep( sal_Int32 _nSec ) { /// print statement in thread process must use fflush() to force display. - t_print("# wait %d seconds. ", _nSec ); + printf("# wait %d seconds. ", _nSec ); fflush(stdout); #ifdef WNT //Windows @@ -214,29 +215,29 @@ void thread_sleep( sal_Int32 _nSec ) #if ( defined UNX ) || ( defined OS2 ) //Unix usleep(_nSec * 100000); #endif - t_print("# done\n" ); + printf("# done\n" ); } /** print Boolean value. */ inline void printBool( sal_Bool bOk ) { - t_print("#printBool# " ); - ( sal_True == bOk ) ? t_print("YES!\n" ): t_print("NO!\n" ); + printf("#printBool# " ); + ( sal_True == bOk ) ? printf("YES!\n" ): printf("NO!\n" ); } /** print content of a ByteSequence. */ inline void printByteSequence_IP( const ::rtl::ByteSequence & bsByteSeq, sal_Int32 nLen ) { - t_print("#ByteSequence is: " ); + printf("#ByteSequence is: " ); for ( int i = 0; i < nLen; i++ ){ if ( bsByteSeq[i] < 0 ) - t_print("%d ", 256 + bsByteSeq[i] ); + printf("%d ", 256 + bsByteSeq[i] ); else - t_print("%d ", bsByteSeq[i] ); + printf("%d ", bsByteSeq[i] ); } - t_print(" .\n" ); + printf(" .\n" ); } /** convert an IP which is stored as a UString format to a ByteSequence array for later use. @@ -270,28 +271,28 @@ inline ::rtl::ByteSequence UStringIPToBy */ inline void printSocketResult( oslSocketResult eResult ) { - t_print("#printSocketResult# " ); + printf("#printSocketResult# " ); if (!eResult) switch (eResult) { case osl_Socket_Ok: - t_print("client connected\n"); + printf("client connected\n"); break; case osl_Socket_Error: - t_print("got an error ... exiting\r\n\r\n" ); + printf("got an error ... exiting\r\n\r\n" ); break; case osl_Socket_TimedOut: - t_print("timeout\n"); + printf("timeout\n"); break; case osl_Socket_FORCE_EQUAL_SIZE: - t_print("FORCE EQUAL SIZE\n"); + printf("FORCE EQUAL SIZE\n"); break; case osl_Socket_InProgress: - t_print("In Progress\n"); + printf("In Progress\n"); break; case osl_Socket_Interrupted: - t_print("Interrupted\n"); + printf("Interrupted\n"); break; } } @@ -321,7 +322,7 @@ protected: csConnectorSocket.send( pTestString2, 10); } else - t_print("# ClientSocketThread: connect failed! \n"); + printf("# ClientSocketThread: connect failed! \n"); // terminate(); //} csConnectorSocket.close(); @@ -330,7 +331,7 @@ protected: void SAL_CALL onTerminated( ) { - //t_print("# normally terminate this thread %d!\n", m_id ); + //printf("# normally terminate this thread %d!\n", m_id ); } public: @@ -339,13 +340,13 @@ public: csConnectorSocket( ) { m_id = getIdentifier( ); - //t_print("# successfully creat this client thread %d!\n", m_id ); + //printf("# successfully creat this client thread %d!\n", m_id ); } ~ClientSocketThread( ) { if ( isRunning( ) ) - t_print("# error: client thread not terminated.\n" ); + printf("# error: client thread not terminated.\n" ); } }; @@ -371,13 +372,13 @@ protected: sal_Bool bOK1 = asAcceptorSocket.bind( saLocalSocketAddr ); if ( sal_True != bOK1 ) { - t_print("# ServerSocketThread: AcceptorSocket bind address failed.\n" ) ; + printf("# ServerSocketThread: AcceptorSocket bind address failed.\n" ) ; break; } sal_Bool bOK2 = asAcceptorSocket.listen( 1 ); if ( sal_True != bOK2 ) { - t_print("# ServerSocketThread: AcceptorSocket listen address failed.\n" ) ; + printf("# ServerSocketThread: AcceptorSocket listen address failed.\n" ) ; break; } @@ -386,13 +387,13 @@ protected: oslSocketResult eResult = asAcceptorSocket.acceptConnection( ssStreamConnection ); if (eResult != osl_Socket_Ok ) { - t_print("ServerSocketThread: acceptConnection failed! \n"); + printf("ServerSocketThread: acceptConnection failed! \n"); break; } sal_Int32 nReadNumber1 = ssStreamConnection.recv( pReadBuffer, 11 ); sal_Int32 nReadNumber2 = ssStreamConnection.recv( pReadBuffer + nReadNumber1, 11 ); pReadBuffer[nReadNumber1 + nReadNumber2] = '\0'; - //t_print("# read buffer content: %s\n", pReadBuffer ); + //printf("# read buffer content: %s\n", pReadBuffer ); break; } ssStreamConnection.close(); @@ -402,7 +403,7 @@ protected: void SAL_CALL onTerminated( ) { - //t_print("# normally terminate this server thread %d!\n", m_id ); + //printf("# normally terminate this server thread %d!\n", m_id ); } public: @@ -411,13 +412,13 @@ public: ServerSocketThread( ) { m_id = getIdentifier( ); - //t_print("# successfully creat this server thread %d!\n", m_id ); + //printf("# successfully creat this server thread %d!\n", m_id ); } ~ServerSocketThread( ) { if ( isRunning( ) ) - t_print("# error: server thread not terminated.\n" ); + printf("# error: server thread not terminated.\n" ); } }; @@ -506,7 +507,7 @@ protected: } else { - t_print("# ReadSocketThread: connect failed! \n"); + printf("# ReadSocketThread: connect failed! \n"); } // terminate(); //} @@ -517,7 +518,7 @@ protected: void SAL_CALL onTerminated( ) { - //t_print("# normally terminate this thread %d!\n", m_id ); + //printf("# normally terminate this thread %d!\n", m_id ); } public: @@ -531,14 +532,14 @@ public: csConnectorSocket( ) { m_id = getIdentifier( ); - //t_print("# successfully creat this client thread %d!\n", m_id ); + //printf("# successfully creat this client thread %d!\n", m_id ); m_aValues.createBuffer(_nBufferSize, 0); } ~ReadSocketThread( ) { if ( isRunning( ) ) - t_print("# error: client thread not terminated.\n" ); + printf("# error: client thread not terminated.\n" ); m_aValues.freeBuffer(); } @@ -568,13 +569,13 @@ protected: sal_Bool bOK1 = asAcceptorSocket.bind( saLocalSocketAddr ); if ( sal_True != bOK1 ) { - t_print("# WriteSocketThread: AcceptorSocket bind address failed. \n" ) ; + printf("# WriteSocketThread: AcceptorSocket bind address failed. \n" ) ; break; } sal_Bool bOK2 = asAcceptorSocket.listen( 1 ); if ( sal_True != bOK2 ) { - t_print("# WriteSocketThread: AcceptorSocket listen address failed. \n" ) ; + printf("# WriteSocketThread: AcceptorSocket listen address failed. \n" ) ; break; } // blocking mode, if read/recv failed, block until success @@ -583,7 +584,7 @@ protected: oslSocketResult eResult = asAcceptorSocket.acceptConnection( ssStreamConnection ); if (eResult != osl_Socket_Ok ) { - t_print("WriteSocketThread: acceptConnection failed! \n"); + printf("WriteSocketThread: acceptConnection failed! \n"); break; } @@ -596,7 +597,7 @@ protected: void SAL_CALL onTerminated( ) { - //t_print("# normally terminate this server thread %d!\n", m_id ); + //printf("# normally terminate this server thread %d!\n", m_id ); } public: @@ -604,7 +605,7 @@ public: WriteSocketThread(sal_Int32 _nBufferSize, int _nValue ) { m_id = getIdentifier( ); - //t_print("# successfully creat this server thread %d!\n", m_id ); + //printf("# successfully creat this server thread %d!\n", m_id ); m_aValues.createBuffer(_nBufferSize, _nValue); } @@ -612,7 +613,7 @@ public: ~WriteSocketThread( ) { if ( isRunning( ) ) - t_print("# error: server thread not terminated.\n" ); + printf("# error: server thread not terminated.\n" ); m_aValues.freeBuffer(); } @@ -635,13 +636,13 @@ protected: sal_Bool bOK1 = asAcceptorSocket.bind( saLocalSocketAddr ); if ( sal_True != bOK1 ) { - t_print("# AcceptorSocket bind address failed.\n" ) ; + printf("# AcceptorSocket bind address failed.\n" ) ; return; } sal_Bool bOK2 = asAcceptorSocket.listen( 1 ); if ( sal_True != bOK2 ) { - t_print("# AcceptorSocket listen address failed.\n" ) ; + printf("# AcceptorSocket listen address failed.\n" ) ; return; } @@ -651,7 +652,7 @@ protected: if (eResult != osl_Socket_Ok ) { bOK = sal_True; - t_print("AcceptorThread: acceptConnection failed! \n"); + printf("AcceptorThread: acceptConnection failed! \n"); } } public: @@ -668,7 +669,7 @@ public: if ( isRunning( ) ) { asAcceptorSocket.shutdown(); - t_print("# error: Acceptor thread not terminated.\n" ); + printf("# error: Acceptor thread not terminated.\n" ); } } }; @@ -692,7 +693,7 @@ public: { if ( isRunning( ) ) { - t_print("# error: CloseSocketThread not terminated.\n" ); + printf("# error: CloseSocketThread not terminated.\n" ); } } }; @@ -712,311 +713,262 @@ namespace osl_SocketAddr inline SocketAddr( const ::rtl::OUString& strAddrOrHostName, sal_Int32 nPort ); */ - class ctors : public CppUnit::TestFixture + class SocketAddrCtors : public ::testing::Test { public: + }; // class ctors - void ctors_none() - { - /// SocketAddr constructor. - ::osl::SocketAddr saSocketAddr; - - // oslSocketResult aResult; - // rtl::OUString suHost = saSocketAddr.getLocalHostname( &aResult); + TEST_F(SocketAddrCtors, ctors_none) + { + /// SocketAddr constructor. + ::osl::SocketAddr saSocketAddr; - // rtl::OUString suHost2 = getThisHostname(); + // oslSocketResult aResult; + // rtl::OUString suHost = saSocketAddr.getLocalHostname( &aResult); - CPPUNIT_ASSERT_MESSAGE("test for none parameter constructor function: check if the socket address was created successfully", - sal_True == saSocketAddr.is( ) ); - } + // rtl::OUString suHost2 = getThisHostname(); - void ctors_none_000() - { - /// SocketAddr constructor. - ::osl::SocketAddr saSocketAddr; - - oslSocketResult aResult; - rtl::OUString suHost = saSocketAddr.getLocalHostname( &aResult); - rtl::OUString suHost2 = getThisHostname(); + ASSERT_TRUE(sal_True == saSocketAddr.is( )) << "test for none parameter constructor function: check if the socket address was created successfully"; + } - sal_Bool bOk = compareUString(suHost, suHost2); + TEST_F(SocketAddrCtors, ctors_none_000) + { + /// SocketAddr constructor. + ::osl::SocketAddr saSocketAddr; - rtl::OUString suError = rtl::OUString::createFromAscii("Host names should be the same. From SocketAddr.getLocalHostname() it is'"); - suError += suHost; - suError += rtl::OUString::createFromAscii("', from getThisHostname() it is '"); - suError += suHost2; - suError += rtl::OUString::createFromAscii("'."); + oslSocketResult aResult; + rtl::OUString suHost = saSocketAddr.getLocalHostname( &aResult); + rtl::OUString suHost2 = getThisHostname(); + + sal_Bool bOk = compareUString(suHost, suHost2); + + rtl::OUString suError = rtl::OUString::createFromAscii("Host names should be the same. From SocketAddr.getLocalHostname() it is'"); + suError += suHost; + suError += rtl::OUString::createFromAscii("', from getThisHostname() it is '"); + suError += suHost2; + suError += rtl::OUString::createFromAscii("'."); - CPPUNIT_ASSERT_MESSAGE(suError, sal_True == bOk); - } + ASSERT_TRUE(sal_True == bOk) << suError.pData; + } - void ctors_copy() - { - /// SocketAddr copy constructor. - ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); - ::osl::SocketAddr saCopySocketAddr( saSocketAddr ); + TEST_F(SocketAddrCtors, ctors_copy) + { + /// SocketAddr copy constructor. + ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); + ::osl::SocketAddr saCopySocketAddr( saSocketAddr ); - sal_Int32 nPort = saCopySocketAddr.getPort( ); + sal_Int32 nPort = saCopySocketAddr.getPort( ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr copy constructor function: copy constructor, do an action of copy construction then check the port with original set.", - ( sal_True == saCopySocketAddr.is( ) ) && ( nPort == IP_PORT_HTTP1 ) ); - } + ASSERT_TRUE(( sal_True == saCopySocketAddr.is( ) ) && ( nPort == IP_PORT_HTTP1 )) << "test for SocketAddr copy constructor function: copy constructor, do an action of copy construction then check the port with original set."; + } - void ctors_copy_no_001() - { + TEST_F(SocketAddrCtors, ctors_copy_no_001) + { #if 0 - ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); - oslSocketAddr psaOSLSocketAddr = saSocketAddr.getHandle( ); + ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); + oslSocketAddr psaOSLSocketAddr = saSocketAddr.getHandle( ); - ::osl::SocketAddr saSocketAddrCopy( psaOSLSocketAddr, SAL_NO_COPY ); - saSocketAddrCopy.setPort( IP_PORT_HTTP2 ); + ::osl::SocketAddr saSocketAddrCopy( psaOSLSocketAddr, SAL_NO_COPY ); + saSocketAddrCopy.setPort( IP_PORT_HTTP2 ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one.", - saSocketAddr.getPort( ) == IP_PORT_HTTP2 ); + ASSERT_TRUE(saSocketAddr.getPort( ) == IP_PORT_HTTP2) << "test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one."; #endif - ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); - CPPUNIT_ASSERT_MESSAGE("check for new SocketAddr", pSocketAddr != NULL); + ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); + ASSERT_TRUE(pSocketAddr != NULL) << "check for new SocketAddr"; - oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); - - ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); - - pSocketAddrCopy->setPort( IP_PORT_HTTP2 ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one.", - pSocketAddr->getPort( ) == IP_PORT_HTTP2 ); + oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); - delete pSocketAddrCopy; - // LLA: don't do this also: delete pSocketAddr; - } - - void ctors_copy_no_002() - { - ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); - CPPUNIT_ASSERT_MESSAGE("check for new SocketAddr", pSocketAddr != NULL); - oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); - ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); + ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one.", - pSocketAddr->getHandle( ) == pSocketAddrCopy->getHandle( ) ); + pSocketAddrCopy->setPort( IP_PORT_HTTP2 ); + ASSERT_TRUE(pSocketAddr->getPort( ) == IP_PORT_HTTP2) << "test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one."; - delete pSocketAddrCopy; - } + delete pSocketAddrCopy; + // LLA: don't do this also: delete pSocketAddr; + } - void ctors_copy_handle_001() - { - ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); - ::osl::SocketAddr saSocketAddrCopy( saSocketAddr.getHandle( ) ); + TEST_F(SocketAddrCtors, ctors_copy_no_002) + { + ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); + ASSERT_TRUE(pSocketAddr != NULL) << "check for new SocketAddr"; + oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); + ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr copy handle constructor function: copy another Socket's handle, get its port to check copy effect.", - saSocketAddrCopy.getPort( ) == IP_PORT_HTTP1 ); - } + ASSERT_TRUE(pSocketAddr->getHandle( ) == pSocketAddrCopy->getHandle( )) << "test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one."; - void ctors_copy_handle_002() - { - ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); - ::osl::SocketAddr saSocketAddrCopy( saSocketAddr.getHandle( ) ); - saSocketAddrCopy.setPort( IP_PORT_HTTP2 ); + delete pSocketAddrCopy; + } - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr copy handle constructor function: copy another Socket's handle, the original one should not be changed.", - saSocketAddr.getPort( ) != IP_PORT_HTTP2 ); - } + TEST_F(SocketAddrCtors, ctors_copy_handle_001) + { + ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); + ::osl::SocketAddr saSocketAddrCopy( saSocketAddr.getHandle( ) ); - void ctors_hostname_port_001() - { - /// tcpip-specif constructor. - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - printUString(saSocketAddr.getHostname( ), "ctors_hostname_port_001:getHostname"); + ASSERT_TRUE(saSocketAddrCopy.getPort( ) == IP_PORT_HTTP1) << "test for SocketAddr copy handle constructor function: copy another Socket's handle, get its port to check copy effect."; + } - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr tcpip specif constructor function: do a constructor using tcpip spec, check the result.", - saSocketAddr.is( ) == sal_True && - ( saSocketAddr.getPort( ) == IP_PORT_FTP )/*&& - ( sal_True == compareUString( saSocketAddr.getHostname( ), aHostName1 ) ) */); - } + TEST_F(SocketAddrCtors, ctors_copy_handle_002) + { + ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_HTTP1 ); + ::osl::SocketAddr saSocketAddrCopy( saSocketAddr.getHandle( ) ); + saSocketAddrCopy.setPort( IP_PORT_HTTP2 ); - //same as is_002 - void ctors_hostname_port_002() - { - /// tcpip-specif constructor. - ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT2 ); + ASSERT_TRUE(saSocketAddr.getPort( ) != IP_PORT_HTTP2) << "test for SocketAddr copy handle constructor function: copy another Socket's handle, the original one should not be changed."; + } - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr tcpip specif constructor function: using an invalid IP address, the socketaddr ctors should fail", sal_False == saSocketAddr.is( )); - } - CPPUNIT_TEST_SUITE( ctors ); - CPPUNIT_TEST( ctors_none ); - CPPUNIT_TEST( ctors_none_000 ); - CPPUNIT_TEST( ctors_copy ); - CPPUNIT_TEST( ctors_copy_no_001 ); - CPPUNIT_TEST( ctors_copy_no_002 ); - CPPUNIT_TEST( ctors_copy_handle_001 ); - CPPUNIT_TEST( ctors_copy_handle_002 ); - CPPUNIT_TEST( ctors_hostname_port_001 ); - CPPUNIT_TEST( ctors_hostname_port_002 ); - CPPUNIT_TEST_SUITE_END(); + TEST_F(SocketAddrCtors, ctors_hostname_port_001) + { + /// tcpip-specif constructor. + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); + printUString(saSocketAddr.getHostname( ), "ctors_hostname_port_001:getHostname"); + + ASSERT_TRUE(saSocketAddr.is( ) == sal_True && + ( saSocketAddr.getPort( ) == IP_PORT_FTP )/*&& + ( sal_True == compareUString( saSocketAddr.getHostname( ), aHostName1 ) ) */) << "test for SocketAddr tcpip specif constructor function: do a constructor using tcpip spec, check the result."; + } - }; // class ctors + //same as is_002 + TEST_F(SocketAddrCtors, ctors_hostname_port_002) + { + /// tcpip-specif constructor. + ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT2 ); + ASSERT_TRUE(sal_False == saSocketAddr.is( )) << "test for SocketAddr tcpip specif constructor function: using an invalid IP address, the socketaddr ctors should fail"; + } /** testing the method: inline sal_Bool is() const; */ - class is : public CppUnit::TestFixture + class is : public ::testing::Test { public: - void is_001() - { - ::osl::SocketAddr saSocketAddr; - - CPPUNIT_ASSERT_MESSAGE("test for is() function: create an unknown type socket, it should be True when call is.", - sal_True == saSocketAddr.is( ) ); - } - // refer to setPort_003() - void is_002() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_INVAL ); - - CPPUNIT_ASSERT_MESSAGE("test for is() function: create a tcp-ip socket using invalid port number", - sal_True == saSocketAddr.is( ) ); - } + }; // class is - void is_003() - { - ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT ); + TEST_F(is, is_001) + { + ::osl::SocketAddr saSocketAddr; - CPPUNIT_ASSERT_MESSAGE("test for is() function: create a tcp-ip socket using invalid Ip number", - sal_True != saSocketAddr.is( ) ); - } + ASSERT_TRUE(sal_True == saSocketAddr.is( )) << "test for is() function: create an unknown type socket, it should be True when call is."; + } + // refer to setPort_003() + TEST_F(is, is_002) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_INVAL ); - CPPUNIT_TEST_SUITE( is ); - CPPUNIT_TEST( is_001 ); - CPPUNIT_TEST( is_002 ); - CPPUNIT_TEST( is_003 ); - CPPUNIT_TEST_SUITE_END(); + ASSERT_TRUE(sal_True == saSocketAddr.is( )) << "test for is() function: create a tcp-ip socket using invalid port number"; + } - }; // class is + TEST_F(is, is_003) + { + ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT ); + ASSERT_TRUE(sal_True != saSocketAddr.is( )) << "test for is() function: create a tcp-ip socket using invalid Ip number"; + } /** testing the method: inline ::rtl::OUString SAL_CALL getHostname( oslSocketResult *pResult = 0 ) const; */ - class getHostname : public CppUnit::TestFixture + class getHostname : public ::testing::Test { public: - void setUp() + void SetUp() { } - void tearDown() + void TearDown() { } + }; // class getHostname - void getHostname_000() - { - ::osl::SocketAddr saSocketAddr( aHostIp4, IP_PORT_FTP ); - - } - - /** it will search the Ip in current machine's /etc/hosts at first, if find, then return the - mapped hostname, otherwise, it will search via DNS server, and often return hostname+ Domain name - like "sceri.PRC.Sun.COM" - The process is same as Socket::getLocalHost(), but getLocalHost can only return hostname of the current machine. - */ - void getHostname_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp4, IP_PORT_FTP ); - rtl::OUString suResult = saSocketAddr.getHostname( 0 ); - rtl::OUString suError = outputError(suResult, aHostName4, "test for getHostname(0)"); - sal_Bool bOK = compareUString( suResult, aHostName4 ); - // search the returned hostname in /etc/hosts, if find, and the IP in the row is same as IP - // in the Addr, it's right also. - if ( bOK == sal_False) - { - if ( compareUString( getIPbyName( oustring2char( suResult ) ), aHostIp4 ) == sal_True ) - bOK = sal_True; - } - CPPUNIT_ASSERT_MESSAGE( suError, sal_True == bOK); - } - -// LLA: now we have to control, if this behaviour is right. -// LLA: this function does not work in company (Linux, Windows) but at home - void getHostname_002() - { - rtl::OUString suHostname = rtl::OUString::createFromAscii("cn-1.germany.sun.com"); - rtl::OUString aHostIP = getIPbyName( oustring2char( suHostname ) ); - - ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_FTP ); - sal_Bool bOK = saSocketAddr.setHostname( suHostname ); - CPPUNIT_ASSERT_MESSAGE("#SocketAddr.setHostname failed", sal_True == bOK ); - oslSocketResult aResult; - rtl::OUString suResult = saSocketAddr.getHostname( &aResult ); - CPPUNIT_ASSERT_MESSAGE("SocketAddr.getHostname failed.", aResult == osl_Socket_Ok); - - rtl::OUString suError = outputError(suResult, suHostname, "test for getHostname(0)"); - bOK = compareUString( suResult, suHostname ); - if ( bOK == sal_False) - { - rtl::OString aString = ::rtl::OUStringToOString( suResult, RTL_TEXTENCODING_ASCII_US ); - if ( compareUString( getIPbyName( aString) , aHostIp6 ) == sal_True ) - { - bOK = sal_True; - } - } + TEST_F(getHostname, getHostname_000) + { + ::osl::SocketAddr saSocketAddr( aHostIp4, IP_PORT_FTP ); - CPPUNIT_ASSERT_MESSAGE( suError, sal_True == bOK ); - } + } + /** it will search the Ip in current machine's /etc/hosts at first, if find, then return the + mapped hostname, otherwise, it will search via DNS server, and often return hostname+ Domain name + like "sceri.PRC.Sun.COM" + The process is same as Socket::getLocalHost(), but getLocalHost can only return hostname of the current machine. + */ + TEST_F(getHostname, getHostname_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp4, IP_PORT_FTP ); + rtl::OUString suResult = saSocketAddr.getHostname( 0 ); + rtl::OUString suError = outputError(suResult, aHostName4, "test for getHostname(0)"); + sal_Bool bOK = compareUString( suResult, aHostName4 ); + // search the returned hostname in /etc/hosts, if find, and the IP in the row is same as IP + // in the Addr, it's right also. + if ( bOK == sal_False) + { + if ( compareUString( getIPbyName( oustring2char( suResult ) ), aHostIp4 ) == sal_True ) + bOK = sal_True; + } + ASSERT_TRUE(sal_True == bOK) << suError.pData; + } - CPPUNIT_TEST_SUITE( getHostname ); - CPPUNIT_TEST( getHostname_001 ); - CPPUNIT_TEST( getHostname_002 ); - CPPUNIT_TEST_SUITE_END(); + // LLA: now we have to control, if this behaviour is right. + // LLA: this function does not work in company (Linux, Windows) but at home + TEST_F(getHostname, getHostname_002) + { + rtl::OUString suHostname = rtl::OUString::createFromAscii("cn-1.germany.sun.com"); + rtl::OUString aHostIP = getIPbyName( oustring2char( suHostname ) ); - }; // class getHostname + ::osl::SocketAddr saSocketAddr( aHostName1, IP_PORT_FTP ); + sal_Bool bOK = saSocketAddr.setHostname( suHostname ); + ASSERT_TRUE(sal_True == bOK) << "#SocketAddr.setHostname failed"; + oslSocketResult aResult; + rtl::OUString suResult = saSocketAddr.getHostname( &aResult ); + ASSERT_TRUE(aResult == osl_Socket_Ok) << "SocketAddr.getHostname failed."; + + rtl::OUString suError = outputError(suResult, suHostname, "test for getHostname(0)"); + bOK = compareUString( suResult, suHostname ); + if ( bOK == sal_False) + { + rtl::OString aString = ::rtl::OUStringToOString( suResult, RTL_TEXTENCODING_ASCII_US ); + if ( compareUString( getIPbyName( aString) , aHostIp6 ) == sal_True ) + { + bOK = sal_True; + } + } + ASSERT_TRUE(sal_True == bOK) << suError.pData; + } /** testing the method: inline sal_Int32 SAL_CALL getPort() const; */ - class getPort : public CppUnit::TestFixture + class getPort : public ::testing::Test { public: - void getPort_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - - CPPUNIT_ASSERT_MESSAGE( "test for getPort() function: get a normal port number.", - IP_PORT_FTP == saSocketAddr.getPort( ) ); - } - - void getPort_002() - { - ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_INVAL ); + }; // class getPort - //t_print("#getPort_002: Port number is %d \n", saSocketAddr.getPort( )); + TEST_F(getPort, getPort_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - CPPUNIT_ASSERT_MESSAGE( "test for getPort( ) function: give an invalid port to a SocketAddr, get the port to see if it can detect. it did not pass in (W32).", - saSocketAddr.getPort( )>=1 && saSocketAddr.getPort( ) <= 65535 ); - } - //two cases will return OSL_INVALID_PORT: 1. not valid SocketAddr - //2. SocketAddr family is not osl_Socket_FamilyInet, but case 2 could not be constructed - void getPort_003() - { - ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT ); + ASSERT_TRUE(IP_PORT_FTP == saSocketAddr.getPort( )) << "test for getPort() function: get a normal port number."; + } - CPPUNIT_ASSERT_MESSAGE( "test for getPort( ) function: give an invalid IP to a SocketAddr, get the port to see returned value. ", - saSocketAddr.getPort( ) == OSL_INVALID_PORT ); - } + TEST_F(getPort, getPort_002) + { + ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_INVAL ); - CPPUNIT_TEST_SUITE( getPort ); - CPPUNIT_TEST( getPort_001 ); - CPPUNIT_TEST( getPort_002 ); - CPPUNIT_TEST( getPort_003 ); - CPPUNIT_TEST_SUITE_END( ); + //printf("#getPort_002: Port number is %d \n", saSocketAddr.getPort( )); - }; // class getPort + ASSERT_TRUE(saSocketAddr.getPort( )>=1 && saSocketAddr.getPort( ) <= 65535) << "test for getPort( ) function: give an invalid port to a SocketAddr, get the port to see if it can detect. it did not pass in (W32)."; + } + //two cases will return OSL_INVALID_PORT: 1. not valid SocketAddr + //2. SocketAddr family is not osl_Socket_FamilyInet, but case 2 could not be constructed + TEST_F(getPort, getPort_003) + { + ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_MYPORT ); + ASSERT_TRUE(saSocketAddr.getPort( ) == OSL_INVALID_PORT) << "test for getPort( ) function: give an invalid IP to a SocketAddr, get the port to see returned value. "; + } /** testing the method: inline sal_Bool SAL_CALL setPort( sal_Int32 nPort ); @@ -1024,78 +976,65 @@ namespace osl_SocketAddr rfc1700.txt: 0/tcp Reserved ; 0/udp Reserved */ - class setPort : public CppUnit::TestFixture + class setPort : public ::testing::Test { public: - void setPort_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - sal_Bool bOK = saSocketAddr.setPort( IP_PORT_TELNET ); - - CPPUNIT_ASSERT_MESSAGE( "test for setPort() function: modify a port number setting, and check it.", - ( sal_True == bOK ) && - ( IP_PORT_TELNET == saSocketAddr.getPort( ) ) ); - } - - /** 0 to 1024 is known as the reserved port range (traditionally only root can assign programs to ports in - this range) and the ephemeral port range from 1025 to 65535. - As many of you programmers will know, when you specify the source port of 0 when you connect to a host, - the OS automatically reassigns the port number to high numbered ephemeral port. The same happens if you - try to bind a listening socket to port 0. - http://www.securiteam.com/securityreviews/5XP0Q2AAKS.html - another: http://www.muq.org/~cynbe/muq/mufref_564.html - */ - void setPort_002() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - sal_Bool bOK = saSocketAddr.setPort( IP_PORT_ZERO ); - - oslSocket sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); - ::osl::Socket sSocket(sHandle); - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 );//sal_True); - sal_Bool bOK1 = sSocket.bind( saSocketAddr ); - CPPUNIT_ASSERT_MESSAGE( "bind SocketAddr failed", bOK1 == sal_True ); + }; // class setPort - sal_Int32 newPort = sSocket.getLocalPort(); - //t_print("#new port is %d\n", newPort ); + TEST_F(setPort, setPort_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); + sal_Bool bOK = saSocketAddr.setPort( IP_PORT_TELNET ); - CPPUNIT_ASSERT_MESSAGE( "test for setPort() function: port number should be in 1 ~ 65535, set port 0, it should be converted to a port number between 1024~65535.", - ( 1024 <= newPort ) && ( 65535 >= newPort ) && ( bOK == sal_True ) ); + ASSERT_TRUE(( sal_True == bOK ) && + ( IP_PORT_TELNET == saSocketAddr.getPort( ) )) << "test for setPort() function: modify a port number setting, and check it."; + } - } + /** 0 to 1024 is known as the reserved port range (traditionally only root can assign programs to ports in + this range) and the ephemeral port range from 1025 to 65535. + As many of you programmers will know, when you specify the source port of 0 when you connect to a host, + the OS automatically reassigns the port number to high numbered ephemeral port. The same happens if you + try to bind a listening socket to port 0. + http://www.securiteam.com/securityreviews/5XP0Q2AAKS.html + another: http://www.muq.org/~cynbe/muq/mufref_564.html + */ + TEST_F(setPort, setPort_002) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); + sal_Bool bOK = saSocketAddr.setPort( IP_PORT_ZERO ); - void setPort_003() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP); - sal_Bool bOK = saSocketAddr.setPort( IP_PORT_INVAL ); - //on Linux, getPort return 34463 - //t_print("#Port number is %d \n", saSocketAddr.getPort( )); + oslSocket sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); + ::osl::Socket sSocket(sHandle); + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 );//sal_True); + sal_Bool bOK1 = sSocket.bind( saSocketAddr ); + ASSERT_TRUE(bOK1 == sal_True) << "bind SocketAddr failed"; - CPPUNIT_ASSERT_MESSAGE( "test for setPort( ) function: set an address with invalid port. it should return error or convert it to a valid port.", - ( ( 1 <= saSocketAddr.getPort( ) ) && ( 65535 >= saSocketAddr.getPort( ) ) &&( bOK == sal_True ) ) || - bOK == sal_False); - } + sal_Int32 newPort = sSocket.getLocalPort(); + //printf("#new port is %d\n", newPort ); - /* this is not a inet-addr => can't set port */ - void setPort_004() - { - ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_FTP); - sal_Bool bOK = saSocketAddr.setPort( IP_PORT_MYPORT ); + ASSERT_TRUE(( 1024 <= newPort ) && ( 65535 >= newPort ) && ( bOK == sal_True )) << "test for setPort() function: port number should be in 1 ~ 65535, set port 0, it should be converted to a port number between 1024~65535."; - CPPUNIT_ASSERT_MESSAGE( "test for setPort( ) function: set an invalid address with valid port. it should return error.", - bOK == sal_False); - } + } + TEST_F(setPort, setPort_003) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP); + sal_Bool bOK = saSocketAddr.setPort( IP_PORT_INVAL ); + //on Linux, getPort return 34463 + //printf("#Port number is %d \n", saSocketAddr.getPort( )); - CPPUNIT_TEST_SUITE( setPort ); - CPPUNIT_TEST( setPort_001 ); - CPPUNIT_TEST( setPort_002 ); - CPPUNIT_TEST( setPort_003 ); - CPPUNIT_TEST( setPort_004 ); - CPPUNIT_TEST_SUITE_END( ); + ASSERT_TRUE(( ( 1 <= saSocketAddr.getPort( ) ) && ( 65535 >= saSocketAddr.getPort( ) ) &&( bOK == sal_True ) ) || + bOK == sal_False) << "test for setPort( ) function: set an address with invalid port. it should return error or convert it to a valid port."; + } - }; // class setPort + /* this is not a inet-addr => can't set port */ + TEST_F(setPort, setPort_004) + { + ::osl::SocketAddr saSocketAddr( aHostIpInval1, IP_PORT_FTP); + sal_Bool bOK = saSocketAddr.setPort( IP_PORT_MYPORT ); + ASSERT_TRUE(bOK == sal_False) << "test for setPort( ) function: set an invalid address with valid port. it should return error."; + } /** tester comment: @@ -1111,59 +1050,46 @@ namespace osl_SocketAddr inline sal_Bool SAL_CALL setAddr( const ::rtl::ByteSequence & address ); */ - class setAddr : public CppUnit::TestFixture + class setAddr : public ::testing::Test { public: - void setAddr_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_FTP ); - saSocketAddr.setAddr( UStringIPToByteSequence( aHostIp1 ) ); - ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( 0 ); - sal_Bool bOK = sal_False; - - if ( ( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) && ( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) - bOK = sal_True; - - CPPUNIT_ASSERT_MESSAGE( "test for setAddr() function: construct Addr with \"129.158.217.202\", set it to \"127.0.0.1\", and check the correctness ", - sal_True == bOK ); - } + }; // class setAddr + TEST_F(setAddr, setAddr_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_FTP ); + saSocketAddr.setAddr( UStringIPToByteSequence( aHostIp1 ) ); + ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( 0 ); + sal_Bool bOK = sal_False; - CPPUNIT_TEST_SUITE( setAddr ); - CPPUNIT_TEST( setAddr_001 ); - CPPUNIT_TEST_SUITE_END( ); - - }; // class setAddr + if ( ( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) && ( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) + bOK = sal_True; + ASSERT_TRUE(sal_True == bOK) << "test for setAddr() function: construct Addr with \"129.158.217.202\", set it to \"127.0.0.1\", and check the correctness "; + } /** testing the method: inline ::rtl::ByteSequence SAL_CALL getAddr( oslSocketResult *pResult = 0 ) const; */ - class getAddr : public CppUnit::TestFixture + class getAddr : public ::testing::Test { public: - void getAddr_001() - { - oslSocketResult SocketResult; - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); - ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( &SocketResult ); - - sal_Bool bOK = sal_False; - - if ( ( osl_Socket_Ok == SocketResult ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) - bOK = sal_True; + }; // class getAddr - CPPUNIT_ASSERT_MESSAGE( "test for getAddr() function: construct a socketaddr with IP assigned, get the address to check correctness.Caught unknown exception on (Win32)", - sal_True == bOK && SocketResult == osl_Socket_Ok); - } + TEST_F(getAddr, getAddr_001) + { + oslSocketResult SocketResult; + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_FTP ); + ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( &SocketResult ); - CPPUNIT_TEST_SUITE( getAddr ); - CPPUNIT_TEST( getAddr_001 ); - CPPUNIT_TEST_SUITE_END( ); + sal_Bool bOK = sal_False; - }; // class getAddr + if ( ( osl_Socket_Ok == SocketResult ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) + bOK = sal_True; + ASSERT_TRUE(sal_True == bOK && SocketResult == osl_Socket_Ok) << "test for getAddr() function: construct a socketaddr with IP assigned, get the address to check correctness.Caught unknown exception on (Win32)"; + } /** testing the methods: inline SocketAddr & SAL_CALL operator= (oslSocketAddr Addr); @@ -1173,237 +1099,197 @@ namespace osl_SocketAddr inline sal_Bool SAL_CALL operator== (const SocketAddr & Addr) const; /// not implemented. */ - class operator_equal : public CppUnit::TestFixture + class operator_equal : public ::testing::Test { public: - void operator_equal_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); - ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); - - saSocketAddrEqual = saSocketAddr; - sal_Bool bOK = sal_False; - ::rtl::ByteSequence bsSocketAddr = saSocketAddrEqual.getAddr( 0 ); + }; // class operator_equal - if ( ( IP_PORT_TELNET == saSocketAddrEqual.getPort( ) ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) - bOK = sal_True; + TEST_F(operator_equal, operator_equal_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); + ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal() function: use operator= to assign Ip1 to Ip2, check its modification.", - sal_True == bOK ); - } + saSocketAddrEqual = saSocketAddr; + sal_Bool bOK = sal_False; + ::rtl::ByteSequence bsSocketAddr = saSocketAddrEqual.getAddr( 0 ); + if ( ( IP_PORT_TELNET == saSocketAddrEqual.getPort( ) ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) + bOK = sal_True; - void operator_equal_002() - { - ::osl::SocketAddr saSocketAddr( aHostIp3, IP_PORT_TELNET); - ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); + ASSERT_TRUE(sal_True == bOK) << "test for operator_equal() function: use operator= to assign Ip1 to Ip2, check its modification."; + } - saSocketAddrEqual = saSocketAddr; - CPPUNIT_ASSERT_MESSAGE( "after assign, the assigned SocketAddr is not same as the original Addr", - IP_PORT_TELNET == saSocketAddrEqual.getPort( ) ); - saSocketAddrEqual.setPort( IP_PORT_MYPORT3 ); - saSocketAddr.setPort( IP_PORT_HTTP2 ); - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal() function: perform an equal action, then try to change the original address's port. it should not be changed ( handle released), it did not pass in (W32), this is under discussion.", - IP_PORT_MYPORT3 == saSocketAddrEqual.getPort( ) ); - } + TEST_F(operator_equal, operator_equal_002) + { + ::osl::SocketAddr saSocketAddr( aHostIp3, IP_PORT_TELNET); + ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); - void operator_equal_const_001() - { - const ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); - ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); + saSocketAddrEqual = saSocketAddr; + ASSERT_TRUE(IP_PORT_TELNET == saSocketAddrEqual.getPort( )) << "after assign, the assigned SocketAddr is not same as the original Addr"; + saSocketAddrEqual.setPort( IP_PORT_MYPORT3 ); + saSocketAddr.setPort( IP_PORT_HTTP2 ); - saSocketAddrEqual = saSocketAddr; - sal_Bool bOK = sal_False; - ::rtl::ByteSequence bsSocketAddr = saSocketAddrEqual.getAddr( 0 ); + ASSERT_TRUE(IP_PORT_MYPORT3 == saSocketAddrEqual.getPort( )) << "test for operator_equal() function: perform an equal action, then try to change the original address's port. it should not be changed ( handle released), it did not pass in (W32), this is under discussion."; + } - if ( ( IP_PORT_TELNET == saSocketAddrEqual.getPort( ) ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) - bOK = sal_True; + TEST_F(operator_equal, operator_equal_const_001) + { + const ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); + ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal_const() function: use operator= const to assign Ip1 to Ip2, verify the change on the second one.", - sal_True == bOK ); - } + saSocketAddrEqual = saSocketAddr; + sal_Bool bOK = sal_False; + ::rtl::ByteSequence bsSocketAddr = saSocketAddrEqual.getAddr( 0 ); - void operator_equal_const_002() - { - const ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); - ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); + if ( ( IP_PORT_TELNET == saSocketAddrEqual.getPort( ) ) &&( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) + bOK = sal_True; - saSocketAddrEqual = saSocketAddr; - saSocketAddrEqual.setPort( IP_PORT_HTTP1 ); + ASSERT_TRUE(sal_True == bOK) << "test for operator_equal_const() function: use operator= const to assign Ip1 to Ip2, verify the change on the second one."; + } - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal_const() function: change the second instance, the first one should not be altered, since it does not released the handle.", - IP_PORT_HTTP1 != saSocketAddr.getPort( ) ); - } + TEST_F(operator_equal, operator_equal_const_002) + { + const ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); + ::osl::SocketAddr saSocketAddrEqual( aHostIp2, IP_PORT_FTP ); - void operator_equal_assign_001() - { - ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostIp1, IP_PORT_TELNET ); - CPPUNIT_ASSERT_MESSAGE("check for new SocketAddr", pSocketAddr != NULL); - ::osl::SocketAddr* pSocketAddrAssign = new ::osl::SocketAddr( aHostIp2, IP_PORT_FTP ); - oslSocketAddr poslSocketAddr = pSocketAddr->getHandle( ); - //if( m_handle ) osl_destroySocketAddr( m_handle ); so pSocketAddrAssign had been destroyed and then point to pSocketAddr - pSocketAddrAssign->assign(poslSocketAddr, SAL_NO_COPY); + saSocketAddrEqual = saSocketAddr; + saSocketAddrEqual.setPort( IP_PORT_HTTP1 ); - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one.", - pSocketAddrAssign->getPort( ) == IP_PORT_TELNET ); + ASSERT_TRUE(IP_PORT_HTTP1 != saSocketAddr.getPort( )) << "test for operator_equal_const() function: change the second instance, the first one should not be altered, since it does not released the handle."; + } - delete pSocketAddrAssign; - } + TEST_F(operator_equal, operator_equal_assign_001) + { + ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostIp1, IP_PORT_TELNET ); + ASSERT_TRUE(pSocketAddr != NULL) << "check for new SocketAddr"; + ::osl::SocketAddr* pSocketAddrAssign = new ::osl::SocketAddr( aHostIp2, IP_PORT_FTP ); + oslSocketAddr poslSocketAddr = pSocketAddr->getHandle( ); + //if( m_handle ) osl_destroySocketAddr( m_handle ); so pSocketAddrAssign had been destroyed and then point to pSocketAddr + pSocketAddrAssign->assign(poslSocketAddr, SAL_NO_COPY); - void operator_is_equal_001() - { - ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); - ::osl::SocketAddr saSocketAddrequal( aHostIp1, IP_PORT_TELNET ); + ASSERT_TRUE(pSocketAddrAssign->getPort( ) == IP_PORT_TELNET) << "test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one."; - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal_equal() function: check two identical Address.", - sal_True == ( saSocketAddrequal == saSocketAddr.getHandle( ) ) ); - } - - void operator_is_equal_002() - { - ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_FTP); - ::osl::SocketAddr saSocketAddrequal( aHostIp1, IP_PORT_TELNET ); + delete pSocketAddrAssign; + } - CPPUNIT_ASSERT_MESSAGE( "test for operator_equal_equal() function: check two different Address.", - sal_False == ( saSocketAddrequal == saSocketAddr.getHandle( ) ) ); - } + TEST_F(operator_equal, operator_is_equal_001) + { + ::osl::SocketAddr saSocketAddr( aHostIp1, IP_PORT_TELNET); + ::osl::SocketAddr saSocketAddrequal( aHostIp1, IP_PORT_TELNET ); - CPPUNIT_TEST_SUITE( operator_equal ); - CPPUNIT_TEST( operator_equal_001 ); - CPPUNIT_TEST( operator_equal_002 ); - CPPUNIT_TEST( operator_equal_const_001 ); - CPPUNIT_TEST( operator_equal_const_002 ); - CPPUNIT_TEST( operator_equal_assign_001 ); - CPPUNIT_TEST( operator_is_equal_001 ); - CPPUNIT_TEST( operator_is_equal_002 ); - CPPUNIT_TEST_SUITE_END( ); + ASSERT_TRUE(sal_True == ( saSocketAddrequal == saSocketAddr.getHandle( ) )) << "test for operator_equal_equal() function: check two identical Address."; + } - }; // class operator_equal + TEST_F(operator_equal, operator_is_equal_002) + { + ::osl::SocketAddr saSocketAddr( aHostIp2, IP_PORT_FTP); + ::osl::SocketAddr saSocketAddrequal( aHostIp1, IP_PORT_TELNET ); + ASSERT_TRUE(sal_False == ( saSocketAddrequal == saSocketAddr.getHandle( ) )) << "test for operator_equal_equal() function: check two different Address."; + } /** testing the method: inline oslSocketAddr SAL_CALL getHandle() const; */ - class getSocketAddrHandle : public CppUnit::TestFixture + class getSocketAddrHandle : public ::testing::Test { public: + }; // class getSocketAddrHandle - void getSocketAddrHandle_001() - { - ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); - CPPUNIT_ASSERT_MESSAGE("check for new SocketAddr", pSocketAddr != NULL); - oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); - ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); - - CPPUNIT_ASSERT_MESSAGE("test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one.", - pSocketAddr->getHandle( ) == pSocketAddrCopy->getHandle( ) ); - - delete pSocketAddrCopy; - } - - void getSocketAddrHandle_002() - { - ::osl::SocketAddr saSocketAddr( aHostName3, IP_PORT_MYPORT4 ); - oslSocketAddr poslSocketAddr = saSocketAddr.getHandle( ); + TEST_F(getSocketAddrHandle, getSocketAddrHandle_001) + { + ::osl::SocketAddr* pSocketAddr = new ::osl::SocketAddr( aHostName1, IP_PORT_HTTP1 ); + ASSERT_TRUE(pSocketAddr != NULL) << "check for new SocketAddr"; + oslSocketAddr psaOSLSocketAddr = pSocketAddr->getHandle( ); + ::osl::SocketAddr* pSocketAddrCopy = new ::osl::SocketAddr( psaOSLSocketAddr, SAL_NO_COPY ); - sal_Bool bOK = ( saSocketAddr == poslSocketAddr ); - //t_print("getSocketAddrHandle_002\n"); - CPPUNIT_ASSERT_MESSAGE( "test for getHandle() function: use getHandle() function as an intermediate way to create identical address.", - sal_True == bOK ); - } + ASSERT_TRUE(pSocketAddr->getHandle( ) == pSocketAddrCopy->getHandle( )) << "test for SocketAddr no copy constructor function: do a no copy constructor on a given SocketAddr instance, modify the new instance's port, check the original one."; - CPPUNIT_TEST_SUITE( getSocketAddrHandle ); - CPPUNIT_TEST( getSocketAddrHandle_001 ); - CPPUNIT_TEST( getSocketAddrHandle_002 ); - CPPUNIT_TEST_SUITE_END( ); + delete pSocketAddrCopy; + } - }; // class getSocketAddrHandle + TEST_F(getSocketAddrHandle, getSocketAddrHandle_002) + { + ::osl::SocketAddr saSocketAddr( aHostName3, IP_PORT_MYPORT4 ); + oslSocketAddr poslSocketAddr = saSocketAddr.getHandle( ); + sal_Bool bOK = ( saSocketAddr == poslSocketAddr ); + //printf("getSocketAddrHandle_002\n"); + ASSERT_TRUE(sal_True == bOK) << "test for getHandle() function: use getHandle() function as an intermediate way to create identical address."; + } /** testing the method: static inline ::rtl::OUString SAL_CALL getLocalHostname( oslSocketResult *pResult = 0); */ - class getLocalHostname : public CppUnit::TestFixture + class getLocalHostname : public ::testing::Test { public: - /* the process of getLocalHostname: 1.gethostname (same as /bin/hostname) returned name A - 2. search A in /etc/hosts, if there is an alias name is A, return the name in the same row - */ + }; // class getLocalHostname - void getLocalHostname_000() - { - // _osl_getFullQualifiedDomainName( ); - oslSocketResult aResult = osl_Socket_Error; - rtl::OUString suHostname = osl::SocketAddr::getLocalHostname(&aResult); - CPPUNIT_ASSERT_MESSAGE("getLocalHostname failed", aResult == osl_Socket_Ok); - } + /* the process of getLocalHostname: 1.gethostname (same as /bin/hostname) returned name A + 2. search A in /etc/hosts, if there is an alias name is A, return the name in the same row + */ - void getLocalHostname_001() - { - oslSocketResult *pResult = NULL; - //printSocketResult(*pResult); - ::rtl::OUString suResult = ::osl::SocketAddr::getLocalHostname( pResult ); - - // LLA: IMHO localhost, or hostname by itself should be ok. - rtl::OUString suThisHost = getThisHostname( ); - bool bOk = false; - if (suThisHost.equals(rtl::OUString::createFromAscii("localhost"))) + TEST_F(getLocalHostname, getLocalHostname_000) + { + // _osl_getFullQualifiedDomainName( ); + oslSocketResult aResult = osl_Socket_Error; + rtl::OUString suHostname = osl::SocketAddr::getLocalHostname(&aResult); + ASSERT_TRUE(aResult == osl_Socket_Ok) << "getLocalHostname failed"; + } + + TEST_F(getLocalHostname, getLocalHostname_001) + { + oslSocketResult *pResult = NULL; + //printSocketResult(*pResult); + ::rtl::OUString suResult = ::osl::SocketAddr::getLocalHostname( pResult ); + + // LLA: IMHO localhost, or hostname by itself should be ok. + rtl::OUString suThisHost = getThisHostname( ); + bool bOk = false; + if (suThisHost.equals(rtl::OUString::createFromAscii("localhost"))) + { + bOk = true; + } + else + { + if (suThisHost.equals(suResult)) { bOk = true; } - else - { - if (suThisHost.equals(suResult)) - { - bOk = true; - } - } - - ::rtl::OUString suError; - suError = outputError(suResult, getThisHostname( ), "test for getLocalHostname() function"); - - CPPUNIT_ASSERT_MESSAGE( suError, bOk == true ); - } - - CPPUNIT_TEST_SUITE( getLocalHostname ); - CPPUNIT_TEST( getLocalHostname_000 ); - CPPUNIT_TEST( getLocalHostname_001 ); - CPPUNIT_TEST_SUITE_END( ); + } - }; // class getLocalHostname + ::rtl::OUString suError; + suError = outputError(suResult, getThisHostname( ), "test for getLocalHostname() function"); + ASSERT_TRUE(bOk == true) << suError.pData; + } /** testing the method: static inline void SAL_CALL resolveHostname( const ::rtl::OUString & strHostName , SocketAddr & Addr ); */ - class resolveHostname : public CppUnit::TestFixture + class resolveHostname : public ::testing::Test { public: - void resolveHostname_001() - { - ::osl::SocketAddr saSocketAddr; - ::osl::SocketAddr::resolveHostname( aHostIp1, saSocketAddr ); - ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( 0 ); - sal_Bool bOK = sal_False; - - if ( ( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) - bOK = sal_True; - - CPPUNIT_ASSERT_MESSAGE( "test for resolveHostname() function: try to resolve localhost to 127.0.0.1.", - sal_True == bOK ); - } + }; // class resolveHostname - CPPUNIT_TEST_SUITE( resolveHostname ); - CPPUNIT_TEST( resolveHostname_001 ); - CPPUNIT_TEST_SUITE_END( ); + TEST_F(resolveHostname, resolveHostname_001) + { + ::osl::SocketAddr saSocketAddr; + ::osl::SocketAddr::resolveHostname( aHostIp1, saSocketAddr ); + ::rtl::ByteSequence bsSocketAddr = saSocketAddr.getAddr( 0 ); + sal_Bool bOK = sal_False; - }; // class resolveHostname + if ( ( bsSocketAddr[0] == 127 ) && ( bsSocketAddr[1] == 0 ) &&( bsSocketAddr[2] == 0 ) && ( bsSocketAddr[3] == 1 ) ) + bOK = sal_True; + ASSERT_TRUE(sal_True == bOK) << "test for resolveHostname() function: try to resolve localhost to 127.0.0.1."; + } /** testing the method: static inline sal_Int32 SAL_CALL getServicePort( @@ -1411,58 +1297,31 @@ namespace osl_SocketAddr const ::rtl::OUString & strProtocolName= ::rtl::OUString::createFromAscii( "tcp" ) ); */ - class gettheServicePort : public CppUnit::TestFixture + class gettheServicePort : public ::testing::Test { public: - void gettheServicePort_001() - { - CPPUNIT_ASSERT_MESSAGE( "test for getServicePort() function: try to get ftp service port on TCP protocol.", - IP_PORT_FTP== ::osl::SocketAddr::getServicePort( aServiceFTP, aProtocolTCP ) ); - } - - void gettheServicePort_002() - { - CPPUNIT_ASSERT_MESSAGE( "test for getServicePort() function: try to get telnet service port on TCP protocol.", - IP_PORT_TELNET== ::osl::SocketAddr::getServicePort( aServiceTELNET, aProtocolTCP ) ); - } - - void gettheServicePort_003() - { - //Solaris has no service called "https", please see /etc/services - CPPUNIT_ASSERT_MESSAGE( "test for getServicePort() function: try to get netbios-ssn service port on UDP protocol.", - IP_PORT_NETBIOS_DGM == ::osl::SocketAddr::getServicePort( aServiceNETBIOS, aProtocolUDP ) ); - } - - void gettheServicePort_004() - { - CPPUNIT_ASSERT_MESSAGE( "test for getServicePort() function: try to get a service port which is not exist.", - OSL_INVALID_PORT == ::osl::SocketAddr::getServicePort( ::rtl::OUString::createFromAscii( "notexist" ), aProtocolUDP ) ); - } - - CPPUNIT_TEST_SUITE( gettheServicePort ); - CPPUNIT_TEST( gettheServicePort_001 ); - CPPUNIT_TEST( gettheServicePort_002 ); - CPPUNIT_TEST( gettheServicePort_003 ); - CPPUNIT_TEST( gettheServicePort_004 ); - CPPUNIT_TEST_SUITE_END( ); - }; // class gettheServicePort -// ----------------------------------------------------------------------------- + TEST_F(gettheServicePort, gettheServicePort_001) + { + ASSERT_TRUE(IP_PORT_FTP== ::osl::SocketAddr::getServicePort( aServiceFTP, aProtocolTCP )) << "test for getServicePort() function: try to get ftp service port on TCP protocol."; + } + + TEST_F(gettheServicePort, gettheServicePort_002) + { + ASSERT_TRUE(IP_PORT_TELNET== ::osl::SocketAddr::getServicePort( aServiceTELNET, aProtocolTCP )) << "test for getServicePort() function: try to get telnet service port on TCP protocol."; + } + TEST_F(gettheServicePort, gettheServicePort_003) + { + //Solaris has no service called "https", please see /etc/services + ASSERT_TRUE(IP_PORT_NETBIOS_DGM == ::osl::SocketAddr::getServicePort( aServiceNETBIOS, aProtocolUDP )) << "test for getServicePort() function: try to get netbios-ssn service port on UDP protocol."; + } -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::ctors, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::is, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::getHostname, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::getPort, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::setPort, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::setAddr, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::getAddr, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::operator_equal, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::getSocketAddrHandle, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::getLocalHostname, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::resolveHostname, "osl_SocketAddr"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(osl_SocketAddr::gettheServicePort, "osl_SocketAddr"); + TEST_F(gettheServicePort, gettheServicePort_004) + { + ASSERT_TRUE(OSL_INVALID_PORT == ::osl::SocketAddr::getServicePort( ::rtl::OUString::createFromAscii( "notexist" ), aProtocolUDP )) << "test for getServicePort() function: try to get a service port which is not exist."; + } } // namespace osl_SocketAddr @@ -1490,94 +1349,76 @@ namespace osl_Socket */ - class ctors : public CppUnit::TestFixture + class OslSocketCtors : public ::testing::Test { public: - oslSocket sHandle; - // initialization - void setUp( ) - { - sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); - } - - void tearDown( ) - { - sHandle = NULL; - } + oslSocket sHandle; + // initialization + void SetUp() + { + sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); + } + void TearDown() + { + sHandle = NULL; + } + }; - void ctors_none() - { - /// Socket constructor. - // ::osl::Socket sSocket; + TEST_F(OslSocketCtors, ctors_none) + { + /// Socket constructor. + // ::osl::Socket sSocket; - CPPUNIT_ASSERT_MESSAGE( "test for ctors_none constructor function: check if the socket was created successfully, if no exception occurred", - 1 == 1 ); - } + ASSERT_TRUE(1 == 1) << "test for ctors_none constructor function: check if the socket was created successfully, if no exception occurred"; + } - void ctors_acquire() - { - /// Socket constructor. - ::osl::Socket sSocket( sHandle ); + TEST_F(OslSocketCtors, ctors_acquire) + { + /// Socket constructor. + ::osl::Socket sSocket( sHandle ); - CPPUNIT_ASSERT_MESSAGE( "test for ctors_acquire constructor function: check if the socket was created successfully", - osl_Socket_TypeStream == sSocket.getType( ) ); - } + ASSERT_TRUE(osl_Socket_TypeStream == sSocket.getType( )) << "test for ctors_acquire constructor function: check if the socket was created successfully"; + } - void ctors_no_acquire() - { - /// Socket constructor. - ::osl::Socket sSocket( sHandle, SAL_NO_ACQUIRE ); + TEST_F(OslSocketCtors, ctors_no_acquire) + { + /// Socket constructor. + ::osl::Socket sSocket( sHandle, SAL_NO_ACQUIRE ); - CPPUNIT_ASSERT_MESSAGE(" test for ctors_no_acquire constructor function: check if the socket was created successfully", - osl_Socket_TypeStream == sSocket.getType( ) ); - } + ASSERT_TRUE(osl_Socket_TypeStream == sSocket.getType( )) << " test for ctors_no_acquire constructor function: check if the socket was created successfully"; + } - void ctors_copy_ctor() - { - ::osl::Socket sSocket( sHandle ); - /// Socket copy constructor. - ::osl::Socket copySocket( sSocket ); + TEST_F(OslSocketCtors, ctors_copy_ctor) + { + ::osl::Socket sSocket( sHandle ); + /// Socket copy constructor. + ::osl::Socket copySocket( sSocket ); - CPPUNIT_ASSERT_MESSAGE(" test for ctors_copy_ctor constructor function: create new Socket instance using copy constructor", - osl_Socket_TypeStream == copySocket.getType( ) ); - } + ASSERT_TRUE(osl_Socket_TypeStream == copySocket.getType( )) << " test for ctors_copy_ctor constructor function: create new Socket instance using copy constructor"; + } - void ctors_TypeRaw() - { + TEST_F(OslSocketCtors, ctors_TypeRaw) + { #ifdef WNT - oslSocket sHandleRaw = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeRaw, osl_Socket_ProtocolIp ); -// LLA: ? ::osl::Socket sSocket( sHandleRaw ); - CPPUNIT_ASSERT_MESSAGE( " type osl_Socket_TypeRaw socket create failed on UNX ", sHandleRaw != NULL); + oslSocket sHandleRaw = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeRaw, osl_Socket_ProtocolIp ); +// LLA: ? ::osl::Socket sSocket( sHandleRaw ); + ASSERT_TRUE(sHandleRaw != NULL) << " type osl_Socket_TypeRaw socket create failed on UNX "; #else - oslSocket sHandleRaw = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeRaw, osl_Socket_ProtocolIp ); - CPPUNIT_ASSERT_MESSAGE( " can't create socket with type osl_Socket_TypeRaw within UNX is ok.", sHandleRaw == NULL); + oslSocket sHandleRaw = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeRaw, osl_Socket_ProtocolIp ); + ASSERT_TRUE(sHandleRaw == NULL) << " can't create socket with type osl_Socket_TypeRaw within UNX is ok."; #endif - } - - void ctors_family_Ipx() - { - oslSocket sHandleIpx = osl_createSocket( osl_Socket_FamilyIpx, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); - CPPUNIT_ASSERT_MESSAGE( " family osl_Socket_FamilyIpx socket create failed! ", sHandleIpx != NULL); - ::osl::Socket sSocket( sHandleIpx ); //, SAL_NO_ACQUIRE ); - t_print("#Type is %d \n", sSocket.getType( ) ); - - CPPUNIT_ASSERT_MESSAGE(" test for create new Socket instance that family is osl_Socket_FamilyIpx", - osl_Socket_TypeStream == sSocket.getType( ) ); - } - - + } - CPPUNIT_TEST_SUITE( ctors ); - CPPUNIT_TEST( ctors_none ); - CPPUNIT_TEST( ctors_acquire ); - CPPUNIT_TEST( ctors_no_acquire ); - CPPUNIT_TEST( ctors_copy_ctor ); - CPPUNIT_TEST( ctors_TypeRaw ); - CPPUNIT_TEST( ctors_family_Ipx ); - CPPUNIT_TEST_SUITE_END(); + TEST_F(OslSocketCtors, ctors_family_Ipx) + { + oslSocket sHandleIpx = osl_createSocket( osl_Socket_FamilyIpx, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); + ASSERT_TRUE(sHandleIpx != NULL) << " family osl_Socket_FamilyIpx socket create failed! "; + ::osl::Socket sSocket( sHandleIpx ); //, SAL_NO_ACQUIRE ); + printf("#Type is %d \n", sSocket.getType( ) ); - }; // class ctors + ASSERT_TRUE(osl_Socket_TypeStream == sSocket.getType( )) << " test for create new Socket instance that family is osl_Socket_FamilyIpx"; + } /** testing the methods: @@ -1587,308 +1428,270 @@ namespace osl_Socket inline sal_Bool SAL_CALL operator==( const oslSocket socketHandle ) const; */ - class operators : public CppUnit::TestFixture + class operators : public ::testing::Test { public: oslSocket sHandle; // initialization - void setUp( ) + void SetUp( ) { sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); } - void tearDown( ) + void TearDown( ) { sHandle = NULL; } + }; // class operators + /** test writer's comment: - the assignment operator does not support direct assinment like: - ::osl::Socket sSocket = sHandle. + the assignment operator does not support direct assinment like: + ::osl::Socket sSocket = sHandle. */ - void operators_assignment_handle() - { - ::osl::Socket sSocket(sHandle); - ::osl::Socket assignSocket = sSocket.getHandle(); - - CPPUNIT_ASSERT_MESSAGE( "test for operators_assignment_handle function: test the assignment operator.", - osl_Socket_TypeStream == assignSocket.getType( ) ); - } - - void operators_assignment() - { - ::osl::Socket sSocket( sHandle ); - ::osl::Socket assignSocket = sSocket; - - CPPUNIT_ASSERT_MESSAGE( "test for operators_assignment function: assignment operator", - osl_Socket_TypeStream == assignSocket.getType( ) ); - } + TEST_F(operators, operators_assignment_handle) + { + ::osl::Socket sSocket(sHandle); + ::osl::Socket assignSocket = sSocket.getHandle(); - void operators_equal_handle_001() - { - /// Socket constructor. - ::osl::Socket sSocket( sHandle ); - ::osl::Socket equalSocket = sSocket; + ASSERT_TRUE(osl_Socket_TypeStream == assignSocket.getType( )) << "test for operators_assignment_handle function: test the assignment operator."; + } - CPPUNIT_ASSERT_MESSAGE(" test for operators_equal_handle_001 function: check equal.", - equalSocket == sHandle ); - } + TEST_F(operators, operators_assignment) + { + ::osl::Socket sSocket( sHandle ); + ::osl::Socket assignSocket = sSocket; - void operators_equal_handle_002() - { - /// Socket constructor. - ::osl::Socket equalSocket( osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeDgram, osl_Socket_ProtocolIp ) ); + ASSERT_TRUE(osl_Socket_TypeStream == assignSocket.getType( )) << "test for operators_assignment function: assignment operator"; + } - CPPUNIT_ASSERT_MESSAGE(" test for operators_equal_handle_001 function: check unequal.", - !( equalSocket == sHandle ) ); - } + TEST_F(operators, operators_equal_handle_001) + { + /// Socket constructor. + ::osl::Socket sSocket( sHandle ); + ::osl::Socket equalSocket = sSocket; - void operators_equal_001() - { - ::osl::Socket sSocket( sHandle ); - /// Socket copy constructor. - ::osl::Socket equalSocket( sSocket ); + ASSERT_TRUE(equalSocket == sHandle) << " test for operators_equal_handle_001 function: check equal."; + } - CPPUNIT_ASSERT_MESSAGE(" test for operators_equal function: check equal.", - equalSocket == sSocket ); - } + TEST_F(operators, operators_equal_handle_002) + { + /// Socket constructor. + ::osl::Socket equalSocket( osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeDgram, osl_Socket_ProtocolIp ) ); - void operators_equal_002() - { - ::osl::Socket sSocket( sHandle ); - /// Socket copy constructor. - ::osl::Socket equalSocket( osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeDgram, osl_Socket_ProtocolIp ) ); + ASSERT_TRUE(!( equalSocket == sHandle )) << " test for operators_equal_handle_001 function: check unequal."; + } - CPPUNIT_ASSERT_MESSAGE(" test for operators_equal_002 function: check unequal.", - !( equalSocket == sSocket ) ); - } + TEST_F(operators, operators_equal_001) + { + ::osl::Socket sSocket( sHandle ); + /// Socket copy constructor. + ::osl::Socket equalSocket( sSocket ); - CPPUNIT_TEST_SUITE( operators ); - CPPUNIT_TEST( operators_assignment_handle ); - CPPUNIT_TEST( operators_assignment ); - CPPUNIT_TEST( operators_equal_handle_001 ); - CPPUNIT_TEST( operators_equal_handle_002 ); - CPPUNIT_TEST( operators_equal_001 ); - CPPUNIT_TEST( operators_equal_002 ); - CPPUNIT_TEST_SUITE_END(); + ASSERT_TRUE(equalSocket == sSocket) << " test for operators_equal function: check equal."; + } - }; // class operators + TEST_F(operators, operators_equal_002) + { + ::osl::Socket sSocket( sHandle ); + /// Socket copy constructor. + ::osl::Socket equalSocket( osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeDgram, osl_Socket_ProtocolIp ) ); + ASSERT_TRUE(!( equalSocket == sSocket )) << " test for operators_equal_002 function: check unequal."; + } /** testing the methods: inline void SAL_CALL shutdown( oslSocketDirection Direction = osl_Socket_DirReadWrite ); inline void SAL_CALL close(); */ - class close : public CppUnit::TestFixture + class close : public ::testing::Test { public: oslSocket sHandle; // initialization - void setUp( ) + void SetUp( ) { sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); } - void tearDown( ) + void TearDown( ) { sHandle = NULL; } + }; // class close + TEST_F(close, close_001) + { + ::osl::Socket sSocket(sHandle); + sSocket.close(); - void close_001() - { - ::osl::Socket sSocket(sHandle); - sSocket.close(); - - CPPUNIT_ASSERT_MESSAGE( "test for close_001 function: this function is reserved for test.", - sSocket.getHandle() == sHandle ); - } - - void close_002() - { -//#if defined(LINUX) - ::osl::AcceptorSocket asSocket( osl_Socket_FamilyInet, osl_Socket_ProtocolIp, osl_Socket_TypeStream ); - AcceptorThread myAcceptorThread( asSocket, aHostIp1 ); - myAcceptorThread.create(); - - thread_sleep( 1 ); - //when accepting, close the socket, the thread will not block for accepting - //man close:Any locks held on the file it was associated with, and owned by the process, are removed - asSocket.close(); - //thread_sleep( 2 ); - myAcceptorThread.join(); - - CPPUNIT_ASSERT_MESSAGE( "test for close when is accepting: the socket will quit accepting status.", - myAcceptorThread.isOK() == sal_True ); -//#endif - } - - // to cover "if ( pSockAddrIn->sin_addr.s_addr == htonl(INADDR_ANY) )" in osl_closeSocket( ) - void close_003() - { - ::osl::AcceptorSocket asSocket( osl_Socket_FamilyInet, osl_Socket_ProtocolIp, osl_Socket_TypeStream ); - AcceptorThread myAcceptorThread( asSocket, aHostIpZero ); - myAcceptorThread.create(); + ASSERT_TRUE(sSocket.getHandle() == sHandle) << "test for close_001 function: this function is reserved for test."; + } - thread_sleep( 1 ); - asSocket.close(); - myAcceptorThread.join(); + TEST_F(close, close_002) + { + // This blocks forever on FreeBSD +#if defined(LINUX) + ::osl::AcceptorSocket asSocket( osl_Socket_FamilyInet, osl_Socket_ProtocolIp, osl_Socket_TypeStream ); + AcceptorThread myAcceptorThread( asSocket, aHostIp1 ); + myAcceptorThread.create(); + + thread_sleep( 1 ); + //when accepting, close the socket, the thread will not block for accepting + //man close:Any locks held on the file it was associated with, and owned by the process, are removed + asSocket.close(); + //thread_sleep( 2 ); + myAcceptorThread.join(); - CPPUNIT_ASSERT_MESSAGE( "test for close when is accepting: the socket will quit accepting status.", - myAcceptorThread.isOK() == sal_True ); - } + ASSERT_TRUE(myAcceptorThread.isOK() == sal_True) << "test for close when is accepting: the socket will quit accepting status."; +#endif + } - CPPUNIT_TEST_SUITE( close ); - CPPUNIT_TEST( close_001 ); - CPPUNIT_TEST( close_002 ); - CPPUNIT_TEST( close_003 ); - CPPUNIT_TEST_SUITE_END(); + // to cover "if ( pSockAddrIn->sin_addr.s_addr == htonl(INADDR_ANY) )" in osl_closeSocket( ) + TEST_F(close, close_003) + { + // This blocks forever on FreeBSD +#if defined(LINUX) + ::osl::AcceptorSocket asSocket( osl_Socket_FamilyInet, osl_Socket_ProtocolIp, osl_Socket_TypeStream ); + AcceptorThread myAcceptorThread( asSocket, aHostIpZero ); + myAcceptorThread.create(); + + thread_sleep( 1 ); + asSocket.close(); + myAcceptorThread.join(); - }; // class close + ASSERT_TRUE(myAcceptorThread.isOK() == sal_True) << "test for close when is accepting: the socket will quit accepting status."; +#endif + } /** testing the method: inline void SAL_CALL getLocalAddr( SocketAddr &Addr ) const; */ - class getLocalAddr : public CppUnit::TestFixture + class getLocalAddr : public ::testing::Test { public: oslSocket sHandle; // initialization - void setUp( ) + void SetUp( ) { sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); } - void tearDown( ) + void TearDown( ) { sHandle = NULL; } + }; // class getLocalAddr - // get the Address of the local end of the socket - void getLocalAddr_001() - { - ::osl::Socket sSocket(sHandle); - ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT8 ); - ::osl::SocketAddr saLocalSocketAddr; - - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); - - sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); - ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); - CPPUNIT_ASSERT_MESSAGE( suError1, sal_True == bOK1 ); - - sSocket.getLocalAddr( saLocalSocketAddr ); + // get the Address of the local end of the socket + TEST_F(getLocalAddr, getLocalAddr_001) + { + ::osl::Socket sSocket(sHandle); + ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT8 ); + ::osl::SocketAddr saLocalSocketAddr; - sal_Bool bOK = compareUString( saLocalSocketAddr.getHostname( 0 ), sSocket.getLocalHost() ) ; + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); - CPPUNIT_ASSERT_MESSAGE( "test for getLocalAddr function: first create a new socket, then a socket address, bind them, and check the address.", - sal_True == bOK ); - } + sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); + ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); + ASSERT_TRUE(sal_True == bOK1) << suError1.pData; + sSocket.getLocalAddr( saLocalSocketAddr ); - CPPUNIT_TEST_SUITE( getLocalAddr ); - CPPUNIT_TEST( getLocalAddr_001 ); - CPPUNIT_TEST_SUITE_END(); + sal_Bool bOK = compareUString( saLocalSocketAddr.getHostname( 0 ), sSocket.getLocalHost() ) ; - }; // class getLocalAddr + ASSERT_TRUE(sal_True == bOK) << "test for getLocalAddr function: first create a new socket, then a socket address, bind them, and check the address."; + } /** testing the method: inline sal_Int32 SAL_CALL getLocalPort() const; */ - class getLocalPort : public CppUnit::TestFixture + class getLocalPort : public ::testing::Test { public: oslSocket sHandle; // initialization - void setUp( ) + void SetUp( ) { sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); } - void tearDown( ) + void TearDown( ) { sHandle = NULL; } + }; // class getLocalPort + TEST_F(getLocalPort, getLocalPort_001) + { + ::osl::Socket sSocket(sHandle); + ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT7 ); // aHostIp1 localhost + ::osl::SocketAddr saLocalSocketAddr; + + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); + + sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); + ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); + ASSERT_TRUE(sal_True == bOK1) << suError1.pData; + sal_Bool bOK = ( IP_PORT_MYPORT7 == sSocket.getLocalPort( ) ); - void getLocalPort_001() - { - ::osl::Socket sSocket(sHandle); - ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT7 ); // aHostIp1 localhost - ::osl::SocketAddr saLocalSocketAddr; - - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); - - sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); - ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); - CPPUNIT_ASSERT_MESSAGE( suError1, sal_True == bOK1 ); - sal_Bool bOK = ( IP_PORT_MYPORT7 == sSocket.getLocalPort( ) ); - - CPPUNIT_ASSERT_MESSAGE( "test for getLocalPort function: first create a new socket, then a socket address, bind them, and check the port.", - sal_True == bOK ); - } + ASSERT_TRUE(sal_True == bOK) << "test for getLocalPort function: first create a new socket, then a socket address, bind them, and check the port."; + } - /** test writer's comment: +/** test writer's comment: - the invalid port number can not be set by giving invalid port number - such as 99999 or -1, it will convert to ( x mod 65535 ), so it will always be - valid, the only instance that the getLocalPort returns OSL_INVALID_PORT - is when saSocketAddr itself is an invalid one, that is , the IP or host name - can not be found, then the created socket address is not valid. - */ - void getLocalPort_002() - { - ::osl::SocketAddr saBindSocketAddr( aHostIpInval, IP_PORT_TELNET); + the invalid port number can not be set by giving invalid port number + such as 99999 or -1, it will convert to ( x mod 65535 ), so it will always be + valid, the only instance that the getLocalPort returns OSL_INVALID_PORT + is when saSocketAddr itself is an invalid one, that is , the IP or host name + can not be found, then the created socket address is not valid. +*/ +#if 0 + TEST_F(getLocalPort, getLocalPort_002) + { + ::osl::SocketAddr saBindSocketAddr( aHostIpInval, IP_PORT_TELNET); #ifdef WNT - ::osl::Socket sSocket(sHandle); - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); // sal_True); - sSocket.bind( saBindSocketAddr ); - //Invalid IP, so bind should fail - ::rtl::OUString suError = outputError(::rtl::OUString::valueOf(sSocket.getLocalPort( )), - ::rtl::OUString::valueOf((sal_Int32)OSL_INVALID_PORT), - "test for getLocalPort function: first create a new socket, then an invalid socket address, bind them, and check the port assigned."); - sal_Bool bOK = ( OSL_INVALID_PORT == sSocket.getLocalPort( ) ); - (void)bOK; + ::osl::Socket sSocket(sHandle); + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); // sal_True); + sSocket.bind( saBindSocketAddr ); + //Invalid IP, so bind should fail + ::rtl::OUString suError = outputError(::rtl::OUString::valueOf(sSocket.getLocalPort( )), + ::rtl::OUString::valueOf((sal_Int32)OSL_INVALID_PORT), + "test for getLocalPort function: first create a new socket, then an invalid socket address, bind them, and check the port assigned."); + sal_Bool bOK = ( OSL_INVALID_PORT == sSocket.getLocalPort( ) ); + (void)bOK; #else - //on Unix, if Addr is not an address of type osl_Socket_FamilyInet, it returns OSL_INVALID_PORT - ::rtl::OUString suError = ::rtl::OUString::createFromAscii( "on Unix, if Addr is not an address of type osl_Socket_FamilyInet, it returns OSL_INVALID_PORT, but can not create Addr of that case"); + //on Unix, if Addr is not an address of type osl_Socket_FamilyInet, it returns OSL_INVALID_PORT + ::rtl::OUString suError = ::rtl::OUString::createFromAscii( "on Unix, if Addr is not an address of type osl_Socket_FamilyInet, it returns OSL_INVALID_PORT, but can not create Addr of that case"); #endif - CPPUNIT_ASSERT_MESSAGE( suError, sal_False ); - - } - - void getLocalPort_003() - { - ::osl::Socket sSocket(sHandle); - ::osl::SocketAddr saBindSocketAddr( getLocalIP(), IP_PORT_INVAL); - - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); + ASSERT_TRUE(sal_False) << suError; - sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); - ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); - CPPUNIT_ASSERT_MESSAGE( suError1, sal_True == bOK1 ); - ::rtl::OUString suError = outputError(::rtl::OUString::valueOf(sSocket.getLocalPort( )), - ::rtl::OUString::createFromAscii("34463"), - "test for getLocalPort function: first create a new socket, then an invalid socket address, bind them, and check the port assigned"); - sal_Bool bOK = ( sSocket.getLocalPort( ) >= 1 && sSocket.getLocalPort( ) <= 65535); + } +#endif - CPPUNIT_ASSERT_MESSAGE( suError, sal_True == bOK ); - } + TEST_F(getLocalPort, getLocalPort_003) + { + ::osl::Socket sSocket(sHandle); + ::osl::SocketAddr saBindSocketAddr( getLocalIP(), IP_PORT_INVAL); - CPPUNIT_TEST_SUITE( getLocalPort ); - CPPUNIT_TEST( getLocalPort_001 ); -// LLA: CPPUNIT_TEST( getLocalPort_002 ); - CPPUNIT_TEST( getLocalPort_003 ); - CPPUNIT_TEST_SUITE_END(); + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); - }; // class getLocalPort + sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); + ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); + ASSERT_TRUE(sal_True == bOK1) << suError1.pData; + ::rtl::OUString suError = outputError(::rtl::OUString::valueOf(sSocket.getLocalPort( )), + ::rtl::OUString::createFromAscii("34463"), + "test for getLocalPort function: first create a new socket, then an invalid socket address, bind them, and check the port assigned"); + sal_Bool bOK = ( sSocket.getLocalPort( ) >= 1 && sSocket.getLocalPort( ) <= 65535); + ASSERT_TRUE(sal_True == bOK) << suError.pData; + } /** testing the method: inline ::rtl::OUString SAL_CALL getLocalHost() const; @@ -1898,79 +1701,71 @@ namespace osl_Socket will return hostname of current processor such as "aegean.PRC.Sun.COM" */ - class getLocalHost : public CppUnit::TestFixture + class getLocalHost : public ::testing::Test { public: oslSocket sHandle; // initialization - void setUp( ) + void SetUp( ) { sHandle = osl_createSocket( osl_Socket_FamilyInet, osl_Socket_TypeStream, osl_Socket_ProtocolIp ); } - void tearDown( ) + void TearDown( ) { sHandle = NULL; } + }; // class getLocalHost - - void getLocalHost_001() - { - ::osl::Socket sSocket(sHandle); - //port number from IP_PORT_HTTP1 to IP_PORT_MYPORT6, mindyliu - ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT6 ); - - sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); - - sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); - ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); - CPPUNIT_ASSERT_MESSAGE( suError1, sal_True == bOK1 ); - sal_Bool bOK; - ::rtl::OUString suError; + TEST_F(getLocalHost, getLocalHost_001) + { + ::osl::Socket sSocket(sHandle); + //port number from IP_PORT_HTTP1 to IP_PORT_MYPORT6, mindyliu + ::osl::SocketAddr saBindSocketAddr( aHostIp1, IP_PORT_MYPORT6 ); + + sSocket.setOption( osl_Socket_OptionReuseAddr, 1 ); //sal_True); + + sal_Bool bOK1 = sSocket.bind( saBindSocketAddr ); + ::rtl::OUString suError1 = ::rtl::OUString::createFromAscii("Socket bind fail:") + sSocket.getErrorAsString(); + ASSERT_TRUE(sal_True == bOK1) << suError1.pData; + sal_Bool bOK; + ::rtl::OUString suError; #ifdef WNT - bOK = compareUString( sSocket.getLocalHost( ), getThisHostname( ) ) ; - suError = outputError(sSocket.getLocalHost( ), getThisHostname( ), + bOK = compareUString( sSocket.getLocalHost( ), getThisHostname( ) ) ; + suError = outputError(sSocket.getLocalHost( ), getThisHostname( ),
[... 2555 lines stripped ...]