kerneltest/e32test/property/t_framework.h
changeset 0 a41df078684a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/property/t_framework.h	Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,68 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "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:
+//
+
+#ifndef __T_FRAMEWORK_H__
+#define __T_FRAMEWORK_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <e32property.h>
+
+#define TF_ERROR(aRes, aCond)  ((void) ((aCond) || (CTestProgram::Panic(aRes, #aCond, __FILE__, __LINE__), 0)))
+#define TF_ERROR_PROG(aProg, aRes, aCond)  ((void) ((aCond) || ((aProg)->Panic(aRes, #aCond, __FILE__, __LINE__), 0)))
+
+class CTestProgram : public CBase
+	{
+public:
+
+	static void Start();
+	static void End();
+
+	static void LaunchGroup(CTestProgram** aGroup, TUint aCount);
+	static void SpawnGroup(CTestProgram** aGroup, TUint aCount);
+
+	CTestProgram(const TDesC& aName);
+	
+	void Exec(const TDesC& aFile, TAny* args, TInt size); 
+
+	void Spawn(TUint aCount);
+	void Wait();
+
+	void Launch(TUint aCount);
+
+	virtual void Run(TUint aCount) = 0;
+
+	void Panic (TInt aError, char* aCond, char* aFile, TInt aLine);
+
+private:
+	static TInt ThreadEntry(TAny*);
+
+	void Panic();
+
+	const TDesC&	iName;	
+
+	TUint			iCount;
+	TRequestStatus	iStatus;
+	TRequestStatus	iDestroyStatus;
+
+	TThreadId		iThreadId;
+
+	TInt	iError;
+	char*	iCond;
+	char*	iFile;
+	TInt	iLine;
+	};
+
+#endif