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 } |