persistentstorage/centralrepository/test/testexecute/performance/src/TE_PerfTestCacheStepBase.cpp
branchRCL_3
changeset 24 cc28652e0254
parent 0 08ec8eefde2f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/centralrepository/test/testexecute/performance/src/TE_PerfTestCacheStepBase.cpp	Wed Sep 01 12:39:58 2010 +0100
@@ -0,0 +1,85 @@
+// 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:
+// TE_PerfTestCacheEnabledStep.cpp
+// 
+//
+
+#include "TE_PerfTestCacheStepBase.h"
+#include <centralrepository.h>
+#include "t_cenrep_helper.h"
+#include "srvreqs.h"
+
+//--------------------------------
+// class CPerfTestCacheStepBase
+//--------------------------------
+
+#if defined(__CENTREP_SERVER_CACHETEST__) && defined(__CENTREP_SERVER_PERFTEST__)
+const TUid KUidCacheTestRepositorySmTxt		= { 0x00000002 };
+const TUid KUidCacheTestRepositoryLrgTxt	= { 0xCCCCCC01 };
+const TUid KUidCacheTestRepositorySmCre		= { 0x22222221 };
+const TUid KUidCacheTestRepositoryLrgCre	= { 0xCCCCCC02 };
+#endif
+
+// CommonTestStepL
+// This function accesses a small and a large repository various times 
+// when cache is enabled and disabled.
+void CPerfTestCacheStepBase::CommonTestStepL()
+	{
+	SetTestStepResult(EFail);
+
+#if defined(__CENTREP_SERVER_CACHETEST__) && defined(__CENTREP_SERVER_PERFTEST__)
+	TInt r = SetGetParameters(TIpcArgs(ERestartPerfTests));
+	TEST(r==KErrNone);
+	
+ 	CRepository* repository;
+ 	TInt i;
+ 	// Access small text rep 5 times in a row
+	for(i=0; i<5; i++)
+		{
+		User::LeaveIfNull(repository = CRepository::NewL(KUidCacheTestRepositorySmTxt));
+		delete repository;
+		repository = NULL;
+		User::After(200000); // delay 200ms before access
+		}
+
+ 	// Access large text rep 5 times in a row
+	for(i=0; i<5; i++)
+		{
+		User::LeaveIfNull(repository = CRepository::NewL(KUidCacheTestRepositoryLrgTxt));
+		delete repository;
+		repository = NULL;
+		User::After(200000); // delay 200ms before access
+		}
+
+ 	// Access small binary rep 20 times in a row
+	for(i=0; i<20; i++)
+		{
+		User::LeaveIfNull(repository = CRepository::NewL(KUidCacheTestRepositorySmCre));
+		delete repository;
+		repository = NULL;
+		User::After(200000); // delay 200ms before access
+		}
+
+ 	// Access large binary rep 20 times in a row
+	for(i=0; i<20; i++)
+		{
+		User::LeaveIfNull(repository = CRepository::NewL(KUidCacheTestRepositoryLrgCre));
+		delete repository;
+		repository = NULL;
+		User::After(200000); // delay 200ms before access
+		}
+	SetTestStepResult(EPass);
+
+#endif
+	}