595 void DoCalibrationTransfer(TUint64 &atime); |
595 void DoCalibrationTransfer(TUint64 &atime); |
596 TInt QueueAsyncRequest(TRequestStatus &aRequestState,TUint64 &atime); |
596 TInt QueueAsyncRequest(TRequestStatus &aRequestState,TUint64 &atime); |
597 }; |
597 }; |
598 |
598 |
599 /** |
599 /** |
|
600 Used for testing Pause and Resume ( Negative Testing) |
|
601 |
|
602 Extends CSingle transfer by adding the capability to test |
|
603 Pause & Resume() API. Expects that Pause and Resume is not supported |
|
604 */ |
|
605 class CPauseResumeNegTest : public CSingleTransferTest |
|
606 { |
|
607 public: |
|
608 CPauseResumeNegTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected) |
|
609 :CSingleTransferTest(aName, aIterations, aArgs, aExpected) |
|
610 {} |
|
611 |
|
612 ~CPauseResumeNegTest(); |
|
613 |
|
614 virtual void RunTest(); |
|
615 virtual void PrintTestType() const; |
|
616 |
|
617 virtual CTest* Clone() const {return new CPauseResumeNegTest(*this);} |
|
618 |
|
619 // The methods below is a setters ie. The Named Parameter Idiom |
|
620 // @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18 |
|
621 inline CPauseResumeNegTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;} |
|
622 }; |
|
623 |
|
624 |
|
625 /** |
|
626 Used for testing element counting |
|
627 |
|
628 Extends CSingle transfer by adding the capability to test |
|
629 Element Counting APIs |
|
630 */ |
|
631 class CElementCountingTest : public CSingleTransferTest |
|
632 { |
|
633 public: |
|
634 CElementCountingTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected) |
|
635 :CSingleTransferTest(aName, aIterations, aArgs, aExpected) |
|
636 {} |
|
637 |
|
638 ~CElementCountingTest(); |
|
639 |
|
640 virtual void RunTest(); |
|
641 virtual void PrintTestType() const; |
|
642 |
|
643 virtual CTest* Clone() const {return new CElementCountingTest(*this);} |
|
644 |
|
645 // The methods below is a setters ie. The Named Parameter Idiom |
|
646 // @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18 |
|
647 inline CElementCountingTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;} |
|
648 }; |
|
649 |
|
650 |
|
651 /** |
|
652 Used for testing Linking of DMA Channels ( Negative Testing) |
|
653 |
|
654 Extends CSingle transfer by adding the capability to test DMA channel linking |
|
655 Expects that channel linking is not supported |
|
656 */ |
|
657 class CLinkChannelTest : public CSingleTransferTest |
|
658 { |
|
659 public: |
|
660 CLinkChannelTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected) |
|
661 :CSingleTransferTest(aName, aIterations, aArgs, aExpected) |
|
662 {} |
|
663 |
|
664 ~CLinkChannelTest(); |
|
665 |
|
666 virtual void RunTest(); |
|
667 virtual void PrintTestType() const; |
|
668 |
|
669 virtual CTest* Clone() const {return new CLinkChannelTest(*this);} |
|
670 |
|
671 // The methods below is a setters ie. The Named Parameter Idiom |
|
672 // @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18 |
|
673 inline CLinkChannelTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;} |
|
674 }; |
|
675 |
|
676 |
|
677 /** |
600 This class will be used for tests which benchmark certain DMA operations |
678 This class will be used for tests which benchmark certain DMA operations |
601 */ |
679 */ |
602 class CDmaBenchmark : public CSingleTransferTest |
680 class CDmaBenchmark : public CSingleTransferTest |
603 { |
681 { |
604 public: |
682 public: |