diff -r 28839de615b4 -r 26645d81f48d persistentstorage/centralrepository/test/testexecute/performance/src/TE_DefectTestStep.cpp --- 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 -#include "t_cenrep_helper.h" -#include "srvdefs.h" -#include "srvreqs.h" -#include -#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; iCreate(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 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 - }