diff -r 26645d81f48d -r cc28652e0254 persistentstorage/centralrepository/test/testexecute/performance/src/TE_PerfTestCacheStepBase.cpp --- /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 +#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 + }