kerneltest/e32test/dmav2/test_thread.h
branchRCL_3
changeset 28 5b5d147c7838
parent 26 c734af59ce98
child 29 743008598095
child 36 bbf8bed59bcb
--- a/kerneltest/e32test/dmav2/test_thread.h	Tue May 11 17:28:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Some helper classes to assist with writing multi-threaded tests
-*
-*/
-
-
-#ifndef __TEST_THREAD_H__
-#define __TEST_THREAD_H__
-
-#include <e32base.h>
-#include <e32debug.h>
-#define __E32TEST_EXTENSION__
-#include <e32test.h>
-#include <e32cmn_private.h>
-
-_LIT(KPanicCat, "test_thread.h");
-
-
-static const TInt KHeapSize=0x2000;
-
-enum TPanicCode
-	{
-	EThreadCreateFailed
-	};
-
-/**
-A utility class for running functions in other threads/processes
-*/
-class TTestRemote
-	{
-public:
-	virtual TInt WaitForExitL() = 0;
-	virtual ~TTestRemote()
-		{}
-
-	virtual void Rendezvous(TRequestStatus& aStatus) = 0;
-
-protected:
-	TTestRemote()
-		{}
-
-	static TInt RunFunctor(TAny* aFunctor);
-
-	TRequestStatus iLogonStatus;
-	static TInt iCount;
-	};
-
-class TTestThread : public TTestRemote
-	{
-public:
-	TTestThread(const TDesC& aName, TThreadFunction aFn, TAny* aData, TBool aAutoResume=ETrue);
-
-	/**
-	Run aFunctor in another thread
-	*/
-	TTestThread(const TDesC& aName, TFunctor& aFunctor, TBool aAutoResume=ETrue);
-
-	~TTestThread();
-
-	void Resume();
-
-	/**
-	If thread exited normally, return its return code
-	Otherwise, leave with exit reason
-	*/
-	virtual TInt WaitForExitL();
-
-	virtual void Rendezvous(TRequestStatus& aStatus);
-
-private:
-	void Init(const TDesC& aName, TThreadFunction aFn, TAny* aData, TBool aAutoResume);
-
-	RThread iThread;
-	};
-
-class CTest : public CBase, public TFunctor
-	{
-public:
-	~CTest();
-
-	virtual void operator()();
-	virtual void RunTest() = 0;
-	virtual CTest* Clone() const = 0;
-
-	/**
-	Prints a formatted description of the test
-	*/
-	void Announce() const;
-
-	const TDesC& Name() const;
-
-	/**
-	Should print the type of test, with no newlines.
-	eg. "Transfer", "Fragmentation"
-	TODO drop the function, just add a test type member
-	*/
-	virtual void PrintTestType() const = 0;
-
-	/**
-	Display any information about test environment, with no newlines
-	eg. "DMA channel 16"
-	The base class version prints nothing.
-	*/
-	virtual void PrintTestInfo() const;
-
-protected:
-	CTest(const TDesC& aName, TInt aIterations);
-	CTest(const CTest& aOther);
-
-	//It would be useful to have an RTest member, but this can't be
-	//initialised untill the new thread is running as it will refer to
-	//the creating thread
-	RBuf iName;
-	const TInt iIterations;
-	};
-
-/**
-Make aNumberOfThreads copies of aTest and run
-each in its own thread
-
-@param test Reference to test object
-@param aTest Referance
-*/
-void MultipleTestRun(RTest& test, const CTest& aTest, TInt aNumberOfThreads);
-
-void MultipleTestRun(const RPointerArray<CTest>& aTests);
-#endif // #ifndef __TEST_THREAD_H__
-