persistentstorage/centralrepository/test/testexecute/performance/src/TE_MemTestStep.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 21 28839de615b4
child 24 cc28652e0254
--- a/persistentstorage/centralrepository/test/testexecute/performance/src/TE_MemTestStep.cpp	Thu Aug 19 11:36:21 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-// Copyright (c) 2005-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:
-//
-
-#include <centralrepository.h>
-#include "t_cenrep_helper.h"
-#include "srvPerf.h"
-#include "srvreqs.h"
-#include "TE_MemTestStep.h"
-
-#ifdef __CENTREP_SERVER_MEMTEST__
-// Method used for TIdentityRelation for TMemTestResult arrays
-TBool MatchMemTestResult(const TMemTestResult& aKey, const TMemTestResult& aIndexItem)
-	{
-	return aIndexItem.iLocation   == aKey.iLocation   && 
-		   aIndexItem.iIdentifier == aKey.iIdentifier && 
-		   aIndexItem.iIsComplete == aKey.iIsComplete;
-	}
-
-void CMemTestStep::ProcessMemTestResults(TAny* aRawData, TInt32 aRawCount, RArray<TMemTestResult>& aMemTestResults)
-	{
-	ASSERT(aRawCount);
-	ASSERT(aRawCount>=3);
-	
-	for(TInt i=0; i+2<aRawCount;)
-		{
-		TInt32 value1 = static_cast<TInt32*>(aRawData)[i++];
-		TInt32 value2 = static_cast<TInt32*>(aRawData)[i++];
-		TInt32 value3 = static_cast<TInt32*>(aRawData)[i++];
-		
-		if(value1 == KMagicMemTestOutOfBounds && value2 == KMagicMemTestOutOfBounds && value2 == KMagicMemTestOutOfBounds)
-			{
-			WARN_PRINTF1(_L("Memory test was not able to store all the requested values. Only the stored values will be reported."));
-			}
-		else
-			{
-			TMemTestResult result(value1, value2, EFalse);
-			//look for not completed memTestResult that match the criteria
-			TIdentityRelation<TMemTestResult> identity(MatchMemTestResult);
-			
-			TInt idx = aMemTestResults.Find(result, identity);
-			if(idx == KErrNotFound)
-				{
-				result.iInitHeapSize = value3;
-				aMemTestResults.Append(result);
-				}
-			else
-				{
-				TMemTestResult& foundResult = aMemTestResults[idx];
-				foundResult.iFinalHeapSize = value3;
-				foundResult.iIsComplete = ETrue;
-				}
-			}
-		}
-	}
-#endif //__CENTREP_SERVER_MEMTEST__
-
-CMemTestStep::CMemTestStep()
-	{
-	SetTestStepName(KMemTestName);
-	}
-	
-// doTestStepL
-// This test fetches the memory data collected by
-// CentRep server, processes it and reports the result.
-TVerdict CMemTestStep::doTestStepL()
-	{
-#ifdef __CENTREP_SERVER_MEMTEST__
-	SetTestStepResult(EFail);
-	// Pause a few seconds to ensure startup sequence is finished.
-#ifdef __WINS__
- 	const TTimeIntervalMicroSeconds32 interval = 12000000;
-#else
- 	const TTimeIntervalMicroSeconds32 interval = 4000000;
-#endif
- 	User::After(interval);
-
-	TAny* buf = User::AllocL((KMemBufMaxEntry) * sizeof(TInt32));
-	CleanupStack::PushL(buf);
-	TPtr8 pBuf(static_cast<TUint8*>(buf), (KMemBufMaxEntry) * sizeof(TInt32));
-	TInt numEntries;
-	TPckg<TInt> pNumEntries(numEntries);
-	TInt error = SetGetParameters(TIpcArgs(EGetMemResults, &pNumEntries, &pBuf));
-
-	if(error == KErrNone && numEntries > 0)
-		{
-		RArray<TMemTestResult> memTestResults;
-		
-		ProcessMemTestResults(buf, numEntries, memTestResults);
-		
-		TInt count = memTestResults.Count();
-		for(TInt i=0; i<count; i++)
-			{
-			TMemTestResult& result = memTestResults[i];
-			if(result.iIsComplete)
-				{
-				if(result.iLocation == EMemLcnRepositoryOpen)
-					{
-					Logger().WriteFormat(_L("Memory usage for repository [%08X]: %d"), 
-										 result.iIdentifier, 
-										 result.iFinalHeapSize - result.iInitHeapSize);
-					}
-				else if(result.iLocation == EMemLcnOnDemand)
-					{
-					Logger().WriteFormat(_L("Heap memory usage of Centrep server at step %d: %d"), 
-										 result.iIdentifier, 					
-										 result.iFinalHeapSize);
-					static TInt prevResult;
-					switch (result.iIdentifier)
-						{
-						case 1: TESTL(result.iFinalHeapSize > prevResult); break;
-						case 3: TESTL(result.iFinalHeapSize < prevResult); break;
-						case 4: TESTL(result.iFinalHeapSize > prevResult); break;						
-						}
-					prevResult = result.iFinalHeapSize;
-					}
-				else
-					{
-					Logger().WriteFormat(_L("Memory usage at location[%d] for identifier[%d]: %d"),
-										 result.iLocation, 
-										 result.iIdentifier, 
-										 result.iFinalHeapSize - result.iInitHeapSize);
-					}
-				}
-			else
-				{
-				Logger().WriteFormat(_L("Incomplete memory reading at location[%d] for identifier[%d]"),
-									 result.iLocation, 
-									 result.iIdentifier);
-				}
-			}
-		}
-	
-    CleanupStack::PopAndDestroy();
-
-	if(error == KErrNone)
-		{
-		SetTestStepResult(EPass);
-		}
-#else
-	WARN_PRINTF1(_L("Memory test macro __CENTREP_SERVER_MEMTEST__ is not defined. Test was not run."));
-#endif //__CENTREP_SERVER_MEMTEST__
-
-	return TestStepResult();
-	}
-