You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2015/09/05 09:59:22 UTC

svn commit: r1701357 [2/5] - /openoffice/trunk/main/sal/qa/osl/socket/

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 ...]