Update contrib.
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __TSU_MMF_SRSSNK_H__
17 #define __TSU_MMF_SRSSNK_H__
21 #include <testframework.h>
22 #include <mmf/server/mmfdatapath.h>
24 #include "CmmfTestControllerUIDs.hrh"
25 #include <mmf/plugin/mmfformatimplementationuids.hrh>
28 #include <mmf/common/mmffourcc.h>
29 #include <mmf/common/mmfcontroller.h>
30 #include <mmf/server/mmfdes.h>
31 #include <mmf/server/mmffile.h>
32 #include <mmf/server/mmfurl.h>
33 #include <mmf/server/mmfaudioinput.h>
34 #include <mmf/server/mmfaudiooutput.h>
35 #include "../../../../../mmplugins/mmfwplugins/src/Plugin/Format/MmfWAVFormat/mmfwavformat.h"
37 const TInt KTestBufferSize = 1032; // 1024 + 8
38 const TInt KTestDataSize = 51200; // 50K
39 const TInt KTestOverDataSize = KTestDataSize + 20;
41 const TInt KTestReadSize = KTestBufferSize/2;
42 const TInt KTestOverReadSize = KTestBufferSize + 10;
44 const TInt KTestWriteSize = KTestBufferSize/2;
45 const TInt KTestOverWriteSize = KTestBufferSize + 10;
48 class CTestSuite_MMF_SRSSNK;
54 ESourceTypeFileHandle,
69 : iFileSize(-1), iErr(KErrNone)
74 MAsyncEventHandler *iEventHandler;
79 const TUid KTestDummyUid = { -1 };
80 class CMMFTestBuffer : public CMMFBuffer
84 : CMMFBuffer(KTestDummyUid)
87 TUint BufferSize() const
92 MDataSink* CreateFileSinkL(TSinkType aSinkType, RFs& aFs, const TDesC& aFileName);
93 MDataSource* CreateFileSourceL(TSourceType aSourceType, RFs& aFs, const TDesC& aFileName);
94 MDataSource* CreateFileHandleSourceL(RFs& aFs, const TDesC& aFileName);
96 class CMMFDummySource : public CBase, public MDataSource, public MAsyncEventHandler
101 void SetExpectedEmptyCount(TInt aExpectedEmptyCount)
102 { iExpectedEmptyCount = aExpectedEmptyCount; }
104 TBool BufferEmptiedOk()
106 TBool bufferEmptiedOk = iBufferEmptiedOk;
108 ResetBufferEmptiedOk();
110 return bufferEmptiedOk;
113 void ResetBufferEmptiedOk()
114 { iBufferEmptiedOk = EFalse ; iEmptyCount = 0 ; iErrorCount = 0 ; iExpectedEmptyCount = 1; }
117 TFourCC SourceDataTypeCode(TMediaId aMediaId);
118 void FillBufferL(CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId aMediaId);
119 void BufferEmptiedL(CMMFBuffer* aBuffer);
120 TBool CanCreateSourceBuffer();
121 CMMFBuffer* CreateSourceBufferL(TMediaId aMediaId, TBool &aReference);
123 // MAsyncEventHandler
124 TInt SendEventToClient(const TMMFEvent& aEvent);
127 { ResetBufferEmptiedOk() ; return iError; }
130 { return iErrorCount; }
133 { iFillBuffer = ETrue; }
135 void SetActiveScheduler()
136 { iActiveScheduler = CActiveScheduler::Current(); }
138 void ClearActiveScheduler()
139 { iActiveScheduler = NULL; }
141 CMMFBuffer* MmfBuffer()
145 void ConstructSourceL(const TDesC8& aInitData);
148 TFourCC iSourceDataTypeCode;
149 TBool iBufferEmptiedOk;
152 TInt iExpectedEmptyCount;
154 CActiveScheduler *iActiveScheduler;
160 CMMFBuffer* iBuffer; // buffer returned in BufferEmptiedL callback
164 class CMMFDummySink : public CBase, public MDataSink, public MAsyncEventHandler
169 void SetExpectedFillCount(TInt aExpectedFillCount)
170 { iExpectedFillCount = aExpectedFillCount; }
172 TBool BufferFilledOk()
174 TBool bufferFilledOk = iBufferFilledOk;
176 ResetBufferFilledOk();
178 return bufferFilledOk;
181 void ResetBufferFilledOk()
182 { iBufferFilledOk = EFalse ; iFillCount = 0 ; iErrorCount = 0 ; iExpectedFillCount = 1; }
184 void BufferFilledError();
187 TFourCC SinkDataTypeCode(TMediaId aMediaId);
188 void EmptyBufferL(CMMFBuffer* aBuffer, MDataSource* aSupplier, TMediaId aMediaId);
189 void BufferFilledL(CMMFBuffer* aBuffer);
190 TBool CanCreateSinkBuffer();
191 CMMFBuffer* CreateSinkBufferL(TMediaId aMediaId, TBool &aReference);
193 // MAsyncEventHandler
194 TInt SendEventToClient(const TMMFEvent& aEvent);
197 { ResetBufferFilledOk() ; return iError; }
200 { return iErrorCount; }
202 CMMFBuffer* MmfBuffer()
206 void ConstructSinkL(const TDesC8& aInitData);
209 TFourCC iSinkDataTypeCode;
210 TBool iBufferFilledOk;
213 TInt iExpectedFillCount;
215 CActiveScheduler *iActiveScheduler;
219 CMMFBuffer* iBuffer; // buffer returned in BufferFilledL callback
226 : iSource(NULL), iSink(NULL)
229 TTestStep(MDataSource* aSource)
230 : iSource(aSource), iSink(NULL)
233 TTestStep(MDataSink* aSink)
234 : iSource(NULL), iSink(aSink)
237 TTestStep(MDataSource* aSource, MDataSink* aSink)
238 : iSource(aSource), iSink(aSink)
241 virtual TVerdict DoTestStepL() = 0;
243 virtual void DoTestPreambleL();
244 virtual TVerdict DoTestPostambleL(TBool aCheck);
245 virtual TVerdict DoNegativeTestPostambleL();
246 virtual MDataSource* CreateSourceL(TSourceType aSourceType, HBufC8* aDes);
249 MDataSource* iSource;
254 class TFileTestStep : public TTestStep
258 : iFileFailureExpected(EFalse)
261 TFileTestStep(MDataSource* aSource)
262 : TTestStep(aSource), iFileFailureExpected(EFalse)
265 TFileTestStep(MDataSink* aSink)
266 : TTestStep(aSink), iFileFailureExpected(EFalse)
269 TFileTestStep(MDataSource* aSource, MDataSink* aSink)
270 : TTestStep(aSource, aSink), iFileFailureExpected(EFalse)
273 TVerdict DoTestPostambleL(TBool aCheck);
276 TBool iFileFailureExpected;
279 class TReadBufferTestStep : public TFileTestStep
282 TReadBufferTestStep(MDataSource* aSource, CMMFBuffer* aBuffer, TInt aPosition, const TDes8& aSourceDes)
283 : TFileTestStep(aSource), iBuffer(aBuffer), iPosition(aPosition), iSourceDes(aSourceDes), iAsynchronousRead(EFalse)
284 { InitRandomNumberGenerator(); }
286 TReadBufferTestStep(MDataSource* aSource, CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aSink, const TDes8& aSourceDes)
287 : TFileTestStep(aSource, aSink), iBuffer(aBuffer), iPosition(aPosition), iSourceDes(aSourceDes), iAsynchronousRead(EFalse)
288 { InitRandomNumberGenerator(); }
290 void InitRandomNumberGenerator()
293 seedTime.UniversalTime();
294 iSeed = seedTime.Int64();
297 void SetPosition(TInt aPosition)
298 { iPosition = aPosition; }
300 void SetAsynchronousRead(TBool aAsynchronousRead)
301 { iAsynchronousRead = aAsynchronousRead; }
303 void RandomiseBuffer();
311 const TDes8& iSourceDes;
313 TBool iAsynchronousRead;
316 class TWriteBufferTestStep : public TFileTestStep
319 TWriteBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer)
320 : TFileTestStep(aSink), iBuffer(aBuffer), iPosition(0), iAsynchronousWrite(EFalse)
321 { InitRandomNumberGenerator(); }
323 TWriteBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition)
324 : TFileTestStep(aSink), iBuffer(aBuffer), iPosition(aPosition), iAsynchronousWrite(EFalse)
325 { InitRandomNumberGenerator(); }
327 TWriteBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, MDataSource* aSource)
328 : TFileTestStep(aSource, aSink), iBuffer(aBuffer), iPosition(0), iAsynchronousWrite(EFalse)
329 { InitRandomNumberGenerator(); }
331 TWriteBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSource)
332 : TFileTestStep(aSource, aSink), iBuffer(aBuffer), iPosition(aPosition), iAsynchronousWrite(EFalse)
333 { InitRandomNumberGenerator(); }
335 void InitRandomNumberGenerator()
338 seedTime.UniversalTime();
339 iSeed = seedTime.Int64();
342 void SetPosition(TInt aPosition)
343 { iPosition = aPosition; }
345 void SetAsynchronousWrite(TBool aAsynchronousWrite)
346 { iAsynchronousWrite = aAsynchronousWrite; }
348 void RandomiseBuffer();
350 TVerdict DoTestPostambleL(TBool aCheck);
351 virtual TInt CheckDestinationL() = 0;
358 TBool iAsynchronousWrite;
361 class TWriteBufferToDescriptorTestStep : public TWriteBufferTestStep
364 TWriteBufferToDescriptorTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes)
365 : TWriteBufferTestStep(aSink, aBuffer), iDestinationDes(aDestinationDes), iCopyOfDestinationDes(aCopyOfDestinationDes)
368 TWriteBufferToDescriptorTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes)
369 : TWriteBufferTestStep(aSink, aBuffer, aPosition), iDestinationDes(aDestinationDes), iCopyOfDestinationDes(aCopyOfDestinationDes)
372 TWriteBufferToDescriptorTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, MDataSource* aSource, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes)
373 : TWriteBufferTestStep(aSink, aBuffer, aSource), iDestinationDes(aDestinationDes), iCopyOfDestinationDes(aCopyOfDestinationDes)
376 TWriteBufferToDescriptorTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSource, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes)
377 : TWriteBufferTestStep(aSink, aBuffer, aPosition, aSource), iDestinationDes(aDestinationDes), iCopyOfDestinationDes(aCopyOfDestinationDes)
380 TInt CheckDestinationL();
383 const TDes8& iDestinationDes;
384 TDes8& iCopyOfDestinationDes;
387 class TWriteBufferToFileTestStep : public TWriteBufferTestStep
390 TWriteBufferToFileTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes)
391 : TWriteBufferTestStep(aSink, aBuffer), iFsSession(aFsSession), iDestinationFileName(aDestinationFileName), iCopyOfDestinationDes(aCopyOfDestinationDes)
394 TWriteBufferToFileTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes)
395 : TWriteBufferTestStep(aSink, aBuffer, aPosition), iFsSession(aFsSession), iDestinationFileName(aDestinationFileName), iCopyOfDestinationDes(aCopyOfDestinationDes)
398 TWriteBufferToFileTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, MDataSource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes)
399 : TWriteBufferTestStep(aSink, aBuffer, aSource), iFsSession(aFsSession), iDestinationFileName(aDestinationFileName), iCopyOfDestinationDes(aCopyOfDestinationDes)
402 TWriteBufferToFileTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes)
403 : TWriteBufferTestStep(aSink, aBuffer, aPosition, aSource), iFsSession(aFsSession), iDestinationFileName(aDestinationFileName), iCopyOfDestinationDes(aCopyOfDestinationDes)
406 TInt CheckDestinationL();
407 void DoTestPreambleL();
411 const TFileName& iDestinationFileName;
412 TDes8& iCopyOfDestinationDes;
416 class TNewSourceTestStep : public TFileTestStep
419 TNewSourceTestStep(TUid aUid, TDesC8& aConfigDes)
420 : iUid(aUid), iConfigDes(&aConfigDes)
423 TVerdict DoTestStepL();
431 class TSourceTypeTestStep : public TTestStep
434 TSourceTypeTestStep(MDataSource* aSource, TUid aUid, TFourCC aFourCC, TBool aCanSetSourceDataType)
435 : TTestStep(aSource), iUid(aUid), iFourCC(aFourCC), iCanSetSourceDataType(aCanSetSourceDataType)
438 TVerdict DoTestStepL();
443 TBool iCanSetSourceDataType;
446 class TCanCreateSourceBufferTestStep : public TTestStep
449 TCanCreateSourceBufferTestStep(MDataSource* aSource, TBool aCanCreateSourceBuffer)
450 : TTestStep(aSource), iCanCreateSourceBuffer(aCanCreateSourceBuffer)
453 TVerdict DoTestStepL();
456 TBool iCanCreateSourceBuffer;
459 class TSourceSampleConvertTestStep : public TTestStep
462 TSourceSampleConvertTestStep(MDataSource* aSource, TBool aSourceSampleConvert)
463 : TTestStep(aSource), iSourceSampleConvert(aSourceSampleConvert)
466 TVerdict DoTestStepL();
469 TBool iSourceSampleConvert;
472 class TCreateSourceBuffer1TestStep : public TTestStep, public MAsyncEventHandler
475 TCreateSourceBuffer1TestStep(TSourceType aSourceType, MDataSink* aSink, TUid aExpectedType, TBool aExpectedRef, TInt aExpectedMaxLength = 0)
476 : TTestStep(NULL, aSink), iSourceType(aSourceType), iExpectedType(aExpectedType), iExpectedRef(aExpectedRef), iExpectedMaxLength(aExpectedMaxLength)
479 TVerdict DoTestStepL();
480 TInt SendEventToClient(const TMMFEvent& aEvent);
483 TSourceType iSourceType;
484 CMMFBuffer* iSinkBuffer;
487 TInt iExpectedMaxLength;
490 class TCreateSourceBuffer2TestStep : public TTestStep, public MAsyncEventHandler
493 TCreateSourceBuffer2TestStep(TSourceType aSourceType, MDataSink* aSink, CMMFBuffer* aSinkBuffer, TUid aExpectedType, TBool aExpectedRef, TInt aExpectedMaxLength = 0)
494 : TTestStep(NULL, aSink), iSourceType(aSourceType), iSinkBuffer(aSinkBuffer), iExpectedType(aExpectedType), iExpectedRef(aExpectedRef), iExpectedMaxLength(aExpectedMaxLength)
497 TVerdict DoTestStepL();
498 TInt SendEventToClient(const TMMFEvent& aEvent);
501 TSourceType iSourceType;
502 CMMFBuffer* iSinkBuffer;
505 TInt iExpectedMaxLength;
508 class TSourceThreadLogonTestStep : public TFileTestStep
511 TSourceThreadLogonTestStep(MDataSource* aSource, MAsyncEventHandler* aEventHandler)
512 : TFileTestStep(aSource), iEventHandler(aEventHandler)
515 TVerdict DoTestStepL();
518 MAsyncEventHandler* iEventHandler;
521 class TNegotiateSourceTestStep : public TTestStep
524 TNegotiateSourceTestStep(MDataSource* aSource, MDataSink* aSink)
525 : TTestStep(aSource, aSink)
528 TVerdict DoTestStepL();
531 class TFillBufferTestStep : public TReadBufferTestStep
534 TFillBufferTestStep(MDataSource* aSource, CMMFBuffer* aBuffer, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
535 : TReadBufferTestStep(aSource, aBuffer, 0, aSink, aSourceDes), iReadLength(aReadLength)
538 void SetReadLength(TInt aReadLength)
539 { iReadLength = aReadLength; }
541 TVerdict DoTestStepL();
547 class TFillLastBufferTestStep : public TReadBufferTestStep
550 TFillLastBufferTestStep(TUid aSourceUid, TDesC8& aConfigDes, CMMFDummySink* aSink, const TDes8& aSourceDes)
551 : TReadBufferTestStep(NULL, NULL, 0, aSink, aSourceDes), iSourceUid(aSourceUid), iConfigDes(aConfigDes)
554 TVerdict DoTestStepL();
561 class TReadLastBufferTestStep : public TReadBufferTestStep
564 TReadLastBufferTestStep(CMMFClip* aClip, CMMFDummySink* aSink, const TDes8& aSourceDes)
565 : TReadBufferTestStep(aClip, NULL, 0, aSink, aSourceDes)
568 TVerdict DoTestStepL();
571 class TReadLastBuffer2TestStep : public TReadBufferTestStep
574 TReadLastBuffer2TestStep(CMMFClip* aClip, CMMFDummySink* aSink, const TDes8& aSourceDes)
575 : TReadBufferTestStep(aClip, NULL, 0, aSink, aSourceDes)
578 TVerdict DoTestStepL();
581 class TReadLastBuffer3TestStep : public TReadBufferTestStep
584 TReadLastBuffer3TestStep(CMMFClip* aClip, const TDes8& aSourceDes)
585 : TReadBufferTestStep(aClip, NULL, 0, NULL, aSourceDes)
588 TVerdict DoTestStepL();
592 class TNewSinkTestStep : public TFileTestStep
595 TNewSinkTestStep(TUid aUid, TDesC8& aConfigDes)
596 : iUid(aUid), iConfigDes(&aConfigDes)
599 TVerdict DoTestStepL();
607 class TSinkTypeTestStep : public TTestStep
610 TSinkTypeTestStep(MDataSink* aSink, TUid aUid, TFourCC aFourCC, TBool aCanSetSinkDataType)
611 : TTestStep(aSink), iUid(aUid), iFourCC(aFourCC), iCanSetSinkDataType(aCanSetSinkDataType)
614 TVerdict DoTestStepL();
619 TBool iCanSetSinkDataType;
622 class TCanCreateSinkBufferTestStep : public TTestStep
625 TCanCreateSinkBufferTestStep(MDataSink* aSink, TBool aCanCreateSinkBuffer)
626 : TTestStep(aSink), iCanCreateSinkBuffer(aCanCreateSinkBuffer)
629 TVerdict DoTestStepL();
632 TBool iCanCreateSinkBuffer;
635 class TCreateSinkBufferTestStep0 : public TTestStep
638 TCreateSinkBufferTestStep0(MDataSink* aSink, TUid aExpectedType, TBool aExpectedRef, TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
639 : TTestStep(aSource, aSink), iExpectedType(aExpectedType), iExpectedRef(aExpectedRef), iExpectedMaxLength(aExpectedMaxLength)
642 TVerdict DoTestStepL();
647 CMMFFormatDecode* iFormat;
648 TInt iExpectedMaxLength;
651 class TCreateSinkBufferTestStep : public TTestStep
654 TCreateSinkBufferTestStep(TUid aExpectedType, TBool aExpectedRef, CMMFFormatDecode* aFormat,
655 TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
656 : TTestStep(aSource, NULL), iExpectedType(aExpectedType), iExpectedRef(aExpectedRef), iFormat(aFormat), iExpectedMaxLength(aExpectedMaxLength)
660 TVerdict DoTestPostambleL(TBool aCheck);
665 CMMFFormatDecode* iFormat;
666 TInt iExpectedMaxLength;
669 class TCreateSinkBufferTestStep1 : public TCreateSinkBufferTestStep
672 TCreateSinkBufferTestStep1(TUid aExpectedType, TBool aExpectedRef, CMMFFormatDecode* aFormat,
673 TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
674 : TCreateSinkBufferTestStep(aExpectedType, aExpectedRef, aFormat, aExpectedMaxLength, aSource)
678 TVerdict DoTestStepL();
681 class TCreateSinkBufferTestStep2 : public TCreateSinkBufferTestStep
684 TCreateSinkBufferTestStep2(TUid aExpectedType, TBool aExpectedRef, CMMFFormatDecode* aFormat,
685 TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
686 : TCreateSinkBufferTestStep(aExpectedType, aExpectedRef, aFormat, aExpectedMaxLength, aSource)
690 TVerdict DoTestStepL();
693 class TCreateSinkBufferTestStep3 : public TCreateSinkBufferTestStep
696 TCreateSinkBufferTestStep3(TUid aExpectedType, TBool aExpectedRef, CMMFFormatDecode* aFormat,
697 TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
698 : TCreateSinkBufferTestStep(aExpectedType, aExpectedRef, aFormat, aExpectedMaxLength, aSource)
702 TVerdict DoTestStepL();
705 class TCreateSinkBufferTestStep4 : public TCreateSinkBufferTestStep
708 TCreateSinkBufferTestStep4(TUid aExpectedType, TBool aExpectedRef, CMMFFormatDecode* aFormat,
709 TInt aExpectedMaxLength = 0, CMMFDummySource* aSource = NULL)
710 : TCreateSinkBufferTestStep(aExpectedType, aExpectedRef, aFormat, aExpectedMaxLength, aSource)
714 TVerdict DoTestStepL();
717 class TSinkThreadLogonTestStep : public TFileTestStep
720 TSinkThreadLogonTestStep(MDataSink* aSink, MAsyncEventHandler* aEventHandler)
721 : TFileTestStep(aSink), iEventHandler(aEventHandler)
724 TVerdict DoTestStepL();
727 MAsyncEventHandler* iEventHandler;
730 class TNegotiateTestStep : public TTestStep
733 TNegotiateTestStep(MDataSink* aSink, MDataSource* aSource)
734 : TTestStep(aSource, aSink)
737 TVerdict DoTestStepL();
740 class TEmptyBufferTestStep : public TWriteBufferToDescriptorTestStep
743 TEmptyBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, CMMFDummySource* aSource, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes)
744 : TWriteBufferToDescriptorTestStep(aSink, aBuffer, aSource, aDestinationDes, aCopyOfDestinationDes), iWriteLength((aBuffer != NULL) ? aBuffer->BufferSize() : 0)
747 void SetWriteLength(TInt aWriteLength)
748 { iWriteLength = aWriteLength; }
750 TVerdict DoTestStepL();
757 class TClipBytesFreeTestStep : public TFileTestStep
760 TClipBytesFreeTestStep(CMMFClip* aClip, TInt64 aExpectedBytesFree)
761 : TFileTestStep(aClip, aClip), iExpectedBytesFree(aExpectedBytesFree)
764 TVerdict DoTestStepL();
767 TInt64 iExpectedBytesFree;
770 class TClipSizeTestStep : public TFileTestStep
773 TClipSizeTestStep(CMMFClip* aClip, TInt aExpectedSize)
774 : TFileTestStep(aClip, aClip), iExpectedSize(aExpectedSize)
777 TVerdict DoTestStepL();
783 class TClipSetSizeTestStep : public TFileTestStep
786 TClipSetSizeTestStep(CMMFClip* aClip, TBool aCanSetSize)
787 : TFileTestStep(aClip, aClip), iCanSetSize(aCanSetSize)
790 TVerdict DoTestStepL();
796 class TClipDeleteTestStep : public TFileTestStep
799 TClipDeleteTestStep(CMMFClip* aClip)
800 : TFileTestStep(aClip, aClip)
803 TVerdict DoTestStepL();
806 class TClipReadBufferTestStep : public TReadBufferTestStep
809 TClipReadBufferTestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
810 : TReadBufferTestStep(aClip, aBuffer, aPosition, aSink, aSourceDes), iReadLength(aReadLength)
813 void SetReadLength(TInt aReadLength)
814 { iReadLength = aReadLength; }
816 TVerdict DoTestStepL();
822 class TClipReadBuffer2TestStep : public TReadBufferTestStep
825 TClipReadBuffer2TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
826 : TReadBufferTestStep(aClip, aBuffer, aPosition, aSink, aSourceDes), iReadLength(aReadLength)
829 void SetReadLength(TInt aReadLength)
830 { iReadLength = aReadLength; }
832 TVerdict DoTestStepL();
838 class TClipReadBuffer3TestStep : public TReadBufferTestStep
841 TClipReadBuffer3TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, const TDes8& aSourceDes, TUint aReadLength = 0)
842 : TReadBufferTestStep(aClip, aBuffer, aPosition, aSourceDes), iReadLength(aReadLength)
845 void SetReadLength(TInt aReadLength)
846 { iReadLength = aReadLength; }
848 TVerdict DoTestStepL();
854 class TClipReadBuffer4TestStep : public TReadBufferTestStep
857 TClipReadBuffer4TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
858 : TReadBufferTestStep(aClip, aBuffer, aPosition, aSink, aSourceDes), iReadLength(aReadLength), iExpectedReadLength(aReadLength)
861 void SetReadLength(TInt aReadLength)
862 { iReadLength = aReadLength; }
864 void SetExpectedReadLength(TInt aExpectedReadLength)
865 { iExpectedReadLength = aExpectedReadLength; }
867 TVerdict DoTestStepL();
871 TInt iExpectedReadLength;
875 class TDescriptorClipWriteBufferTestStep : public TWriteBufferToDescriptorTestStep
878 TDescriptorClipWriteBufferTestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
879 : TWriteBufferToDescriptorTestStep(aClip, aBuffer, aPosition, aSource, aDestinationDes, aCopyOfDestinationDes), iWriteLength(aWriteLength)
882 void SetWriteLength(TInt aWriteLength)
883 { iWriteLength = aWriteLength; }
885 TVerdict DoTestStepL();
891 class TDescriptorClipWriteBuffer2TestStep : public TWriteBufferToDescriptorTestStep
894 TDescriptorClipWriteBuffer2TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
895 : TWriteBufferToDescriptorTestStep(aClip, aBuffer, aPosition, aSource, aDestinationDes, aCopyOfDestinationDes), iWriteLength(aWriteLength)
898 void SetWriteLength(TInt aWriteLength)
899 { iWriteLength = aWriteLength; }
901 TVerdict DoTestStepL();
907 class TDescriptorClipWriteBuffer3TestStep : public TWriteBufferToDescriptorTestStep
910 TDescriptorClipWriteBuffer3TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, const TDes8& aDestinationDes, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
911 : TWriteBufferToDescriptorTestStep(aClip, aBuffer, aPosition, aDestinationDes, aCopyOfDestinationDes), iWriteLength(aWriteLength)
914 void SetWriteLength(TInt aWriteLength)
915 { iWriteLength = aWriteLength; }
917 TVerdict DoTestStepL();
923 class TNewFileSourceTestStep : public TNewSourceTestStep
926 TNewFileSourceTestStep(TUid aUid, TDesC8& aConfigDes)
927 : TNewSourceTestStep(aUid, aConfigDes)
930 TVerdict DoTestStepL();
933 class TFileSourceThreadLogonTestStep : public TSourceThreadLogonTestStep
936 TFileSourceThreadLogonTestStep(MDataSource* aSource, MAsyncEventHandler* aEventHandler, TInt aFileSize)
937 : TSourceThreadLogonTestStep(aSource, aEventHandler), iFileSize(aFileSize)
940 TVerdict DoTestStepL();
946 class TFileFillBufferTestStep : public TFillBufferTestStep
949 TFileFillBufferTestStep(TSourceType aSourceType, TDesC& aFileName, CMMFBuffer* aBuffer, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
950 : TFillBufferTestStep(NULL, aBuffer, aSink, aSourceDes, aReadLength), iFileName(aFileName), iSourceType(aSourceType)
953 TVerdict DoTestStepL();
957 TSourceType iSourceType;
960 class TFileFillBuffer2TestStep : public TFileFillBufferTestStep
963 TFileFillBuffer2TestStep(TSourceType aSourceType, TDesC& aFileName, CMMFBuffer* aBuffer, CMMFDummySink* aSink, const TDes8& aSourceDes)
964 : TFileFillBufferTestStep(aSourceType, aFileName, aBuffer, aSink, aSourceDes)
967 TVerdict DoTestStepL();
970 class TFileFillBuffer3TestStep : public TFileFillBufferTestStep
973 TFileFillBuffer3TestStep(TSourceType aSourceType, TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, CMMFDummySink* aSink, const TDes8& aSourceDes, TInt aReadLength = 0)
974 : TFileFillBufferTestStep(aSourceType, aFileName, NULL, aSink, aSourceDes, aReadLength), iBufferArray(aBufferArray), iMaxRequestCount(20)
977 void SetMaxRequestCount(TInt aMaxRequestCount)
978 { iMaxRequestCount = aMaxRequestCount; }
980 TVerdict DoTestStepL();
983 RPointerArray<CMMFBuffer>* iBufferArray;
984 TInt iMaxRequestCount;
987 class TFileFillBuffer4TestStep : public TFillBufferTestStep
990 TFileFillBuffer4TestStep(MDataSource* aSource, RPointerArray<CMMFBuffer>* aBufferArray, CMMFDummySink* aSink, const TDes8& aSourceDes, TInt aReadLength = 0)
991 : TFillBufferTestStep(aSource, NULL, aSink, aSourceDes, aReadLength), iBufferArray(aBufferArray), iMaxRequestCount(3)
994 void SetMaxRequestCount(TInt aMaxRequestCount)
995 { iMaxRequestCount = aMaxRequestCount; }
997 TVerdict DoTestStepL();
1000 RPointerArray<CMMFBuffer>* iBufferArray;
1001 TInt iMaxRequestCount;
1004 class TFileReadBufferTestStep : public TClipReadBufferTestStep
1007 TFileReadBufferTestStep(TSourceType aSourceType, const TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1008 : TClipReadBufferTestStep(NULL, aBuffer, aPosition, aSink, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName)
1011 TVerdict DoTestStepL();
1014 TSourceType iSourceType;
1015 const TDesC& iFileName;
1019 class TFileReadBuffer2TestStep : public TClipReadBuffer2TestStep
1022 TFileReadBuffer2TestStep(TSourceType aSourceType, const TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1023 : TClipReadBuffer2TestStep(NULL, aBuffer, aPosition, aSink, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName)
1026 TVerdict DoTestStepL();
1029 TSourceType iSourceType;
1030 const TDesC& iFileName;
1033 class TFileReadBuffer3TestStep : public TClipReadBuffer3TestStep
1036 TFileReadBuffer3TestStep(TSourceType aSourceType, const TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, const TDes8& aSourceDes, TUint aReadLength = 0)
1037 : TClipReadBuffer3TestStep(NULL, aBuffer, aPosition, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName)
1040 void SetReadLength(TInt aReadLength)
1041 { iReadLength = aReadLength; }
1043 TVerdict DoTestStepL();
1046 TSourceType iSourceType;
1047 const TDesC& iFileName;
1050 class TFileReadBuffer4TestStep : public TClipReadBuffer4TestStep
1053 TFileReadBuffer4TestStep(TSourceType aSourceType, const TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1054 : TClipReadBuffer4TestStep(NULL, aBuffer, aPosition, aSink, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName)
1057 TVerdict DoTestStepL();
1060 TSourceType iSourceType;
1061 const TDesC& iFileName;
1064 class TFileReadBuffer5TestStep : public TClipReadBuffer4TestStep
1067 TFileReadBuffer5TestStep(TSourceType aSourceType, const TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1068 : TClipReadBuffer4TestStep(NULL, NULL, aPosition, aSink, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName), iBufferArray(aBufferArray), iMaxRequestCount(20)
1071 void SetMaxRequestCount(TInt aMaxRequestCount)
1072 { iMaxRequestCount = aMaxRequestCount; }
1074 TVerdict DoTestStepL();
1077 TSourceType iSourceType;
1078 const TDesC& iFileName;
1079 RPointerArray<CMMFBuffer>* iBufferArray;
1080 TInt iMaxRequestCount;
1083 class TFileReadBuffer6TestStep : public TClipReadBuffer4TestStep
1086 TFileReadBuffer6TestStep(TSourceType aSourceType, const TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1087 : TClipReadBuffer4TestStep(NULL, NULL, aPosition, aSink, aSourceDes, aReadLength), iSourceType(aSourceType), iFileName(aFileName), iBufferArray(aBufferArray), iMaxRequestCount(20)
1090 void SetMaxRequestCount(TInt aMaxRequestCount)
1091 { iMaxRequestCount = aMaxRequestCount; }
1093 TVerdict DoTestStepL();
1096 TSourceType iSourceType;
1097 const TDesC& iFileName;
1098 RPointerArray<CMMFBuffer>* iBufferArray;
1099 TInt iMaxRequestCount;
1102 class TFileReadBuffer7TestStep : public TClipReadBuffer4TestStep
1105 TFileReadBuffer7TestStep(CMMFClip* aSource, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1106 : TClipReadBuffer4TestStep(aSource, NULL, aPosition, aSink, aSourceDes, aReadLength), iBufferArray(aBufferArray), iMaxRequestCount(3)
1109 void SetMaxRequestCount(TInt aMaxRequestCount)
1110 { iMaxRequestCount = aMaxRequestCount; }
1112 TVerdict DoTestStepL();
1115 RPointerArray<CMMFBuffer>* iBufferArray;
1116 TInt iMaxRequestCount;
1119 class TFileReadBuffer8TestStep : public TClipReadBuffer4TestStep
1122 TFileReadBuffer8TestStep(CMMFClip* aSource, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySink* aSink, const TDes8& aSourceDes, TUint aReadLength = 0)
1123 : TClipReadBuffer4TestStep(aSource, NULL, aPosition, aSink, aSourceDes, aReadLength), iBufferArray(aBufferArray), iMaxRequestCount(3)
1126 void SetMaxRequestCount(TInt aMaxRequestCount)
1127 { iMaxRequestCount = aMaxRequestCount; }
1129 TVerdict DoTestStepL();
1132 RPointerArray<CMMFBuffer>* iBufferArray;
1133 TInt iMaxRequestCount;
1137 class TNewFileSinkTestStep : public TNewSinkTestStep
1140 TNewFileSinkTestStep(TUid aUid, TDesC8& aConfigDes)
1141 : TNewSinkTestStep(aUid, aConfigDes)
1144 TVerdict DoTestStepL();
1147 class TFileSinkSetSizeTestStep : public TClipSetSizeTestStep
1150 TFileSinkSetSizeTestStep(CMMFClip* aClip, TBool aCanSetSize)
1151 : TClipSetSizeTestStep(aClip, aCanSetSize)
1154 TVerdict DoTestStepL();
1157 class TFileSinkThreadLogonTestStep : public TSinkThreadLogonTestStep
1160 TFileSinkThreadLogonTestStep(MDataSink* aSink, MAsyncEventHandler* aEventHandler, TInt aFileSize)
1161 : TSinkThreadLogonTestStep(aSink, aEventHandler), iFileSize(aFileSize)
1164 TVerdict DoTestStepL();
1170 class TFileEmptyBufferTestStep : public TWriteBufferToFileTestStep
1173 TFileEmptyBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1174 : TWriteBufferToFileTestStep(aSink, aBuffer, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes), iWriteLength((aBuffer != NULL) ? aBuffer->BufferSize() : 0)
1177 void SetWriteLength(TInt aWriteLength)
1178 { iWriteLength = aWriteLength; }
1180 TVerdict DoTestStepL();
1186 class TFileEmptyBuffer2TestStep : public TFileEmptyBufferTestStep
1189 TFileEmptyBuffer2TestStep(TSinkType aSinkType, CMMFBuffer* aBuffer, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1190 : TFileEmptyBufferTestStep(NULL, aBuffer, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes), iSinkType(aSinkType)
1193 TVerdict DoTestStepL();
1195 TSinkType iSinkType;
1198 class TFileEmptyBuffer3TestStep : public TFileEmptyBuffer2TestStep
1201 TFileEmptyBuffer3TestStep(TSinkType aSinkType, CMMFBuffer* aBuffer, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1202 : TFileEmptyBuffer2TestStep(aSinkType, aBuffer, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes)
1205 TVerdict DoTestStepL();
1207 void DoTestPreambleL();
1208 TVerdict DoTestPostambleL(TBool aCheck);
1211 class TFileEmptyBuffer4TestStep : public TFileEmptyBuffer3TestStep
1214 TFileEmptyBuffer4TestStep(TSinkType aSinkType, RPointerArray<CMMFBuffer>* aBufferArray, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1215 : TFileEmptyBuffer3TestStep(aSinkType, NULL, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes), iBufferArray(aBufferArray), iMaxRequestCount(20)
1218 void SetMaxRequestCount(TInt aMaxRequestCount)
1219 { iMaxRequestCount = aMaxRequestCount; }
1221 TVerdict DoTestStepL();
1223 void DoTestPreambleL();
1224 TVerdict DoTestPostambleL(TBool aCheck);
1227 RPointerArray<CMMFBuffer>* iBufferArray;
1228 TInt iMaxRequestCount;
1231 class TFileEmptyBuffer5TestStep : public TFileEmptyBuffer4TestStep
1234 TFileEmptyBuffer5TestStep(TSinkType aSinkType, RPointerArray<CMMFBuffer>* aBufferArray, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1235 : TFileEmptyBuffer4TestStep(aSinkType, aBufferArray, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes)
1238 TInt CheckDestinationL();
1241 class TFileEmptyBuffer6TestStep : public TFileEmptyBufferTestStep
1244 TFileEmptyBuffer6TestStep(MDataSink* aSink, RPointerArray<CMMFBuffer>* aBufferArray, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFile, TDes8& aCopyOfDestinationDes)
1245 : TFileEmptyBufferTestStep(aSink, NULL, aSource, aFsSession, aDestinationFile, aCopyOfDestinationDes), iBufferArray(aBufferArray), iMaxRequestCount(3)
1248 TVerdict DoTestStepL();
1249 TInt CheckDestinationL();
1252 RPointerArray<CMMFBuffer>* iBufferArray;
1253 TInt iMaxRequestCount;
1256 class TFileWriteBufferTestStep : public TWriteBufferToFileTestStep
1259 TFileWriteBufferTestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1260 : TWriteBufferToFileTestStep(aClip, aBuffer, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iWriteLength(aWriteLength)
1261 { iAsynchronousWrite = ETrue; }
1263 void SetWriteLength(TInt aWriteLength)
1264 { iWriteLength = aWriteLength; }
1266 TVerdict DoTestStepL();
1272 class TFileWriteBuffer2TestStep : public TFileWriteBufferTestStep
1275 TFileWriteBuffer2TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1276 : TFileWriteBufferTestStep(aClip, aBuffer, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes, aWriteLength)
1277 { iAsynchronousWrite = ETrue; }
1279 TVerdict DoTestStepL();
1282 class TFileWriteBuffer3TestStep : public TFileWriteBufferTestStep
1285 TFileWriteBuffer3TestStep(CMMFClip* aClip, CMMFBuffer* aBuffer, TInt aPosition, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1286 : TFileWriteBufferTestStep(aClip, aBuffer, aPosition, NULL, aFsSession, aDestinationFileName, aCopyOfDestinationDes, aWriteLength)
1289 TVerdict DoTestStepL();
1292 class TFileWriteBuffer4TestStep : public TWriteBufferToFileTestStep
1295 TFileWriteBuffer4TestStep(TSinkType aSinkType, TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1296 : TWriteBufferToFileTestStep(NULL, aBuffer, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iWriteLength(aWriteLength), iSinkType(aSinkType), iFileName(aFileName)
1297 { iAsynchronousWrite = ETrue; }
1299 void SetWriteLength(TInt aWriteLength)
1300 { iWriteLength = aWriteLength; }
1302 TVerdict DoTestStepL();
1306 TSinkType iSinkType;
1310 class TFileWriteBuffer5TestStep : public TFileWriteBuffer4TestStep
1313 TFileWriteBuffer5TestStep(TSinkType aSinkType, TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1314 : TFileWriteBuffer4TestStep(aSinkType, aFileName, aBuffer, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes, aWriteLength)
1317 TInt CheckDestinationL();
1318 TVerdict DoNegativeTestPostambleL();
1321 class TFileWriteBuffer6TestStep : public TWriteBufferToFileTestStep
1324 TFileWriteBuffer6TestStep(TSinkType aSinkType, TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1325 : TWriteBufferToFileTestStep(NULL, aBuffer, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iWriteLength(aWriteLength), iSinkType(aSinkType), iFileName(aFileName)
1328 void SetWriteLength(TInt aWriteLength)
1329 { iWriteLength = aWriteLength; }
1331 TVerdict DoTestStepL();
1335 TSinkType iSinkType;
1339 class TFileWriteBuffer7TestStep : public TWriteBufferToFileTestStep
1342 TFileWriteBuffer7TestStep(TSinkType aSinkType, TDesC& aFileName, CMMFBuffer* aBuffer, TInt aPosition, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1343 : TWriteBufferToFileTestStep(NULL, aBuffer, aPosition, aFsSession, aDestinationFileName, aCopyOfDestinationDes),iSinkType(aSinkType), iFileName(aFileName), iWriteLength(aWriteLength)
1346 void SetWriteLength(TInt aWriteLength)
1347 { iWriteLength = aWriteLength; }
1349 TVerdict DoTestStepL();
1352 TSinkType iSinkType;
1357 class TFileWriteBuffer8TestStep : public TWriteBufferToFileTestStep
1360 TFileWriteBuffer8TestStep(TSinkType aSinkType, TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1361 : TWriteBufferToFileTestStep(NULL, NULL, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iSinkType(aSinkType), iFileName(aFileName), iWriteLength(aWriteLength), iBufferArray(aBufferArray), iMaxRequestCount(20)
1364 void SetWriteLength(TInt aWriteLength)
1365 { iWriteLength = aWriteLength; }
1367 void SetMaxRequestCount(TInt aMaxRequestCount)
1368 { iMaxRequestCount = aMaxRequestCount; }
1370 TVerdict DoTestStepL();
1373 TSinkType iSinkType;
1376 RPointerArray<CMMFBuffer>* iBufferArray;
1377 TInt iMaxRequestCount;
1380 class TFileWriteBuffer9TestStep : public TWriteBufferToFileTestStep
1383 TFileWriteBuffer9TestStep(TSinkType aSinkType, TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1384 : TWriteBufferToFileTestStep(NULL, NULL, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iFileName(aFileName), iWriteLength(aWriteLength), iBufferArray(aBufferArray), iMaxRequestCount(20), iSinkType(aSinkType)
1387 void SetWriteLength(TInt aWriteLength)
1388 { iWriteLength = aWriteLength; }
1390 void SetMaxRequestCount(TInt aMaxRequestCount)
1391 { iMaxRequestCount = aMaxRequestCount; }
1393 TVerdict DoTestStepL();
1398 RPointerArray<CMMFBuffer>* iBufferArray;
1399 TInt iMaxRequestCount;
1400 TSinkType iSinkType;
1403 class TFileWriteBuffer10TestStep : public TFileWriteBuffer8TestStep
1406 TFileWriteBuffer10TestStep(TSinkType aSinkType, TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1407 : TFileWriteBuffer8TestStep(aSinkType, aFileName, aBufferArray, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes, aWriteLength)
1408 { iMaxRequestCount = 3; }
1410 TInt CheckDestinationL();
1413 class TFileWriteBuffer11TestStep : public TFileWriteBuffer9TestStep
1416 TFileWriteBuffer11TestStep(TSinkType aSinkType, TDesC& aFileName, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1417 : TFileWriteBuffer9TestStep(aSinkType, aFileName, aBufferArray, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes, aWriteLength)
1418 { iMaxRequestCount = 3; }
1420 TInt CheckDestinationL();
1423 class TFileWriteBuffer12TestStep : public TWriteBufferToFileTestStep
1426 TFileWriteBuffer12TestStep(MDataSink* aSink, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1427 : TWriteBufferToFileTestStep(aSink, NULL, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iWriteLength(aWriteLength), iBufferArray(aBufferArray), iMaxRequestCount(3)
1428 { ASSERT(iBufferArray->Count() == 5); }
1430 void SetWriteLength(TInt aWriteLength)
1431 { iWriteLength = aWriteLength; }
1433 void SetMaxRequestCount(TInt aMaxRequestCount)
1434 { iMaxRequestCount = aMaxRequestCount; }
1436 TVerdict DoTestStepL();
1437 TInt CheckDestinationL();
1442 RPointerArray<CMMFBuffer>* iBufferArray;
1443 TInt iMaxRequestCount;
1446 class TFileWriteBuffer13TestStep : public TWriteBufferToFileTestStep
1449 TFileWriteBuffer13TestStep(MDataSink* aSink, RPointerArray<CMMFBuffer>* aBufferArray, TInt aPosition, CMMFDummySource* aSource, RFs& aFsSession, const TFileName& aDestinationFileName, TDes8& aCopyOfDestinationDes, TUint aWriteLength = 0)
1450 : TWriteBufferToFileTestStep(aSink, NULL, aPosition, aSource, aFsSession, aDestinationFileName, aCopyOfDestinationDes), iWriteLength(aWriteLength), iBufferArray(aBufferArray), iMaxRequestCount(3)
1451 { ASSERT(iBufferArray->Count() == 5); }
1453 void SetWriteLength(TInt aWriteLength)
1454 { iWriteLength = aWriteLength; }
1456 void SetMaxRequestCount(TInt aMaxRequestCount)
1457 { iMaxRequestCount = aMaxRequestCount; }
1459 TVerdict DoTestStepL();
1460 TInt CheckDestinationL();
1465 RPointerArray<CMMFBuffer>* iBufferArray;
1466 TInt iMaxRequestCount;
1469 class TAudioInputCreateSourceBuffer1TestStep : public TTestStep
1472 TAudioInputCreateSourceBuffer1TestStep(CMMFAudioInput* aSource)
1473 : TTestStep(aSource)
1476 TVerdict DoTestStepL();
1479 class TAudioInputCreateSourceBuffer2TestStep : public TTestStep
1482 TAudioInputCreateSourceBuffer2TestStep(CMMFAudioInput* aSource, CMMFBuffer* aSinkBuffer)
1483 : TTestStep(aSource), iSinkBuffer(aSinkBuffer)
1486 TVerdict DoTestStepL();
1489 CMMFBuffer* iSinkBuffer;
1492 class TAudioInputFillBufferTestStep : public TTestStep
1495 TAudioInputFillBufferTestStep(MDataSource* aSource, CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1496 : TTestStep(aSource, aSink), iBuffer(aBuffer)
1499 TVerdict DoTestStepL();
1502 CMMFBuffer* iBuffer;
1505 class TAudioInputFillBuffer2TestStep : public TAudioInputFillBufferTestStep
1508 TAudioInputFillBuffer2TestStep(MDataSource* aSource, CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1509 : TAudioInputFillBufferTestStep(aSource, aBuffer, aSink)
1512 TVerdict DoTestStepL();
1515 class TAudioInputFillBuffer3TestStep : public TAudioInputFillBufferTestStep
1518 TAudioInputFillBuffer3TestStep(MDataSource* aSource, CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1519 : TAudioInputFillBufferTestStep(aSource, aBuffer, aSink)
1522 TVerdict DoTestStepL();
1525 class TAudioInputFillBuffer4TestStep : public TAudioInputFillBufferTestStep
1528 TAudioInputFillBuffer4TestStep(CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1529 : TAudioInputFillBufferTestStep(NULL, aBuffer, aSink)
1532 TVerdict DoTestStepL();
1535 class TAudioInputFillBuffer5TestStep : public TAudioInputFillBufferTestStep
1538 TAudioInputFillBuffer5TestStep(CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1539 : TAudioInputFillBufferTestStep(NULL, aBuffer, aSink)
1542 TVerdict DoTestStepL();
1545 class TAudioInputFillBuffer6TestStep : public TAudioInputFillBufferTestStep
1548 TAudioInputFillBuffer6TestStep(CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1549 : TAudioInputFillBufferTestStep(NULL, aBuffer, aSink)
1552 TVerdict DoTestStepL();
1555 class TAudioInputFillBuffer7TestStep : public TAudioInputFillBufferTestStep
1558 TAudioInputFillBuffer7TestStep(CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1559 : TAudioInputFillBufferTestStep(NULL, aBuffer, aSink)
1562 TVerdict DoTestStepL();
1565 class TAudioInputFillBuffer8TestStep : public TAudioInputFillBufferTestStep
1568 TAudioInputFillBuffer8TestStep(CMMFBuffer* aBuffer, CMMFDummySink* aSink)
1569 : TAudioInputFillBufferTestStep(NULL, aBuffer, aSink)
1572 TVerdict DoTestStepL();
1576 class TAudioOutputEmptyBufferTestStep : public TTestStep
1579 TAudioOutputEmptyBufferTestStep(MDataSink* aSink, CMMFBuffer* aBuffer, CMMFDummySource* aSource)
1580 : TTestStep(aSource, aSink), iBuffer(aBuffer), iAsynchronousWrite(EFalse)
1583 void SetAsynchronousWrite()
1584 { iAsynchronousWrite = ETrue; }
1586 TVerdict DoTestStepL();
1589 CMMFBuffer* iBuffer;
1590 TBool iAsynchronousWrite;
1593 class TAudioOutputEmptyBuffer2TestStep : public TAudioOutputEmptyBufferTestStep
1596 TAudioOutputEmptyBuffer2TestStep(MDataSink* aSink, CMMFBuffer* aBuffer, CMMFDummySource* aSource)
1597 : TAudioOutputEmptyBufferTestStep(aSink, aBuffer, aSource)
1598 { iAsynchronousWrite = ETrue; }
1600 TVerdict DoTestStepL();
1603 class TAudioOutputEmptyBuffer3TestStep : public TAudioOutputEmptyBufferTestStep
1606 TAudioOutputEmptyBuffer3TestStep(MDataSink* aSink, CMMFBuffer* aBuffer, CMMFDummySource* aSource)
1607 : TAudioOutputEmptyBufferTestStep(aSink, aBuffer, aSource)
1608 { iAsynchronousWrite = ETrue; }
1610 TVerdict DoTestStepL();
1613 class TAudioOutputEmptyBuffer4TestStep : public TAudioOutputEmptyBufferTestStep
1616 TAudioOutputEmptyBuffer4TestStep(CMMFBuffer* aBuffer, CMMFDummySource* aSource, MDataSource& aRealFormat)
1617 : TAudioOutputEmptyBufferTestStep(NULL, aBuffer, aSource), iRealFormat(aRealFormat)
1620 TVerdict DoTestStepL();
1623 MDataSource& iRealFormat;
1626 class TAudioOutputEmptyBuffer5TestStep : public TAudioOutputEmptyBufferTestStep
1629 TAudioOutputEmptyBuffer5TestStep(CMMFBuffer* aBuffer, CMMFDummySource* aSource, MDataSource& aRealFormat)
1630 : TAudioOutputEmptyBufferTestStep(NULL, aBuffer, aSource), iRealFormat(aRealFormat)
1633 TVerdict DoTestStepL();
1636 MDataSource& iRealFormat;
1639 class TAudioOutputEmptyBuffer6TestStep : public TAudioOutputEmptyBufferTestStep
1642 TAudioOutputEmptyBuffer6TestStep(CMMFBuffer* aBuffer, CMMFDummySource* aSource, MDataSource& aRealFormat)
1643 : TAudioOutputEmptyBufferTestStep(NULL, aBuffer, aSource), iRealFormat(aRealFormat)
1646 TVerdict DoTestStepL();
1649 MDataSource& iRealFormat;
1652 class TPrimeStopTestStep : public TFileTestStep
1655 TPrimeStopTestStep()
1658 virtual TVerdict DoTestStepL();
1662 class TPrimeStopSinkTestStep : public TFileTestStep
1665 TPrimeStopSinkTestStep()
1668 virtual TVerdict DoTestStepL();
1674 * CTestStep_MMF_SRSSNK, which is the base class for all
1675 * the SelfTest suite test steps.
1677 * @lib "TSU_MMF_SRSSNK.lib"
1682 const TInt KErrFileFail = -12345;
1683 class CTestStep_MMF_SRSSNK : public CTestStep
1686 CTestStep_MMF_SRSSNK(TBool aIsAllocTest = ETrue);
1687 ~CTestStep_MMF_SRSSNK();
1688 static void CleanUp(TAny *aPtr);
1689 inline void SetTestSuite(const CTestSuite_MMF_SRSSNK* aTestSuite);
1691 void DoTestStep(TTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult, TInt aHeapCellCount = 0);
1692 void DoTestStepWithAllocFail(TTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult, TInt aHeapCellCount = 0);
1693 void DoTestStepWithFileFail(TFileTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult, TInt aHeapCellCount = 0);
1694 void DoTestStepWithAllocAndFileFail(TFileTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult);
1696 void DoTest(TTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult, TInt aHeapCellCount = 0);
1697 void DoFileTest(TFileTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult);
1698 void DoFileTestWithoutAllocFail(TFileTestStep& aTestStep, TPtrC aTestDescription, TInt aExpectedTestResult, TInt aHeapCellCount);
1705 void CopyFileL(RFs& aFs, const TDesC& aOld, const TDesC& aNew);
1707 void OpenFileL(const TDesC& aFileName, TInt aMode, TBool aShareProtected=EFalse);
1710 void DeleteFileSinkL(TSinkType aSinkType, RFs& aFs, TDesC& aFileName);
1714 // pointer to suite which owns this test
1715 const CTestSuite_MMF_SRSSNK* iMMFBaseClTestSuite;
1717 TVerdict iTestResult;
1719 TBool iFileFailureTestingEnabled;
1724 inline void CTestStep_MMF_SRSSNK::SetTestSuite(const CTestSuite_MMF_SRSSNK* aTestSuite)
1726 iMMFBaseClTestSuite = aTestSuite;
1733 class CTestStep_MMF_SRSSNK_U_0001 : public CTestStep_MMF_SRSSNK
1736 CTestStep_MMF_SRSSNK_U_0001();
1737 ~CTestStep_MMF_SRSSNK_U_0001();
1738 virtual TVerdict DoTestStepL();
1746 class CTestStep_MMF_SRSSNK_U_0002 : public CTestStep_MMF_SRSSNK
1749 CTestStep_MMF_SRSSNK_U_0002();
1750 ~CTestStep_MMF_SRSSNK_U_0002();
1751 virtual TVerdict DoTestStepL();
1758 class CTestStep_MMF_SRSSNK_U_0003 : public CTestStep_MMF_SRSSNK
1761 CTestStep_MMF_SRSSNK_U_0003();
1762 ~CTestStep_MMF_SRSSNK_U_0003();
1763 virtual TVerdict DoTestStepL();
1771 class CTestStep_MMF_SRSSNK_U_0004 : public CTestStep_MMF_SRSSNK
1774 CTestStep_MMF_SRSSNK_U_0004();
1775 ~CTestStep_MMF_SRSSNK_U_0004();
1776 virtual TVerdict DoTestStepL();
1784 class CTestStep_MMF_SRSSNK_U_0005 : public CTestStep_MMF_SRSSNK
1787 CTestStep_MMF_SRSSNK_U_0005();
1788 ~CTestStep_MMF_SRSSNK_U_0005();
1789 virtual TVerdict DoTestStepL();
1797 class CTestStep_MMF_SRSSNK_U_0006 : public CTestStep_MMF_SRSSNK
1800 CTestStep_MMF_SRSSNK_U_0006();
1801 ~CTestStep_MMF_SRSSNK_U_0006();
1802 virtual TVerdict DoTestStepL();
1810 class CTestStep_MMF_SRSSNK_U_0007 : public CTestStep_MMF_SRSSNK
1813 CTestStep_MMF_SRSSNK_U_0007();
1814 ~CTestStep_MMF_SRSSNK_U_0007();
1815 virtual TVerdict DoTestStepL();
1823 class CTestStep_MMF_SRSSNK_U_0008 : public CTestStep_MMF_SRSSNK
1826 CTestStep_MMF_SRSSNK_U_0008();
1827 ~CTestStep_MMF_SRSSNK_U_0008();
1828 virtual TVerdict DoTestStepL();
1836 class CTestStep_MMF_SRSSNK_U_0009 : public CTestStep_MMF_SRSSNK
1839 CTestStep_MMF_SRSSNK_U_0009();
1840 ~CTestStep_MMF_SRSSNK_U_0009();
1841 virtual TVerdict DoTestStepL();
1849 class CTestStep_MMF_SRSSNK_U_0010 : public CTestStep_MMF_SRSSNK
1852 CTestStep_MMF_SRSSNK_U_0010();
1853 ~CTestStep_MMF_SRSSNK_U_0010();
1854 virtual TVerdict DoTestStepL();
1861 class CTestStep_MMF_SRSSNK_U_0011 : public CTestStep_MMF_SRSSNK
1864 CTestStep_MMF_SRSSNK_U_0011();
1865 ~CTestStep_MMF_SRSSNK_U_0011();
1866 virtual TVerdict DoTestStepL();
1873 class CTestStep_MMF_SRSSNK_U_0012 : public CTestStep_MMF_SRSSNK
1876 CTestStep_MMF_SRSSNK_U_0012();
1877 ~CTestStep_MMF_SRSSNK_U_0012();
1878 virtual TVerdict DoTestStepL();
1885 class CTestStep_MMF_SRSSNK_U_0013 : public CTestStep_MMF_SRSSNK
1888 CTestStep_MMF_SRSSNK_U_0013();
1889 ~CTestStep_MMF_SRSSNK_U_0013();
1890 virtual TVerdict DoTestStepL();
1897 class CTestStep_MMF_SRSSNK_U_0014 : public CTestStep_MMF_SRSSNK
1900 CTestStep_MMF_SRSSNK_U_0014();
1901 ~CTestStep_MMF_SRSSNK_U_0014();
1902 virtual TVerdict DoTestStepL();
1909 class CTestStep_MMF_SRSSNK_U_0015 : public CTestStep_MMF_SRSSNK
1912 CTestStep_MMF_SRSSNK_U_0015();
1913 ~CTestStep_MMF_SRSSNK_U_0015();
1914 virtual TVerdict DoTestStepL();
1922 class CTestStep_MMF_SRSSNK_U_0101 : public CTestStep_MMF_SRSSNK
1925 CTestStep_MMF_SRSSNK_U_0101();
1926 ~CTestStep_MMF_SRSSNK_U_0101();
1927 virtual TVerdict DoTestStepL();
1934 class CTestStep_MMF_SRSSNK_U_0102 : public CTestStep_MMF_SRSSNK
1937 CTestStep_MMF_SRSSNK_U_0102();
1938 ~CTestStep_MMF_SRSSNK_U_0102();
1939 virtual TVerdict DoTestStepL();
1947 class CTestStep_MMF_SRSSNK_U_0103 : public CTestStep_MMF_SRSSNK
1950 CTestStep_MMF_SRSSNK_U_0103();
1951 ~CTestStep_MMF_SRSSNK_U_0103();
1952 virtual TVerdict DoTestStepL();
1960 class CTestStep_MMF_SRSSNK_U_0104 : public CTestStep_MMF_SRSSNK
1963 CTestStep_MMF_SRSSNK_U_0104();
1964 ~CTestStep_MMF_SRSSNK_U_0104();
1965 virtual TVerdict DoTestStepL();
1974 class CTestStep_MMF_SRSSNK_FileSourceMisc : public CTestStep_MMF_SRSSNK
1977 CTestStep_MMF_SRSSNK_FileSourceMisc(TSourceType aSourceType);
1978 ~CTestStep_MMF_SRSSNK_FileSourceMisc();
1979 virtual TVerdict DoTestStepL();
1981 TSourceType iSourceType;
1989 class CTestStep_MMF_SRSSNK_FileFillBuffer : public CTestStep_MMF_SRSSNK
1992 CTestStep_MMF_SRSSNK_FileFillBuffer(TSourceType aSourceType);
1993 ~CTestStep_MMF_SRSSNK_FileFillBuffer();
1994 virtual TVerdict DoTestStepL();
1996 TSourceType iSourceType;
2006 class CTestStep_MMF_SRSSNK_U_0107 : public CTestStep_MMF_SRSSNK
2009 CTestStep_MMF_SRSSNK_U_0107();
2010 ~CTestStep_MMF_SRSSNK_U_0107();
2011 virtual TVerdict DoTestStepL();
2019 class CTestStep_MMF_SRSSNK_FileReadBuffer : public CTestStep_MMF_SRSSNK
2022 CTestStep_MMF_SRSSNK_FileReadBuffer(TSourceType aSourceType);
2023 ~CTestStep_MMF_SRSSNK_FileReadBuffer();
2024 virtual TVerdict DoTestStepL();
2026 TSourceType iSourceType;
2034 class CTestStep_MMF_SRSSNK_U_0109 : public CTestStep_MMF_SRSSNK
2037 CTestStep_MMF_SRSSNK_U_0109();
2038 ~CTestStep_MMF_SRSSNK_U_0109();
2039 virtual TVerdict DoTestStepL();
2047 class CTestStep_MMF_SRSSNK_FileSinkMisc : public CTestStep_MMF_SRSSNK
2050 CTestStep_MMF_SRSSNK_FileSinkMisc(TSinkType aSinkType);
2051 ~CTestStep_MMF_SRSSNK_FileSinkMisc();
2052 virtual TVerdict DoTestStepL();
2054 TSinkType iSinkType;
2062 class CTestStep_MMF_SRSSNK_FileEmptyBuffer : public CTestStep_MMF_SRSSNK
2065 CTestStep_MMF_SRSSNK_FileEmptyBuffer(TSinkType aSinkType);
2066 ~CTestStep_MMF_SRSSNK_FileEmptyBuffer();
2067 virtual TVerdict DoTestStepL();
2070 TSinkType iSinkType;
2078 class CTestStep_MMF_SRSSNK_U_0112 : public CTestStep_MMF_SRSSNK
2081 CTestStep_MMF_SRSSNK_U_0112();
2082 ~CTestStep_MMF_SRSSNK_U_0112();
2083 virtual TVerdict DoTestStepL();
2091 class CTestStep_MMF_SRSSNK_FileWriteBuffer : public CTestStep_MMF_SRSSNK
2094 CTestStep_MMF_SRSSNK_FileWriteBuffer(TSinkType aSinkType);
2095 ~CTestStep_MMF_SRSSNK_FileWriteBuffer();
2096 virtual TVerdict DoTestStepL();
2099 TSinkType iSinkType;
2107 class CTestStep_MMF_SRSSNK_U_0114 : public CTestStep_MMF_SRSSNK
2110 CTestStep_MMF_SRSSNK_U_0114();
2111 ~CTestStep_MMF_SRSSNK_U_0114();
2112 virtual TVerdict DoTestStepL();
2119 class CTestStep_MMF_SRSSNK_U_0115 : public CTestStep_MMF_SRSSNK
2122 CTestStep_MMF_SRSSNK_U_0115();
2123 ~CTestStep_MMF_SRSSNK_U_0115();
2124 virtual TVerdict DoTestStepL();
2132 class CTestStep_MMF_SRSSNK_FileEvaluateIntent : public CTestStep_MMF_SRSSNK
2135 CTestStep_MMF_SRSSNK_FileEvaluateIntent(TSourceType aSourceType);
2136 ~CTestStep_MMF_SRSSNK_FileEvaluateIntent();
2137 virtual TVerdict DoTestStepL();
2139 TSourceType iSourceType;
2140 TSinkType iSinkType;
2147 class CTestStep_MMF_SRSSNK_FileExecuteIntent : public CTestStep_MMF_SRSSNK
2150 CTestStep_MMF_SRSSNK_FileExecuteIntent(TSourceType aSourceType);
2151 ~CTestStep_MMF_SRSSNK_FileExecuteIntent();
2152 virtual TVerdict DoTestStepL();
2154 TSourceType iSourceType;
2155 TSinkType iSinkType;
2163 class CTestStep_MMF_SRSSNK_FileIsProtected : public CTestStep_MMF_SRSSNK
2166 CTestStep_MMF_SRSSNK_FileIsProtected(TSourceType aSourceType);
2167 ~CTestStep_MMF_SRSSNK_FileIsProtected();
2168 virtual TVerdict DoTestStepL();
2170 TSourceType iSourceType;
2171 TSinkType iSinkType;
2178 class CTestStep_MMF_SRSSNK_U_0119 : public CTestStep_MMF_SRSSNK
2181 CTestStep_MMF_SRSSNK_U_0119();
2182 ~CTestStep_MMF_SRSSNK_U_0119();
2183 virtual TVerdict DoTestStepL();
2191 class CTestStep_MMF_SRSSNK_U_0201 : public CTestStep_MMF_SRSSNK
2194 CTestStep_MMF_SRSSNK_U_0201();
2195 ~CTestStep_MMF_SRSSNK_U_0201();
2196 virtual TVerdict DoTestStepL();
2204 class CTestStep_MMF_SRSSNK_U_0202 : public CTestStep_MMF_SRSSNK
2207 CTestStep_MMF_SRSSNK_U_0202();
2208 ~CTestStep_MMF_SRSSNK_U_0202();
2209 virtual TVerdict DoTestStepL();
2217 class CTestStep_MMF_SRSSNK_U_0203 : public CTestStep_MMF_SRSSNK
2220 CTestStep_MMF_SRSSNK_U_0203();
2221 ~CTestStep_MMF_SRSSNK_U_0203();
2222 virtual TVerdict DoTestStepL();
2229 class CTestStep_MMF_SRSSNK_U_0204 : public CTestStep_MMF_SRSSNK
2232 CTestStep_MMF_SRSSNK_U_0204();
2233 ~CTestStep_MMF_SRSSNK_U_0204();
2234 virtual TVerdict DoTestStepL();
2241 class CTestStep_MMF_SRSSNK_U_0205 : public CTestStep_MMF_SRSSNK
2244 CTestStep_MMF_SRSSNK_U_0205();
2245 ~CTestStep_MMF_SRSSNK_U_0205();
2246 virtual TVerdict DoTestStepL();
2253 class CTestStep_MMF_SRSSNK_U_0206 : public CTestStep_MMF_SRSSNK
2256 CTestStep_MMF_SRSSNK_U_0206();
2257 ~CTestStep_MMF_SRSSNK_U_0206();
2258 virtual TVerdict DoTestStepL();
2265 class CTestStep_MMF_SRSSNK_U_0207 : public CTestStep_MMF_SRSSNK, public MDevSoundObserver
2268 CTestStep_MMF_SRSSNK_U_0207();
2269 ~CTestStep_MMF_SRSSNK_U_0207();
2270 virtual TVerdict DoTestStepL();
2272 // from MDevSoundObserver
2273 virtual void InitializeComplete(TInt aError);
2274 virtual void ToneFinished(TInt /*aError*/) {};
2275 virtual void BufferToBeFilled(CMMFBuffer* /*aBuffer*/) {};
2276 virtual void PlayError(TInt /*aError*/) {};
2277 virtual void BufferToBeEmptied(CMMFBuffer* /*aBuffer*/) {};
2278 virtual void RecordError(TInt /*aError*/) {};
2279 virtual void ConvertError(TInt /*aError*/) {};
2280 virtual void DeviceMessage(TUid /*aMessageType*/, const TDesC8& /*aMsg*/) {};
2281 virtual void SendEventToClient(const TMMFEvent& /*aEvent*/) {};
2282 CMMFAudioInput* iSource; // not owned by CTestStep_MMF_SRSSNK_U_0207, but transient
2290 class CTestStep_MMF_SRSSNK_U_0208 : public CTestStep_MMF_SRSSNK
2293 CTestStep_MMF_SRSSNK_U_0208();
2294 ~CTestStep_MMF_SRSSNK_U_0208();
2295 virtual TVerdict DoTestStepL();
2302 class CTestStep_MMF_SRSSNK_U_0209 : public CTestStep_MMF_SRSSNK
2305 CTestStep_MMF_SRSSNK_U_0209();
2306 ~CTestStep_MMF_SRSSNK_U_0209();
2307 virtual TVerdict DoTestStepL();
2314 class CTestStep_MMF_SRSSNK_U_0210 : public CTestStep_MMF_SRSSNK
2317 CTestStep_MMF_SRSSNK_U_0210();
2318 ~CTestStep_MMF_SRSSNK_U_0210();
2319 virtual TVerdict DoTestStepL();
2326 class CTestStep_MMF_SRSSNK_U_0211 : public CTestStep_MMF_SRSSNK
2329 CTestStep_MMF_SRSSNK_U_0211();
2330 ~CTestStep_MMF_SRSSNK_U_0211();
2331 virtual TVerdict DoTestStepL();
2338 class CTestStep_MMF_SRSSNK_U_0212 : public CTestStep_MMF_SRSSNK
2341 CTestStep_MMF_SRSSNK_U_0212();
2342 ~CTestStep_MMF_SRSSNK_U_0212();
2343 virtual TVerdict DoTestStepL();
2350 class CTestStep_MMF_SRSSNK_U_0301 : public CTestStep_MMF_SRSSNK
2353 CTestStep_MMF_SRSSNK_U_0301();
2354 ~CTestStep_MMF_SRSSNK_U_0301();
2355 virtual TVerdict DoTestStepL();
2362 class CTestStep_MMF_SRSSNK_U_0302 : public CTestStep_MMF_SRSSNK
2365 CTestStep_MMF_SRSSNK_U_0302();
2366 ~CTestStep_MMF_SRSSNK_U_0302();
2367 virtual TVerdict DoTestStepL();
2371 /* Testing of the Source and Sink
2376 class CTestStep_MMF_SRSSNK_U_0400 : public CTestStep_MMF_SRSSNK
2379 CTestStep_MMF_SRSSNK_U_0400();
2380 ~CTestStep_MMF_SRSSNK_U_0400();
2381 virtual TVerdict DoTestStepL();
2384 class CTestStep_MMF_SRSSNK_U_0405 : public CTestStep_MMF_SRSSNK
2387 CTestStep_MMF_SRSSNK_U_0405();
2388 ~CTestStep_MMF_SRSSNK_U_0405();
2389 virtual TVerdict DoTestStepL();
2392 class CTestStep_MMF_SRSSNK_U_0406 : public CTestStep_MMF_SRSSNK
2395 CTestStep_MMF_SRSSNK_U_0406();
2396 ~CTestStep_MMF_SRSSNK_U_0406();
2397 virtual TVerdict DoTestStepL();
2400 class CTestStep_MMF_SRSSNK_U_0407 : public CTestStep_MMF_SRSSNK
2403 CTestStep_MMF_SRSSNK_U_0407();
2404 ~CTestStep_MMF_SRSSNK_U_0407();
2405 virtual TVerdict DoTestStepL();
2408 class CTestStep_MMF_SRSSNK_U_0408 : public CTestStep_MMF_SRSSNK
2411 CTestStep_MMF_SRSSNK_U_0408();
2412 ~CTestStep_MMF_SRSSNK_U_0408();
2413 virtual TVerdict DoTestStepL();
2417 class CTestStep_MMF_SRSSNK_U_0409 : public CTestStep_MMF_SRSSNK
2420 CTestStep_MMF_SRSSNK_U_0409();
2421 ~CTestStep_MMF_SRSSNK_U_0409();
2422 virtual TVerdict DoTestStepL();
2425 class CTestStep_MMF_SRSSNK_U_0410 : public CTestStep_MMF_SRSSNK
2428 CTestStep_MMF_SRSSNK_U_0410();
2429 ~CTestStep_MMF_SRSSNK_U_0410();
2430 virtual TVerdict DoTestStepL();
2433 class CTestStep_MMF_SRSSNK_U_0411 : public CTestStep_MMF_SRSSNK
2436 CTestStep_MMF_SRSSNK_U_0411();
2437 ~CTestStep_MMF_SRSSNK_U_0411();
2438 virtual TVerdict DoTestStepL();
2441 class CTestStep_MMF_SRSSNK_U_0412 : public CTestStep_MMF_SRSSNK
2444 CTestStep_MMF_SRSSNK_U_0412();
2445 ~CTestStep_MMF_SRSSNK_U_0412();
2446 virtual TVerdict DoTestStepL();
2449 class CTestStep_MMF_SRSSNK_U_0413 : public CTestStep_MMF_SRSSNK
2452 CTestStep_MMF_SRSSNK_U_0413();
2453 ~CTestStep_MMF_SRSSNK_U_0413();
2454 virtual TVerdict DoTestStepL();
2457 class CTestStep_MMF_SRSSNK_U_0414 : public CTestStep_MMF_SRSSNK
2460 CTestStep_MMF_SRSSNK_U_0414();
2461 ~CTestStep_MMF_SRSSNK_U_0414();
2462 virtual TVerdict DoTestStepL();
2465 class CTestStep_MMF_SRSSNK_U_0415 : public CTestStep_MMF_SRSSNK
2468 CTestStep_MMF_SRSSNK_U_0415();
2469 ~CTestStep_MMF_SRSSNK_U_0415();
2470 virtual TVerdict DoTestStepL();
2473 class CTestStep_MMF_SRSSNK_U_0416 : public CTestStep_MMF_SRSSNK
2476 CTestStep_MMF_SRSSNK_U_0416();
2477 ~CTestStep_MMF_SRSSNK_U_0416();
2478 virtual TVerdict DoTestStepL();
2481 class CTestStep_MMF_SRSSNK_U_0417 : public CTestStep_MMF_SRSSNK
2484 CTestStep_MMF_SRSSNK_U_0417();
2485 ~CTestStep_MMF_SRSSNK_U_0417();
2486 virtual TVerdict DoTestStepL();
2489 class CTestStep_MMF_SRSSNK_U_0418 : public CTestStep_MMF_SRSSNK
2492 CTestStep_MMF_SRSSNK_U_0418();
2493 ~CTestStep_MMF_SRSSNK_U_0418();
2494 virtual TVerdict DoTestStepL();
2497 class CTestStep_MMF_SRSSNK_U_0419 : public CTestStep_MMF_SRSSNK
2500 CTestStep_MMF_SRSSNK_U_0419();
2501 ~CTestStep_MMF_SRSSNK_U_0419();
2502 virtual TVerdict DoTestStepL();
2505 class CTestStep_MMF_SRSSNK_U_0420 : public CTestStep_MMF_SRSSNK
2508 CTestStep_MMF_SRSSNK_U_0420();
2509 ~CTestStep_MMF_SRSSNK_U_0420();
2510 virtual TVerdict DoTestStepL();
2513 class CTestStep_MMF_SRSSNK_U_0421 : public CTestStep_MMF_SRSSNK
2516 CTestStep_MMF_SRSSNK_U_0421();
2517 ~CTestStep_MMF_SRSSNK_U_0421();
2518 virtual TVerdict DoTestStepL();
2527 class CTestStep_MMF_SRSSNK_U_0500 : public CTestStep_MMF_SRSSNK
2530 CTestStep_MMF_SRSSNK_U_0500();
2531 ~CTestStep_MMF_SRSSNK_U_0500();
2532 virtual TVerdict DoTestStepL();
2535 class CTestStep_MMF_SRSSNK_U_0505 : public CTestStep_MMF_SRSSNK
2538 CTestStep_MMF_SRSSNK_U_0505();
2539 ~CTestStep_MMF_SRSSNK_U_0505();
2540 virtual TVerdict DoTestStepL();
2543 class CTestStep_MMF_SRSSNK_U_0506 : public CTestStep_MMF_SRSSNK
2546 CTestStep_MMF_SRSSNK_U_0506();
2547 ~CTestStep_MMF_SRSSNK_U_0506();
2548 virtual TVerdict DoTestStepL();
2552 class CTestStep_MMF_SRSSNK_U_0507 : public CTestStep_MMF_SRSSNK
2555 CTestStep_MMF_SRSSNK_U_0507();
2556 ~CTestStep_MMF_SRSSNK_U_0507();
2557 virtual TVerdict DoTestStepL();
2561 class CTestStep_MMF_SRSSNK_U_0508 : public CTestStep_MMF_SRSSNK
2564 CTestStep_MMF_SRSSNK_U_0508();
2565 ~CTestStep_MMF_SRSSNK_U_0508();
2566 virtual TVerdict DoTestStepL();
2569 class CTestStep_MMF_SRSSNK_U_0509 : public CTestStep_MMF_SRSSNK
2572 CTestStep_MMF_SRSSNK_U_0509();
2573 ~CTestStep_MMF_SRSSNK_U_0509();
2574 virtual TVerdict DoTestStepL();
2579 class CTestStep_MMF_SRSSNK_U_0510 : public CTestStep_MMF_SRSSNK
2582 CTestStep_MMF_SRSSNK_U_0510();
2583 ~CTestStep_MMF_SRSSNK_U_0510();
2584 virtual TVerdict DoTestStepL();
2589 class CTestStep_MMF_SRSSNK_U_0511 : public CTestStep_MMF_SRSSNK
2592 CTestStep_MMF_SRSSNK_U_0511();
2593 ~CTestStep_MMF_SRSSNK_U_0511();
2594 virtual TVerdict DoTestStepL();
2598 class CTestStep_MMF_SRSSNK_U_0512 : public CTestStep_MMF_SRSSNK
2601 CTestStep_MMF_SRSSNK_U_0512();
2602 ~CTestStep_MMF_SRSSNK_U_0512();
2603 virtual TVerdict DoTestStepL();
2607 class CTestStep_MMF_SRSSNK_U_0513 : public CTestStep_MMF_SRSSNK
2610 CTestStep_MMF_SRSSNK_U_0513();
2611 ~CTestStep_MMF_SRSSNK_U_0513();
2612 virtual TVerdict DoTestStepL();
2617 class CTestStep_MMF_SRSSNK_U_0514 : public CTestStep_MMF_SRSSNK
2620 CTestStep_MMF_SRSSNK_U_0514();
2621 ~CTestStep_MMF_SRSSNK_U_0514();
2622 virtual TVerdict DoTestStepL();
2626 class CTestStep_MMF_SRSSNK_U_0515 : public CTestStep_MMF_SRSSNK
2629 CTestStep_MMF_SRSSNK_U_0515();
2630 ~CTestStep_MMF_SRSSNK_U_0515();
2631 virtual TVerdict DoTestStepL();
2635 class CTestStep_MMF_SRSSNK_U_0516 : public CTestStep_MMF_SRSSNK
2638 CTestStep_MMF_SRSSNK_U_0516();
2639 ~CTestStep_MMF_SRSSNK_U_0516();
2640 virtual TVerdict DoTestStepL();
2644 class CTestStep_MMF_SRSSNK_U_0517 : public CTestStep_MMF_SRSSNK
2647 CTestStep_MMF_SRSSNK_U_0517();
2648 ~CTestStep_MMF_SRSSNK_U_0517();
2649 virtual TVerdict DoTestStepL();
2654 class CTestStep_MMF_SRSSNK_U_0518 : public CTestStep_MMF_SRSSNK
2657 CTestStep_MMF_SRSSNK_U_0518();
2658 ~CTestStep_MMF_SRSSNK_U_0518();
2659 virtual TVerdict DoTestStepL();
2664 class CTestStep_MMF_SRSSNK_U_0519 : public CTestStep_MMF_SRSSNK
2667 CTestStep_MMF_SRSSNK_U_0519();
2668 ~CTestStep_MMF_SRSSNK_U_0519();
2669 virtual TVerdict DoTestStepL();
2673 class CTestStep_MMF_SRSSNK_MultipleStop : public CTestStep_MMF_SRSSNK
2676 CTestStep_MMF_SRSSNK_MultipleStop(); // U_520
2677 ~CTestStep_MMF_SRSSNK_MultipleStop();
2678 virtual TVerdict DoTestStepL();
2680 TSourceType iSourceType;
2683 // INC085391: CMMFFile::iFilePath and iFileDrive should be initialised for KMMFileHandleSource
2684 class CTestStep_MMF_SRSSNK_U_0600 : public CTestStep_MMF_SRSSNK
2687 CTestStep_MMF_SRSSNK_U_0600();
2688 ~CTestStep_MMF_SRSSNK_U_0600();
2689 virtual TVerdict DoTestStepL();
2692 //CR0854 - Provide access to the file data via the CData object
2693 class CTestStep_MMF_SRSSNK_U_0521 : public CTestStep_MMF_SRSSNK
2696 CTestStep_MMF_SRSSNK_U_0521();
2697 ~CTestStep_MMF_SRSSNK_U_0521();
2698 virtual TVerdict DoTestStepL();
2701 //CR0854 - Provide access to the file data via the CData object
2702 class CTestStep_MMF_SRSSNK_U_0522 : public CTestStep_MMF_SRSSNK
2705 CTestStep_MMF_SRSSNK_U_0522();
2706 ~CTestStep_MMF_SRSSNK_U_0522();
2707 virtual TVerdict DoTestStepL();
2710 // PDEF102849: Invalid Remaining Space value obtained for E:\ (memory card)
2711 class CTestStep_MMF_SRSSNK_U_0523 : public CTestStep_MMF_SRSSNK
2714 CTestStep_MMF_SRSSNK_U_0523();
2715 ~CTestStep_MMF_SRSSNK_U_0523();
2716 virtual TVerdict DoTestStepL();
2719 //PDEF137282 - Answering VoIP call doesn't work
2720 class CTestStep_MMF_SRSSNK_U_0524 : public CTestStep_MMF_SRSSNK
2723 CTestStep_MMF_SRSSNK_U_0524();
2724 ~CTestStep_MMF_SRSSNK_U_0524();
2725 virtual TVerdict DoTestStepL();
2728 class TCreateSourceBuffer3TestStep : public TTestStep, public MAsyncEventHandler
2731 TCreateSourceBuffer3TestStep(TSourceType aSourceType, MDataSink* aSink, TUid aExpectedType, TBool aExpectedRef, TInt aExpectedMaxLength = 0)
2732 : TTestStep(NULL, aSink), iSourceType(aSourceType), iExpectedType(aExpectedType), iExpectedRef(aExpectedRef), iExpectedMaxLength(aExpectedMaxLength)
2735 TVerdict DoTestStepL();
2736 TInt SendEventToClient(const TMMFEvent& aEvent);
2739 TSourceType iSourceType;
2740 CMMFBuffer* iSinkBuffer;
2743 TInt iExpectedMaxLength;
2746 #endif /* __TSU_MMF_SRSSNK_H__ */