void CTcpClientTestUPnP1::ReceivedL ( const TRuntimeCtxId& /*aSender*/, const TNodeId& /*aRecipient*/, TSignatureBase& aMessage ) { if ( aMessage.IsMessage<TCFFactory::TPeerFoundOrCreated> () ) { const TCFFactory::TPeerFoundOrCreated& msg = message_cast < const TCFFactory::TPeerFoundOrCreated > ( aMessage ); iClientId = msg.iNodeId; CompleteSelf ( KErrNone ); } else if ( aMessage.IsMessage<TUpnpMessage::TResponse > () ) { TUpnpMessage::TResponse& msg = message_cast< TUpnpMessage::TResponse >(aMessage); RBuf8 responseBodyData; responseBodyData.CreateMax ( msg.iBodyData.Length () ); responseBodyData.FillZ ( msg.iBodyData.Length () ); msg.iBodyData.CopyOut ( responseBodyData ); responseBodyData.Close (); msg.iBodyData.Free (); CompleteSelf(EPass); } else if ( aMessage.IsMessage<TEBase::TError > () ) { iLogger.WriteFormat(_L("<i>TEBase::TError..... </i>")); CompleteSelf(EFail); } }
void CTcpServerTestUPnP23::RecvComplete ( RMBufChain& aData ) { RBuf8 responseBuf; responseBuf.CreateMax ( aData.Length () ); aData.CopyOut ( responseBuf ); aData.Free (); if ( responseBuf.FindF ( KExpectedResponse ) != KErrNotFound ) { iSocketHandler.Recv (); responseBuf.Close (); return; } if ( responseBuf.FindF ( KResponseData ) == KErrNotFound ) { iResponse = EFail; // test case failed } else { iResponse = EPass; // test case passed } responseBuf.Close (); CompleteSelf ( KErrNone ); }
void CTcpServerTestUPnP40::RecvComplete ( RMBufChain& aData ) { RBuf8 responseBuf; responseBuf.CreateMax ( aData.Length () ); aData.CopyOut ( responseBuf ); aData.Free (); if ( responseBuf.FindF ( KExpectedResponse3 ) != KErrNotFound ) { iSocketHandler.Recv (); responseBuf.Close (); return; } if ( responseBuf.FindF ( KResponseData ) != KErrNotFound ) { TRAP_IGNORE(iSendChain.CreateL ( KData32 )); iSocketHandler.Send ( iSendChain ); responseBuf.Close (); return; } if ( responseBuf.FindF ( KExpectedResponse32 ) != KErrNotFound ) { iResponse = EPass; // test case Passed } else { iResponse = EFail; // test case failed } responseBuf.Close (); CompleteSelf ( KErrNone ); }
TVerdict CBigSendRecvRtp::doTestStepL() /** * @return - TVerdict code */ { SetTestStepResult(EFail); if(KErrNone == InitSocketsL()) { iIpAddrDest1.SetPort(9000); RBuf8 sendBuf; sendBuf.CreateMax(KBufferSize1); sendBuf.CleanupClosePushL(); RBuf8 recvBuf; recvBuf.CreateMax(KBufferSize1); recvBuf.CleanupClosePushL(); /* Fill the buffer with given character upto its length */ sendBuf.Fill('Q'); TRequestStatus status; /* do a Send of the data */ iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status); User::WaitForRequest(status); User::LeaveIfError(status.Int()); /* Now do a Receive */ recvBuf.FillZ(); iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status); User::WaitForRequest(status); User::LeaveIfError(status.Int()); /* Obtain a TPtr of the data excluding the RTP header */ TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize); TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize); /* Check if the data received is the same as the data sent */ TInt ret = sendBufPtr.Compare(recvBufPtr); if(ret == 0) { /* Increase the buffer size and fill it up with given data */ sendBuf.ReAlloc(KBufferSize2); recvBuf.ReAlloc(KBufferSize2); sendBuf.Fill('Q', KBufferSize2); /* Send the larger data */ iRtpSocket.SendTo(sendBuf, iIpAddrDest1, NULL, status); User::WaitForRequest(status); User::LeaveIfError(status.Int()); /* Now do a Receive */ recvBuf.FillZ(KBufferSize2); iRtpSocket.RecvFrom(recvBuf,iIpAddrDest1,NULL,status); User::WaitForRequest(status); User::LeaveIfError(status.Int()); /* Get pointer to data and compare both of them */ TPtr8 sendBufPtr = sendBuf.MidTPtr(KRtpHeaderSize); TPtr8 recvBufPtr = recvBuf.MidTPtr(KRtpHeaderSize); TInt ret = sendBufPtr.Compare(recvBufPtr); if(ret == 0) { SetTestStepResult(EPass); } } CleanupStack::PopAndDestroy(2); } return TestStepResult(); }
LOCAL_C TInt CreateVerifyFileX(const TDesC& aFileName, TInt aSize, RFs& aFs, TInt aPattern) // // Create and verify a file. // { // Note, the directory structure is provided by MakeFileName(). Hence it // is assumed at this point that the path to the file exists already. RFile file; TInt r; r = file.Replace(aFs, aFileName, EFileWrite); if (r!=KErrNone) { LogError( r, KReplace, aFileName, EFileWrite, 0 ); return(r); } // Grow it to the specified size by writing a pattern buffer to it // Alternate the pattern buffer each time RBuf8 wBuf; r = wBuf.CreateMax(KCreateFileBufSize); if(r != KErrNone) { LogError(r, KMemory, aFileName, 0, 0, __LINE__); wBuf.Close(); file.Close(); return(r); } TInt i; if (aPattern) { // ascending pattern for (i = 0; i < KCreateFileBufSize; i++) { wBuf[i] = (TUint8) i; } } else { // descending pattern for (i = 0; i < KCreateFileBufSize; i++) { wBuf[i] = (TUint8) ((KCreateFileBufSize - 1) - i); } } TInt pos; TInt chunkSize; TInt sectorCount = 0; for (pos = 0; pos < aSize; pos += chunkSize) { wBuf[0]=(TUint8)i; // Insert sector count chunkSize = Min((aSize-pos), KCreateFileBufSize); r = file.Write(pos, wBuf, chunkSize); if (r != KErrNone) { LogError(r, KWrite, aFileName, pos, chunkSize, __LINE__); file.Close(); wBuf.Close(); return(r); } sectorCount++; } // Flush it r=file.Flush(); if (r!=KErrNone) { LogError( r, KFlush, aFileName, 0, 0, __LINE__); file.Close(); wBuf.Close(); return(r); } // Test still works if this is commented out just doesn't verify // Read back and verify it RBuf8 rBuf; r = rBuf.CreateMax(KCreateFileBufSize); if(r != KErrNone) { LogError( r, KMemory, aFileName, 0, 0, __LINE__); file.Close(); wBuf.Close(); rBuf.Close(); return(KErrGeneral); } for (pos = 0;pos < aSize; pos += chunkSize) { chunkSize = Min((aSize-pos), KCreateFileBufSize); r = file.Read(pos, rBuf, chunkSize); if (r != KErrNone) { LogError(r, KRead, aFileName, pos, 0, __LINE__); file.Close(); wBuf.Close(); rBuf.Close(); return(r); } wBuf[0] = (TUint8) i; // Insert sector count wBuf.SetLength(chunkSize); r = rBuf.Compare(wBuf); if (r != 0) { LogError(r, KDataCompare, aFileName, 0, 0, __LINE__); file.Close(); wBuf.Close(); rBuf.Close(); return(KErrGeneral); } } // file.Close(); wBuf.Close(); rBuf.Close(); return(KErrNone); }