--- a/kerneltest/e32test/rm_debug/t_rmdebug2.h Mon Mar 15 12:45:50 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-// Copyright (c) 2006-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:
-// Definitions for the run mode debug tests
-//
-//
-
-/**
- @file
- @internalTechnology
- @released
-*/
-
-#ifndef RMDEBUG_H
-#define RMDEBUG_H
-
-#include "t_rmdebug_app.h"
-#include "r_user_low_memory_security_svr_session.h"
-#include "r_kernel_low_memory_security_svr_session.h"
-
-
-class CRunModeAgent;
-
-// Create a pointer to function type
-typedef void (CRunModeAgent::*testFunction)();
-
-class TFunctionData
- {
-public:
- testFunction iFunctionPtr;
- TBuf<40> iFunctionName;
- };
-
-//number of test functions that we have
-const TInt KMaxTests = 28;
-
-//
-// class CRunModeAgent
-//
-// The basic run mode agent.
-//
-class CRunModeAgent : public CBase
- {
-public:
- static CRunModeAgent* NewL();
- ~CRunModeAgent();
- void ClientAppL();
-
-private:
- CRunModeAgent();
- void ConstructL();
- void SetupAndAttachToDSS();
-
- TInt TestStartup();
- TInt TestShutdown();
-
- void TestGetExecutablesList();
- void TestGetProcessList();
- void TestGetThreadList();
- void TestGetCodeSegsList();
- void TestGetXipLibrariesList();
- void TestGetListInvalidData();
-
- void DoTestGetThreadList(const TBool aShouldPass, const Debug::TListScope aListScope, const TUint64 aTargetId=0);
- void DoTestGetCodeSegsList(const TBool aShouldPass, const Debug::TListScope aListScope, const TUint64 aTargetId=0);
-
- void DoGetList(const Debug::TListId aListId, const Debug::TListScope aListScope, RBuf8& aBuffer, TUint32& aSize, const TUint64 aTargetId=0);
-
- void TestMemoryAccess();
- void TestSuspendResume();
- void TestBreakPoints();
- void TestConsecutiveBreakPoints();
- void TestModifyBreak();
- void DoTestModifyBreak(TBool aThreadSpecific);
- void TestBreakInfo();
- void DoTestBreakInfo(TBool aThreadSpecific);
- void TestRunToBreak();
- void DoTestRunToBreak(TBool aThreadSpecific);
- void TestRegisterAccess();
- void TestAttachExecutable();
- void TestDebugFunctionality();
- void TestStep();
- void DoTestStep(TBool aThreadSpecific);
- void TestDriverSecurity();
- void TestSecurity();
- void TestEvents();
- void TestEventsForExternalProcess();
- void TestDemandPaging();
- void TestTraceSecurity();
- void TestDllUsage();
- void TestKillProcess();
- void TestProcessBreakPoints();
- void TestMultipleTraceEvents();
- void TestAddRemoveProcessEvents();
- void TestProcessKillBreakpoint();
- void DoTestProcessKillBreakpoint();
-
- //crash flash test functions
- void TestCrashFlash();
-
- TInt GetFlag(const TDes8 &aFlags, const TUint aOffset, Debug::TRegisterFlag &aFlagValue) const;
-
- void ReportPerformance(void);
-
- // helper functions
- void HelpTestSecurityAttachDetachExecutable(const TDesC& aProcessName, TBool aExpectSuccess);
-
- TInt HelpTestStepSetBreak(Debug::TBreakId& aBreakId, TThreadId aThreadId, const TUint32 aBreakAddress, Debug::TArchitectureMode aMode, TBool aThreadSpecific=ETrue, TProcessId aProcessId=0);
- TInt HelpTestStepClearBreak(const Debug::TBreakId aBreakId, const TThreadId aThreadId, TBool aThreadSpecific);
- TInt HelpTestStepWaitForBreak(const TDesC& aProcessName, Debug::TEventInfo& aEventInfo);
- TInt HelpTestStepReadPC(TThreadId aThreadId, TUint32& aPC);
- TInt HelpTestStep(TThreadId aThreadId, TUint32 aStartAddress, TUint32 aEndAddress, Debug::TArchitectureMode aMode, TUint aNumSteps, TBool aThreadSpecific=ETrue, TProcessId=0);
-
- TInt HelpTicksPerSecond(void);
-
- // helper functions
- void HelpStartTestTimer(void) { iStartTick = User::NTickCount(); iStopTick = 0; };
- void HelpStopTestTimer(void) { iStopTick = User::NTickCount(); };
- TInt HelpGetTestTicks(void) { return (iStopTick - iStartTick); };
- TInt SwitchTestFunction(TTestFunction aTestFunction);
- TInt LaunchProcess(RProcess& aProcess, const TDesC& aFileName, TDebugFunctionType aFunctionType, TUint32 aDelay=0, TUint32 aExtraThreads=0);
- Debug::TTagHeader* GetTagHdr(const TDesC8& aDebugFunctionalityBlock, const Debug::TTagHeaderId aTagHdrId) const;
- Debug::TTag* GetTag(const Debug::TTagHeader* aTagHdr, const TInt aElement) const;
- Debug::TTag GetTag(const Debug::TTagHeaderId aTagHdrId, const TInt aElement);
- TBool ProcessExists(const TProcessId aProcessId);
- TBool ThreadExistsForProcess(const TThreadId aThreadId, const TProcessId aProcessId);
- TBool ListingSupported(const Debug::TListId aListId, const Debug::TListScope aListScope);
- void TestEventsWithExtraThreads(Debug::TKernelEventAction aActionMain, Debug::TKernelEventAction aActionExtra, TUint32 aExtraThreads);
- void FillArray();
- void PrintUsage();
- void PrintVersion();
-
- enum TTestMode
- {
- //run all the tests
- EModeAll = 1<<0,
- //run the specified tests in reverse order
- EModeReverse = 1<<1,
- //print out help
- EModeHelp = 1<<2,
- //print out help
- EModeVersion = 1<<3
- };
-
- void RunTest(TInt aTestNumber);
- void ParseCommandLineL(TUint32& aMode, RArray<TInt>& aTests);
-
- TBool ProcessExists(const TDesC& aProcessName);
-
-private:
-
- TFunctionData iTestArray[KMaxTests];
-#if defined(KERNEL_OOM_TESTING)
- RKernelLowMemorySecuritySvrSession iServSession;
-#elif defined (USER_OOM_TESTING)
- RUserLowMemorySecuritySvrSession iServSession;
-#else
- Debug::RSecuritySvrSession iServSession;
-#endif
- RThread iDebugThread;
- RProcess iDSSProcess;
- RSemaphore iAddressGlobSem;
- TThreadId iThreadID;
- TFileName iFileName;
- TUid iMySid;
-
- // Performance data
- TInt iMemoryReadKbytesPerSecond;
- TInt iMemoryWriteKbytesPerSecond;
- TInt iBreakpointsPerSecond;
- TInt iMaxBreakpoints;
- TInt iStepsPerSecond;
-
- // Timing information
- TInt iStartTick;
- TInt iStopTick;
- };
-
-#endif // RMDEBUG_H