persistentstorage/centralrepository/test/testexecute/performance/src/TE_DefectTestStep.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 21 28839de615b4
child 24 cc28652e0254
--- a/persistentstorage/centralrepository/test/testexecute/performance/src/TE_DefectTestStep.cpp	Thu Aug 19 11:36:21 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +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 "TE_DefectTestStep.h"
-#include "TE_PerfTestUtilities.h"
-#include <centralrepository.h>
-#include "t_cenrep_helper.h"
-#include "srvdefs.h"
-#include "srvreqs.h"
-#include <bautils.h>
-#include "cachemgr.h"
-
-#ifdef __CENTREP_SERVER_CACHETEST__
-
-const TUid KUidLargeRepository          = { 0xCCCCCC01 };
-const TUid KUidRep1						= { 0x00000100 };
-const TUid KUidLargeCreRepository       = { 0xCCCCCC02 };
-
-const TUint32 KNewInt = 1000;
-const TInt KIntValue = 1234;
-
-const TInt KNumOfAttempts = 10;
-
-_LIT(KZRep1File, 				"z:\\private\\10202BE9\\00000100.txt");
-_LIT(KCRep1TxtFile,				"c:\\private\\10202BE9\\persists\\00000100.txt");
-_LIT(KCRep1CreFile,				"c:\\private\\10202BE9\\persists\\00000100.cre");
-#endif
-
-CPerfTestDefectStep057491::CPerfTestDefectStep057491()
-	{
-	SetTestStepName(KPerfTestDefectStepDEF057491);
-	}
-	
-TVerdict CPerfTestDefectStep057491::doTestStepL()
-	{
-#ifndef __CENTREP_SERVER_CACHETEST__
-	return EPass;
-#else	
-	SetTestStepResult(EFail);
-	
-	CRepository* rep;
-	TInt64 totalRomMs=0;
-	TInt64 totalCreMs=0;
-	TInt64 totalRepWriteMs=0;
-	
-   	TUint32 startFastCounter;	
-   	TUint64 fastCounterromOpenMicroseconds;
-   	TUint64 fastCounterrepWriteMicroseconds;
-   	TUint64 fastCountercreOpenMicroseconds;
-	
-	// Flush and disable cache for this test
-	TInt r;
-	r = SetGetParameters(TIpcArgs(EDisableCache));
-	TEST(r==KErrNone);
-
-	// Time opening and writing repository
-	for(TInt i=0; i<KNumOfAttempts;i++)
-		{
-		// Get start time for ROM file
-	    startFastCounter = User::FastCounter();
-		User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeRepository));
-		
-		// Get finish time for ROM file
-		fastCounterromOpenMicroseconds = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-		totalRomMs+=fastCounterromOpenMicroseconds;
-		Logger().WriteFormat(_L("Time to open large repos from ROM      file = %lu microseconds\n"), fastCounterromOpenMicroseconds);
-		
-	    startFastCounter = User::FastCounter();
-		TInt r = rep->Create(KNewInt, KIntValue);
-		fastCounterrepWriteMicroseconds = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-		totalRepWriteMs+=fastCounterrepWriteMicroseconds;
-		Logger().WriteFormat(_L("Time to write large repos              file = %lu microseconds\n"), fastCounterrepWriteMicroseconds);
-
-		TEST(r==KErrNone);
-		
-		// Close repository
-		CleanupStack::PopAndDestroy(rep);
-		
-		// Get start time and ticks for .cre file
-	    startFastCounter = User::FastCounter();
-		
-		// Open repository 
-		User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeRepository));
-		
-		// Get finish time and ticks for .cre file
-		fastCountercreOpenMicroseconds  = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-		totalCreMs+=fastCountercreOpenMicroseconds;
-		Logger().WriteFormat(_L("Time to open large repos from persists file = %lu microseconds\n"), fastCountercreOpenMicroseconds);
-
-#if !defined(__WINS__) && !defined(__WINSCW__)
-		TEST(fastCounterromOpenMicroseconds>fastCountercreOpenMicroseconds);
-#endif		
-		const TUint32 	KIntKey1 		= 8847616;
-		const TInt 		KIntKey1Value 	= 1;
-		const TUint32 	KIntKey2 		= 139068928;
-		const TInt 		KIntKey2Value 	= 30;
-		const TUint32 	KIntKey3 		= 2373975808UL;
-		const TInt 		KIntKey3Value 	= -1920991488;
-		
-		// Test 3 random int key values from repository
-		TInt keyValue;
-		r=rep->Get(KIntKey1, keyValue);
-		TEST(r == KErrNone);
-		TEST(keyValue == KIntKey1Value);
-
-		r=rep->Get(KIntKey2, keyValue);
-		TEST(r == KErrNone);
-		TEST(keyValue == KIntKey2Value);
-		
-		r=rep->Get(KIntKey3, keyValue);
-		TEST(r == KErrNone);
-		TEST(keyValue == KIntKey3Value);
-		
-		// Close repository
-		CleanupStack::PopAndDestroy(rep);
-
-		CleanupFileFromCDriveL(KUidLargeRepository);
-		}
-	
-	Logger().WriteFormat(_L("Average time to open large repos from ROM      file = %lu ms\n"), totalRomMs/KNumOfAttempts);
-	Logger().WriteFormat(_L("Average time to open large repos from persists file = %lu ms\n"), totalCreMs/KNumOfAttempts);		
-	Logger().WriteFormat(_L("Average time to write large repos to  persists file = %lu ms\n"), totalRepWriteMs/KNumOfAttempts);		
-
-	RFs fs;			
-	User::LeaveIfError(fs.Connect());
-	CleanupClosePushL(fs);
-	CFileMan* fm = CFileMan::NewL(fs);
-	CleanupStack::PushL(fm);
-	// Copy a repository txt file to the C:
-	User::LeaveIfError(fm->Copy(KZRep1File, KCPersistsDir));
-	// Reset read-only bit
-	User::LeaveIfError(fm->Attribs(KCRep1TxtFile,0,KEntryAttReadOnly,TTime(0)));
-	// Check it exists
-	TEST( BaflUtils::FileExists (fs, KCRep1TxtFile));	
-	
-	// Open repository
-	User::LeaveIfNull(rep = CRepository::NewLC(KUidRep1));
-	
-	// Create a setting
-	r = rep->Create(KNewInt, KIntValue);
-	TEST(r == KErrNone);
-	
-	// Check persists file exists
-	TEST(BaflUtils::FileExists (fs, KCRep1CreFile));	
-
-	// Check that .txt file is gone	
-	TEST(BaflUtils::FileExists (fs, KCRep1TxtFile) == EFalse);	
-
-	// Close the repository
-	CleanupStack::PopAndDestroy(rep);
-	
-	CleanupStack::PopAndDestroy(2);		// fm, fs
-
-	CleanupFileFromCDriveL(KUidRep1);
-
-	// Enable cache
-	r = SetGetParameters(TIpcArgs(EEnableCache, KDefaultEvictionTimeout, KDefaultCacheSize));
-	TEST(r==KErrNone);
-
-	SetTestStepResult(EPass);
-	
-	return TestStepResult();
-#endif
-	}
-
-CPerfTestDefectStep059633::CPerfTestDefectStep059633()
-	{
-	SetTestStepName(KPerfTestDefectStepDEF059633);
-	}
-
-TVerdict CPerfTestDefectStep059633::doTestStepL()
-	{
-#ifndef __CENTREP_SERVER_CACHETEST__
-	return EPass;
-#else	
-	SetTestStepResult(EFail);
-
-	// Flush and disable cache for this test
-	TInt r;
-	r = SetGetParameters(TIpcArgs(EDisableCache));
-	TEST(r==KErrNone);
-
-	CleanupFileFromCDriveL(KUidLargeRepository);
-	CleanupFileFromCDriveL(KUidLargeCreRepository);
-
-   	CRepository* rep; 
-   	
-   	TUint32 startFastCounter;
-   	TUint64 fastCountertimeToOpenLargeIniRep;
-   	TUint64 fastCountertimeToOpenLargeCreRep;
-   	TUint64 fastCountertimeToOpenXLargeInis;
-   	TUint64 fastCountertimeToOpenXLargeCres;
-    
-    //=========================================================================================
-   	//Single .ini - opening
-    startFastCounter = User::FastCounter();
-	User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeRepository));
-	fastCountertimeToOpenLargeIniRep = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-	Logger().WriteFormat(_L("Time to open text based rep from ROM = %lu microseconds\n\n"), fastCountertimeToOpenLargeIniRep);
-	CleanupStack::PopAndDestroy(rep);
-	
-    //=========================================================================================
-	//KNumOfAttempts .ini
-	
-	startFastCounter = User::FastCounter();	
-	for (TInt i=0; i<KNumOfAttempts; i++)
-	    {
-	    User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeRepository));
-	    CleanupStack::PopAndDestroy(rep);
-	    }
-	fastCountertimeToOpenXLargeInis = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-
-	//=========================================================================================
-	//single .cre
-	startFastCounter = User::FastCounter();	
-	User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeCreRepository));
-	fastCountertimeToOpenLargeCreRep = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-	Logger().WriteFormat(_L("Time to open binary rep from ROM = %lu microseconds\n\n"), fastCountertimeToOpenLargeCreRep);
-	CleanupStack::PopAndDestroy(rep);
-	
-	//=========================================================================================
-	//KNumOfAttempts .cre
-	startFastCounter = User::FastCounter();	
-	for (TInt j=0; j<KNumOfAttempts; j++)
-	    {	    
-  	    User::LeaveIfNull(rep = CRepository::NewLC(KUidLargeCreRepository));
-  	    CleanupStack::PopAndDestroy(rep);
-	    }
-	fastCountertimeToOpenXLargeCres = FastCountToMicrosecondsInInt(User::FastCounter() - startFastCounter);
-
-    //=========================================================================================	    
-	//average 
-	TInt64 averageFastCounterTimeToOpenIni = fastCountertimeToOpenXLargeInis / KNumOfAttempts;
-	Logger().WriteFormat(_L("Average time to open text based rep from ROM = %lu  microseconds\n\n"), averageFastCounterTimeToOpenIni);
-	
-	TInt64 averageFastCounterTimeToOpenCre = fastCountertimeToOpenXLargeCres / KNumOfAttempts;
-	Logger().WriteFormat(_L("Average time to open binary rep from ROM = %lu  microseconds\n\n"), averageFastCounterTimeToOpenCre);
-  	
-  	//=========================================================================================
-    //prove that opening .ini is slower than opening .cre files 
-    // (even though the difference is now much less after the performance 
-    // improvements of PREQ 1192, the test is now much more precise by using fastcounter)
-#if !defined(__WINS__) && !defined(__WINSCW__)
-    TEST(fastCountertimeToOpenLargeIniRep > fastCountertimeToOpenLargeCreRep);
-    TEST(fastCountertimeToOpenXLargeInis > fastCountertimeToOpenXLargeCres);
-    TEST(averageFastCounterTimeToOpenIni > averageFastCounterTimeToOpenCre);
-#endif		
-
-    //==========================================================================================
-    //benchmarks - open
-	#if !defined(__WINS__) && !defined(__WINSCW__)
-	    #ifdef _DEBUG
-      	  	const TInt64 KOpenCreTime  = 150000; //armv5 debug
-	    #else
-      	   const TInt64 KOpenCreTime  = 75000;  //armv5 urel
-      	#endif
-	
-	TEST(averageFastCounterTimeToOpenCre < KOpenCreTime);      	
-	
-    #endif//!defined(__WINS__) && !defined(__WINSCW__)
-
-    //========================================================================
-
-	CleanupFileFromCDriveL(KUidLargeRepository);
-	CleanupFileFromCDriveL(KUidLargeCreRepository);
-
-	// Enable cache
-	r = SetGetParameters(TIpcArgs(EEnableCache, KDefaultEvictionTimeout, KDefaultCacheSize));
-	TEST(r==KErrNone);
-
-	SetTestStepResult(EPass);
-	
-	return TestStepResult();
-#endif
-	}