datacommsserver/esockserver/test/TE_Socket/SocketTestSection9.cpp
branchRCL_3
changeset 9 77effd21b2c9
parent 0 dfb7c4ff071f
equal deleted inserted replaced
5:68ef71f0cd72 9:77effd21b2c9
   599     
   599     
   600     SetTestStepResult(verdict);
   600     SetTestStepResult(verdict);
   601     return verdict;
   601     return verdict;
   602     }
   602     }
   603 
   603 
       
   604 // Test step 9.9
       
   605 //
       
   606 // Test ESoRecvOneOrMoreNoLength IPC
       
   607 //
       
   608 const TDesC& CSocketTest9_9::GetTestName()
       
   609     {
       
   610     _LIT(ret,"Test9.9");
       
   611     return ret;
       
   612     }
       
   613 
       
   614 enum TVerdict CSocketTest9_9::InternalDoTestStepL( void )
       
   615     {
       
   616     TVerdict verdict = EPass;
       
   617     
       
   618     Logger().WriteFormat(_L("Test Purpose: Test RecvOneOrMore (no length) API"));
       
   619     
       
   620     // connect to esock
       
   621     Logger().WriteFormat(_L("Attempting to connect to socket server"));
       
   622     RSocketServ ss;
       
   623     TInt ret = OptimalConnect(ss);
       
   624     CleanupClosePushL(ss);
       
   625     Logger().WriteFormat(_L("Connect returned %S"), &EpocErrorToText(ret));
       
   626     TESTL(KErrNone == ret);
       
   627     
       
   628     RSocket sk;
       
   629     Logger().WriteFormat(_L("Opening a socket on Dummy protocol 2"));
       
   630     ret = sk.Open(ss, _L("Dummy Protocol 2"));
       
   631     CleanupClosePushL(sk);
       
   632     Logger().WriteFormat(_L("Open returned %S"), &EpocErrorToText(ret));
       
   633     TESTL(KErrNone == ret);
       
   634     
       
   635     Logger().WriteFormat(_L("Connecting socket"));
       
   636     TSockAddr addr;
       
   637     TRequestStatus rstat;
       
   638     sk.Connect(addr, rstat);
       
   639     User::WaitForRequest(rstat);
       
   640     Logger().WriteFormat(_L("Connect status %S"), &EpocErrorToText(rstat.Int()));
       
   641     TESTL(KErrNone == rstat.Int());
       
   642     
       
   643     Logger().WriteFormat(_L("Trying RecvOneOrMore (no length)"));
       
   644     TBuf8<10> buf;
       
   645     sk.RecvOneOrMore(buf, 0, rstat);
       
   646     TRequestStatus sstat;
       
   647     _LIT8(KTestString, "Hello");
       
   648     sk.Send(KTestString(), 0, sstat);
       
   649     User::WaitForRequest(rstat);
       
   650     Logger().WriteFormat(_L("RecvOneOrMore status %S"), &EpocErrorToText(rstat.Int()));
       
   651     TESTL(KErrNone == rstat.Int());
       
   652     User::WaitForRequest(sstat);
       
   653     Logger().WriteFormat(_L("Send status %S"), &EpocErrorToText(sstat.Int()));
       
   654     TESTL(KErrNone == sstat.Int());
       
   655     TESTL(buf == KTestString());
       
   656     
       
   657     CleanupStack::Pop(&sk);
       
   658     sk.Close();
       
   659     CleanupStack::Pop(&ss);
       
   660     ss.Close();
       
   661     
       
   662     SetTestStepResult(verdict);
       
   663     return verdict;
       
   664     }