--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build.config.xml Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,190 @@
+<?xml version="1.0"?>
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+ <!ENTITY layer_real_source_path "sf/os/persistentdata" >
+]>
+
+<SystemDefinition name="persistentdata" schema="1.4.0">
+ <systemModel>
+ <layer name="os_layer">
+ <module name="featuremgmt">
+ <unit
+ name="featuremgr"
+ unitID="sos.featuremgr"
+ bldFile="&layer_real_source_path;/featuremgmt/featuremgr/group"
+ mrp="&layer_real_source_path;/featuremgmt/featuremgr/group/syslibs_featmgr.mrp"
+ />
+ <unit
+ name="featureregistry"
+ unitID="sos.featureregistry"
+ bldFile="&layer_real_source_path;/featuremgmt/featureregistry/group"
+ mrp="&layer_real_source_path;/featuremgmt/featureregistry/group/syslibs_featreg.mrp"
+ />
+ </module>
+
+ <module name="loggingservices">
+ <unit
+ name="eventlogger"
+ unitID="sos.eventlogger"
+ bldFile="&layer_real_source_path;/loggingservices/eventlogger/group"
+ mrp="&layer_real_source_path;/loggingservices/eventlogger/group/syslibs_logeng.mrp"
+ />
+ <unit
+ name="filelogger"
+ unitID="sos.filelogger"
+ bldFile="&layer_real_source_path;/loggingservices/filelogger/group"
+ mrp="&layer_real_source_path;/loggingservices/filelogger/group/comms-infras_flogger.mrp"
+ />
+ <unit
+ name="rfilelogger"
+ unitID="sos.rfilelogger"
+ bldFile="&layer_real_source_path;/loggingservices/rfilelogger/group"
+ mrp="&layer_real_source_path;/loggingservices/rfilelogger/group/testtools_utilities.mrp"
+ />
+ </module>
+
+ <module name="persistentstorage">
+ <unit
+ name="centralrepository"
+ unitID="sos.centralrepository"
+ bldFile="&layer_real_source_path;/persistentstorage/centralrepository/group"
+ mrp="&layer_real_source_path;/persistentstorage/centralrepository/group/syslibs_centralrepository.mrp"
+ />
+ <unit
+ name="dbms"
+ unitID="sos.dbms"
+ bldFile="&layer_real_source_path;/persistentstorage/dbms/group"
+ mrp="&layer_real_source_path;/persistentstorage/dbms/group/syslibs_dbms.mrp"
+ />
+ <unit
+ name="sql"
+ unitID="sos.sql"
+ bldFile="&layer_real_source_path;/persistentstorage/sql/group"
+ mrp="&layer_real_source_path;/persistentstorage/sql/group/syslibs_sql.mrp"
+ />
+ <unit
+ name="sqlite3api"
+ unitID="sos.sqlite3api"
+ bldFile="&layer_real_source_path;/persistentstorage/sqlite3api/group"
+ mrp="&layer_real_source_path;/persistentstorage/sqlite3api/group/syslibs_sqlite3.mrp"
+ />
+ <unit
+ name="store"
+ unitID="sos.store"
+ bldFile="&layer_real_source_path;/persistentstorage/store/group"
+ mrp="&layer_real_source_path;/persistentstorage/store/group/syslibs_store.mrp"
+ />
+ </module>
+
+ <module name="traceservices">
+ <unit
+ name="commsdebugutility"
+ unitID="sos.commsdebugutility"
+ bldFile="&layer_real_source_path;/traceservices/commsdebugutility/group"
+ mrp="&layer_real_source_path;/traceservices/commsdebugutility/group/comms-infras_commsdebugutility.mrp"
+ />
+ <unit
+ name="tracefw"
+ unitID="sos.tracefw"
+ bldFile="&layer_real_source_path;/traceservices/tracefw/group"
+ mrp="&layer_real_source_path;/traceservices/tracefw/ulogger/group/tools_debug_trace.mrp"
+ />
+ </module>
+ </layer>
+
+ <layer name="api_test_layer">
+ <module name="featuremgmt">
+ <unit
+ name="featuremgr"
+ unitID="sos.featuremgr.test"
+ bldFile="&layer_real_source_path;/featuremgmt/featuremgr/group"
+ mrp="&layer_real_source_path;/featuremgmt/featuremgr/group/syslibs_featmgr.mrp"
+ />
+ <unit
+ name="featureregistry"
+ unitID="sos.featureregistry.test"
+ bldFile="&layer_real_source_path;/featuremgmt/featureregistry/group"
+ mrp="&layer_real_source_path;/featuremgmt/featureregistry/group/syslibs_featreg.mrp"
+ />
+ </module>
+
+ <module name="loggingservices">
+ <unit
+ name="eventlogger"
+ unitID="sos.eventlogger.test"
+ bldFile="&layer_real_source_path;/loggingservices/eventlogger/group"
+ mrp="&layer_real_source_path;/loggingservices/eventlogger/group/syslibs_logeng.mrp"
+ />
+ <unit
+ name="filelogger"
+ unitID="sos.filelogger.test"
+ bldFile="&layer_real_source_path;/loggingservices/filelogger/group"
+ mrp="&layer_real_source_path;/loggingservices/filelogger/group/comms-infras_flogger.mrp"
+ />
+ <unit
+ name="rfilelogger"
+ unitID="sos.rfilelogger.test"
+ bldFile="&layer_real_source_path;/loggingservices/rfilelogger/group"
+ mrp="&layer_real_source_path;/loggingservices/rfilelogger/group/testtools_utilities.mrp"
+ />
+ </module>
+
+ <module name="persistentstorage">
+ <unit
+ name="centralrepository"
+ unitID="sos.centralrepository.test"
+ bldFile="&layer_real_source_path;/persistentstorage/centralrepository/group"
+ mrp="&layer_real_source_path;/persistentstorage/centralrepository/group/syslibs_centralrepository.mrp"
+ />
+ <unit
+ name="dbms"
+ unitID="sos.dbms.test"
+ bldFile="&layer_real_source_path;/persistentstorage/dbms/group"
+ mrp="&layer_real_source_path;/persistentstorage/dbms/group/syslibs_dbms.mrp"
+ />
+ <unit
+ name="sql"
+ unitID="sos.sql.test"
+ bldFile="&layer_real_source_path;/persistentstorage/sql/group"
+ mrp="&layer_real_source_path;/persistentstorage/sql/group/syslibs_sql.mrp"
+ />
+ <unit
+ name="sqlite3api"
+ unitID="sos.sqlite3api.test"
+ bldFile="&layer_real_source_path;/persistentstorage/sqlite3api/group"
+ mrp="&layer_real_source_path;/persistentstorage/sqlite3api/group/syslibs_sqlite3.mrp"
+ />
+ <unit
+ name="store"
+ unitID="sos.store.test"
+ bldFile="&layer_real_source_path;/persistentstorage/store/group"
+ mrp="&layer_real_source_path;/persistentstorage/store/group/syslibs_store.mrp"
+ />
+ </module>
+
+ <module name="traceservices">
+ <unit
+ name="commsdebugutility"
+ unitID="sos.commsdebugutility.test"
+ bldFile="&layer_real_source_path;/traceservices/commsdebugutility/group"
+ mrp="&layer_real_source_path;/traceservices/commsdebugutility/group/comms-infras_commsdebugutility.mrp"
+ />
+ <unit
+ name="tracefw"
+ unitID="sos.tracefw.test"
+ bldFile="&layer_real_source_path;/traceservices/tracefw/group"
+ mrp="&layer_real_source_path;/traceservices/tracefw/ulogger/group/tools_debug_trace.mrp"
+ />
+ </module>
+
+ <module name="burtestserver">
+ <unit
+ name="burtestserver"
+ unitID="sos.burtestserver.test"
+ bldFile="sf/os/buildtools/toolsandutils/burtestserver/Group"
+ mrp="sf/os/buildtools/toolsandutils/burtestserver/Group/testtools_burtestserver.mrp"
+ />
+ </module>
+ </layer>
+ </systemModel>
+</SystemDefinition>
+
--- a/featuremgmt/featuremgr/group/featmgrserver.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/featuremgmt/featuremgr/group/featmgrserver.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -15,15 +15,16 @@
#ifdef __FEATMGR_TESTCFG__
TARGET test_featmgrserver.exe
-CAPABILITY AllFiles
+CAPABILITY AllFiles ProtServ ReadDeviceData
#else
TARGET featmgrserver.exe
+CAPABILITY ProtServ ReadDeviceData
#endif // __FEATMGR_TESTCFG__
// Since this is an exe with no alternate implementations,
// just use same UID for both UID2 and UID3
UID 0x10205054 0x10205054
-CAPABILITY ProtServ ReadDeviceData
+
TARGETTYPE exe
VENDORID 0x70000001
--- a/featuremgmt/featuremgr/test/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/featuremgmt/featuremgr/test/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -83,6 +83,7 @@
//iby files for the test components
featmgr_techview_test.iby /epoc32/rom/include/featmgr_techview_test.iby
+featmgr_techview_rtest.iby /epoc32/rom/include/featmgr_techview_rtest.iby
featmgr_textshell_test.iby /epoc32/rom/include/featmgr_textshell_test.iby
../tef/tef_efm_configured/group/efm_configured_testserver.iby /epoc32/rom/include/efm_configured_testserver.iby
../tef/tef_efm_normal/group/efm_normal_testserver.iby /epoc32/rom/include/efm_normal_testserver.iby
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/featuremgmt/featuremgr/test/group/featmgr_techview_rtest.iby Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,22 @@
+// Copyright (c) 2010 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:
+//
+
+#ifndef __FEATMGR_TECHVIEW_RTEST_IBY__
+#define __FEATMGR_TECHVIEW_RTEST_IBY__
+
+file=ABI_DIR\BUILD_DIR\t_fmgrbackupresponse.exe test\t_fmgrbackupresponse.exe
+file=ABI_DIR\BUILD_DIR\t_fmgrrestoreresponse.exe test\t_fmgrrestoreresponse.exe
+
+#endif // __FEATMGR_TECHVIEW_RTEST_IBY__
--- a/loggingservices/eventlogger/Rom/logengtest.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/Rom/logengtest.iby Thu Jul 22 16:49:09 2010 +0100
@@ -61,11 +61,13 @@
file=ABI_DIR\BUILD_DIR\t_logcompat.exe Test\t_logcompat.exe
file=ABI_DIR\BUILD_DIR\t_logsimid.exe Test\t_logsimid.exe
-data=ZSYSTEM\test\logengtests.bat Test\logengtests.bat
-data=ZSYSTEM\data\oldLogdbu.dat system\data\oldLogdbu.dat
-data=ZSYSTEM\data\corruptLogdbu.dat system\data\corruptLogdbu.dat
-data=ZSYSTEM\data\corruptDamagedLogdbu.dat system\data\corruptDamagedLogdbu.dat
-data=ZSYSTEM\data\101f401d.txt system\data\101f401d.txt
+data=DATAZ_\test\logengtests.bat Test\logengtests.bat
+
+data=DATAZ_\test\oldLogdbu.dat Test\oldLogdbu.dat
+data=DATAZ_\test\corruptLogdbu.dat Test\corruptLogdbu.dat
+data=DATAZ_\test\corruptDamagedLogdbu.dat Test\corruptDamagedLogdbu.dat
+data=DATAZ_\test\101f401d.txt Test\101f401d.txt
+
//The next line to be uncommented if the testing is performed locally. Otherwise t_logview2 fails -
//the following file is missing and needed by the time zone server.
//data=ZPRIVATE\10202BE9\1020383e.txt private\10202be9\1020383e.txt
--- a/loggingservices/eventlogger/group/BLD.INF Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/group/BLD.INF Thu Jul 22 16:49:09 2010 +0100
@@ -20,6 +20,7 @@
*/
PRJ_EXPORTS
+
../LogWrap/inc/LOGWRAP.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(logwrap.h)
../LogWrap/inc/LOGWRAPCONST.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(logwrapconst.h)
../LogWrap/inc/LOGWRAPLIMITS.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(logwraplimits.h)
@@ -51,6 +52,7 @@
../conf/eventlogger_101f401d.crml OS_LAYER_EXPORTS_CRML(eventlogger_101f401d.crml)
PRJ_MMPFILES
+
LOGWRAP.MMP
logstub.mmp
logserv.mmp
@@ -58,14 +60,17 @@
logcntmodel.mmp
PRJ_TESTEXPORTS
-../Rom/logengtest.iby /epoc32/rom/include/logengtest.iby
-../group/logengtests.bat /epoc32/data/z/system/test/logengtests.bat
-../test/contacttestmanualpost.bat /epoc32/data/z/system/test/contacttestmanualpost.bat
-../test/contacttestmanualpre.bat /epoc32/data/z/system/test/contacttestmanualpre.bat
-../test/logservcntmatch.rsc /epoc32/data/z/system/test/logservcntmatch.rsc
+
+../Rom/logengtest.iby /epoc32/rom/include/logengtest.iby
+../group/logengtests.bat z:/test/logengtests.bat
+../test/src/oldLogdbu.dat z:/test/oldLogdbu.dat
+../test/src/corruptLogdbu.dat z:/test/corruptLogdbu.dat
+../test/src/corruptDamagedLogdbu.dat z:/test/corruptDamagedLogdbu.dat
+../test/101f401d.txt z:/test/101f401d.txt
PRJ_TESTMMPFILES
+
../test/t_logtype.mmp
../test/t_logapi.mmp
../test/t_logapi2.mmp
@@ -101,8 +106,4 @@
../test/t_logsimid.mmp
../test/t_logcntmatchplugin.mmp support
-PRJ_TESTEXTENSIONS
-start extension syslibs/test/logeng_copytestfiles
-end
-
#include "../test/tef/group/bld.inf"
--- a/loggingservices/eventlogger/test/contacttestmanualpost.bat Mon Jun 21 22:46:09 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-@echo off
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-if not exist %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC.TMP goto noTmpFiles
-
-rem Delete new ( matching disabled ) rsc files
-del /f %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC
-del /f %EPOCROOT%EPOC32\RELEASE\WINSCW\UREL\Z\private\101f401d\LOGSERV.RSC
-del /f %EPOCROOT%EPOC32\data\Z\Private\101f401d\logserv.rsc
-
-rem Restore original ( matching disabled ) rsc files
-rename %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC.TMP LOGSERV.RSC
-rename %EPOCROOT%EPOC32\RELEASE\WINSCW\UREL\Z\private\101f401d\LOGSERV.RSC.TMP LOGSERV.RSC
-rename %EPOCROOT%EPOC32\data\Z\Private\101f401d\logserv.rsc.tmp logserv.rsc
-goto :EOF
-
-:noTmpFiles
-@echo No temp files exist, pre bat file hasn't been run or %0 already called
--- a/loggingservices/eventlogger/test/contacttestmanualpre.bat Mon Jun 21 22:46:09 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-@echo off
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@rem This call is so that the batch file can be used unaltered by the ONB
-@if exist \textshell.bat call \textshell.bat
-
-@if not exist %EPOCROOT%EPOC32\DATA\Z\SYSTEM\TEST\LOGSERVCNTMATCH.RSC goto notBuilt
-@if exist %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC.TMP goto TmpFilesExist
-
-@rem Save original ( matching disabled ) rsc files
-@rename %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC LOGSERV.RSC.TMP
-@rename %EPOCROOT%EPOC32\RELEASE\WINSCW\UREL\Z\private\101f401d\LOGSERV.RSC LOGSERV.RSC.TMP
-@rename %EPOCROOT%EPOC32\data\Z\Private\101f401d\logserv.rsc logserv.rsc.tmp
-
-@rem Copy over new ( matching enabled ) rsc file
-@copy /y %EPOCROOT%EPOC32\DATA\Z\SYSTEM\TEST\LOGSERVCNTMATCH.RSC %EPOCROOT%EPOC32\RELEASE\WINSCW\UDEB\Z\private\101f401d\LOGSERV.RSC
-@copy /y %EPOCROOT%EPOC32\DATA\Z\SYSTEM\TEST\LOGSERVCNTMATCH.RSC %EPOCROOT%EPOC32\RELEASE\WINSCW\UREL\Z\private\101f401d\LOGSERV.RSC
-@copy /y %EPOCROOT%EPOC32\DATA\Z\SYSTEM\TEST\LOGSERVCNTMATCH.RSC %EPOCROOT%EPOC32\data\Z\Private\101f401d\logserv.rsc
-@goto :EOF
-
-:TmpFilesExist
-@echo Tmp files exist %0 already called
-@goto :EOF
-
-:notBuilt
-@echo %EPOCROOT%EPOC32\DATA\Z\SYSTEM\TEST\LOGSERVCNTMATCH.RSC doesn't exist, test files not exported.
--- a/loggingservices/eventlogger/test/inc/t_logutil2.h Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/inc/t_logutil2.h Thu Jul 22 16:49:09 2010 +0100
@@ -82,7 +82,7 @@
GLREF_D RFile theLog;
GLREF_D RLogTestSession theLogServ;
-#define __FILE_FAILNEXT(X) theFs.SetErrorCondition(KErrGeneral, X)
+#define __FILE_FAILNEXT(err, iteration) theFs.SetErrorCondition(err, iteration)
#define __FILE_RESET theFs.SetErrorCondition(KErrNone, 0)
#if defined(_UNICODE)
Binary file loggingservices/eventlogger/test/logservcntmatch.rsc has changed
Binary file loggingservices/eventlogger/test/src/CntModel.ini has changed
Binary file loggingservices/eventlogger/test/src/SQLite__Contacts.cdb has changed
--- a/loggingservices/eventlogger/test/src/t_logapi.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_logapi.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -786,7 +786,7 @@
User::After(1000);
//copy the repository file to the folder 10202be9
- _LIT(KCommandParameters1, "z:\\system\\data\\101f401d.txt;c:\\private\\10202be9\\101f401d.txt;0");
+ _LIT(KCommandParameters1, "z:\\test\\101f401d.txt;c:\\private\\10202be9\\101f401d.txt;0");
r = process.Create(KExecutableFileName, KCommandParameters1);
process.Resume();
process.Close();
--- a/loggingservices/eventlogger/test/src/t_logfile.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_logfile.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -198,7 +198,9 @@
while(!finished)
{
- if(failCount == 4)
+ TheTest.Printf(_L("%d\r\n"), failCount);
+
+ if(failCount > 8)
{
TRAP(error, client = CLogClient::NewL(theFs));
TEST2(error, KErrNone);
@@ -206,8 +208,8 @@
finished = ETrue;
continue;
}
-
- __FILE_FAILNEXT(++failCount);
+
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TRAP(error, client = CLogClient::NewL(theFs));
@@ -220,13 +222,13 @@
}
else
{
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
TestUtils::DeleteDatabaseL();
}
}
delete client;
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -258,8 +260,7 @@
while(!finished)
{
error = KErrNone;
-
- if(failCount == 4)
+ if(failCount == 8)
{
aClient.AddEventType(*type, active->iStatus);
active->StartL();
@@ -268,9 +269,11 @@
finished = ETrue;
continue;
}
+
+ TheTest.Printf(_L("%d \r"), failCount);
+
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
- __FILE_FAILNEXT(++failCount);
-
aClient.AddEventType(*type, active->iStatus);
active->StartL();
@@ -283,7 +286,7 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetEventType(*type, active->iStatus);
@@ -301,7 +304,7 @@
TEST2(active->iStatus.Int(), KErrAlreadyExists);
CleanupStack::PopAndDestroy(2); // active, type
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -329,7 +332,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.GetEventType(*type, active->iStatus);
@@ -340,7 +344,7 @@
finished = ETrue;
else
{
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
TEST(type->Description() == KNullDesC);
}
@@ -352,7 +356,7 @@
TEST(type->LoggingEnabled());
CleanupStack::PopAndDestroy(2); // active, type
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -386,7 +390,7 @@
type->SetDescription(KTestEventDesc2);
type->SetLoggingEnabled(EFalse);
- if(failCount == 3)
+ if(failCount == 8)
{
aClient.ChangeEventType(*type, active->iStatus);
active->StartL();
@@ -396,7 +400,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.ChangeEventType(*type, active->iStatus);
@@ -410,7 +415,7 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetEventType(*type, active->iStatus);
@@ -436,7 +441,7 @@
TEST(type->LoggingEnabled() == EFalse);
CleanupStack::PopAndDestroy(2); // type, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -467,7 +472,7 @@
{
error = KErrNone;
- if(failCount == 3)
+ if(failCount == 8)
{
aClient.DeleteEventType(KTestEventUid, active->iStatus);
active->StartL();
@@ -477,7 +482,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.DeleteEventType(KTestEventUid, active->iStatus);
@@ -491,7 +497,7 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetEventType(*type, active->iStatus);
@@ -508,7 +514,7 @@
TEST2(active->iStatus.Int(), KErrNotFound);
CleanupStack::PopAndDestroy(2); // type, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -568,7 +574,7 @@
{
error = KErrNone;
- if(failCount == 3)
+ if(failCount == 8)
{
aClient.AddEvent(*event, active->iStatus);
active->StartL();
@@ -578,7 +584,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.AddEvent(*event, active->iStatus);
active->StartL();
@@ -591,9 +598,8 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
- TEST2(error, KErrGeneral);
event->SetId(0);
active->StartL();
@@ -617,7 +623,7 @@
TEST2(active->iStatus.Int(), KErrNone);
CleanupStack::PopAndDestroy(3); // event, active, type
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -646,7 +652,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.GetEvent(*event, active->iStatus);
active->StartL();
@@ -655,7 +662,7 @@
if (active->iStatus == KErrNone)
finished = ETrue;
else
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
__FILE_RESET;
}
@@ -676,7 +683,7 @@
TEST(event->Data() == KTestData1);
CleanupStack::PopAndDestroy(2); // event, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -722,7 +729,7 @@
event->SetLink(KTestLink2);
event->SetDataL(KTestData2);
- if(failCount == 3)
+ if(failCount == 14)
{
aClient.ChangeEvent(*event, active->iStatus);
active->StartL();
@@ -732,7 +739,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.ChangeEvent(*event, active->iStatus);
@@ -745,13 +753,13 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetEvent(*event, active->iStatus);
CActiveScheduler::Start();
if (active->iStatus != KErrNone)
- TheTest.Printf(_L("error code:%d failcount:%d\n"),active->iStatus.Int(),failCount);
+ TheTest.Printf(_L("\nerror code:%d failcount:%d\n"),active->iStatus.Int(),failCount);
TEST2(active->iStatus.Int(), KErrNone);
TEST(event->Id() == 0);
@@ -794,7 +802,7 @@
TEST(event->Data() == KTestData2);
CleanupStack::PopAndDestroy(2); // event, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -826,7 +834,7 @@
{
error = KErrNone;
- if(failCount == 6)
+ if(failCount == 10)
{
aClient.DeleteEvent(0, active->iStatus);
active->StartL();
@@ -836,7 +844,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.DeleteEvent(0, active->iStatus);
@@ -850,7 +859,7 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetEvent(*event, active->iStatus);
@@ -867,7 +876,7 @@
TEST2(active->iStatus.Int(), KErrNotFound);
CleanupStack::PopAndDestroy(2); // event, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -897,7 +906,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.GetConfig(config, active->iStatus);
active->StartL();
@@ -906,7 +916,7 @@
if (active->iStatus == KErrNone)
finished = ETrue;
else
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
__FILE_RESET;
}
@@ -916,7 +926,7 @@
TEST(config.iMaxRecentLogSize > 0);
CleanupStack::PopAndDestroy(); // active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -956,7 +966,7 @@
config.iMaxRecentLogSize = KTestMaxRecentLogSize;
config.iMaxEventAge = KTestMaxEventAge;
- if(failCount == 4)
+ if(failCount == 11)
{
aClient.ChangeConfig(config, active->iStatus);
active->StartL();
@@ -966,7 +976,8 @@
continue;
}
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
aClient.ChangeConfig(config, active->iStatus);
@@ -980,7 +991,7 @@
__FILE_RESET;
- if (error == KErrGeneral)
+ if (error == KErrNoMemory)
{
active->StartL();
aClient.GetConfig(config, active->iStatus);
@@ -1000,7 +1011,7 @@
TEST(config.iMaxEventAge == KTestMaxEventAge);
CleanupStack::PopAndDestroy(); // active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -1024,7 +1035,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
error = aClient.GetString(str, R_LOG_DIR_IN);
@@ -1037,11 +1049,11 @@
}
else
{
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
TEST(str.Length() == 0);
}
}
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
@@ -1144,7 +1156,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
#ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM
if(aUseSimId)
@@ -1165,7 +1178,7 @@
if (active->iStatus == KErrNone)
finished = ETrue;
else
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
active->StartL();
@@ -1206,7 +1219,7 @@
TEST2(active->iStatus.Int(), KErrNotFound);
CleanupStack::PopAndDestroy(5); // event4, event3, event2, event1, active
- TheTest.Printf(_L("The test has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
void doTestsL()
@@ -1216,7 +1229,7 @@
TheTest.Start(_L("Construction + create db"));
TestUtils::DeleteDatabaseL();
TestConstructionL(); // Creates database
- TheTest.Next(_L("Construction + open db"));
+ TheTest.Next(_L("Construction + open db"));
TestConstructionL(); // Opens existing database
TestUtils::DeleteDatabaseL();
theLog.Write(_L8("Test 1 OK\n"));
--- a/loggingservices/eventlogger/test/src/t_loghicaphelper.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_loghicaphelper.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -69,9 +69,9 @@
EIsMatchingEnabled
} ;
-_LIT(KOldCorruptDatabase,"z:\\system\\data\\corruptLogdbu.dat");
-_LIT(KOldCorruptDamagedDatabase,"z:\\system\\data\\corruptDamagedLogdbu.dat");
-_LIT(KOldFormatDatabase,"z:\\system\\data\\oldLogdbu.dat");
+_LIT(KOldCorruptDatabase,"z:\\test\\corruptLogdbu.dat");
+_LIT(KOldCorruptDamagedDatabase,"z:\\test\\corruptDamagedLogdbu.dat");
+_LIT(KOldFormatDatabase,"z:\\test\\oldLogdbu.dat");
CTestActive::CTestActive(TInt aPriority)
--- a/loggingservices/eventlogger/test/src/t_logviewfail2.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_logviewfail2.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -65,7 +65,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->SetFilterL(*filter, active->iStatus));
@@ -86,25 +87,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-1 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-1 has succeeded at iteration %d\n"), failCount);
list->AppendL(filter);
CleanupStack::Pop(); // filter
@@ -120,7 +121,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->SetFilterL(*list, active->iStatus));
@@ -141,20 +143,20 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
@@ -163,7 +165,7 @@
list->ResetAndDestroy();
CleanupStack::PopAndDestroy(4); // list, view, event, active
- TheTest.Printf(_L("Test-2 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-2 has succeeded at iteration %d\n"), failCount);
}
/**
@@ -206,7 +208,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->SetRecentListL(KLogRecentIncomingCalls, active->iStatus));
@@ -225,25 +228,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-1 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-1 has succeeded at iteration %d\n"), failCount);
CLogFilterList* list = new(ELeave)CLogFilterList;
CleanupStack::PushL(list);
@@ -257,7 +260,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->SetRecentListL(KLogRecentIncomingCalls, *filter, active->iStatus));
@@ -276,25 +280,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-2 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-2 has succeeded at iteration %d\n"), failCount);
list->AppendL(filter);
CleanupStack::Pop(); // filter
@@ -310,7 +314,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->SetRecentListL(KLogRecentIncomingCalls, *list, active->iStatus));
@@ -329,20 +334,20 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
@@ -351,7 +356,7 @@
list->ResetAndDestroy();
CleanupStack::PopAndDestroy(4); // list, view, event, active
- TheTest.Printf(_L("Test-3 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-3 has succeeded at iteration %d\n"), failCount);
}
/**
@@ -409,7 +414,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->DuplicatesL(*duplicate, active->iStatus));
@@ -428,25 +434,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-1 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-1 has succeeded at iteration %d\n"), failCount);
CLogFilterList* list = new(ELeave)CLogFilterList;
CleanupStack::PushL(list);
@@ -460,7 +466,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->DuplicatesL(*duplicate, *filter, active->iStatus));
@@ -479,25 +486,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-2 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-2 has succeeded at iteration %d\n"), failCount);
list->AppendL(filter);
CleanupStack::Pop(); // filter
@@ -513,7 +520,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->DuplicatesL(*duplicate, *list, active->iStatus));
@@ -532,20 +540,20 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
@@ -554,7 +562,7 @@
list->ResetAndDestroy();
CleanupStack::PopAndDestroy(5); // list, duplicate, view, event, active
- TheTest.Printf(_L("Test-3 has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-3 has succeeded at iteration %d\n"), failCount);
}
/**
@@ -601,7 +609,8 @@
TEST(view->CountL() > 1);
event->CopyL(view->Event());
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->NextL(active->iStatus));
@@ -620,25 +629,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-1 (\"View Next\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-1 (\"View Next\") has succeeded at iteration %d\n"), failCount);
failCount = 0;
finished = EFalse;
@@ -658,7 +667,8 @@
event->CopyL(view->Event());
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->PreviousL(active->iStatus));
@@ -677,25 +687,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-2 (\"View Previous\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-2 (\"View Previous\") has succeeded at iteration %d\n"), failCount);
failCount = 0;
finished = EFalse;
@@ -715,7 +725,8 @@
event->CopyL(view->Event());
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->FirstL(active->iStatus));
@@ -734,25 +745,25 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
}
- TheTest.Printf(_L("Test-3 (\"View First\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-3 (\"View First\") has succeeded at iteration %d\n"), failCount);
failCount = 0;
finished = EFalse;
@@ -772,7 +783,8 @@
event->CopyL(view->Event());
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TBool result = EFalse;
TRAP(error, result = view->LastL(active->iStatus));
@@ -791,20 +803,20 @@
}
else
{
- if(active->iStatus.Int() != KErrGeneral)
+ if(active->iStatus.Int() != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
- TEST2(active->iStatus.Int(), KErrGeneral);
+ TEST2(active->iStatus.Int(), KErrNoMemory);
}
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
@@ -812,7 +824,7 @@
CleanupStack::PopAndDestroy(4); // filter, view, event, active
- TheTest.Printf(_L("Test-4 (\"View Last\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nTest-4 (\"View Last\") has succeeded at iteration %d\n"), failCount);
}
/**
@@ -856,7 +868,8 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TInt result = 0;
TRAP(error, result = view->CountL());
@@ -868,11 +881,11 @@
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
__FILE_RESET;
@@ -880,7 +893,7 @@
CleanupStack::PopAndDestroy(4); // filter, view, event, active
- TheTest.Printf(_L("The test (\"View Count\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test (\"View Count\") has succeeded at iteration %d\n"), failCount);
}
/**
@@ -943,14 +956,9 @@
while(!finished)
{
- // This failCount value causes DBMS to return KErrCorrupt. Apparently this
- // can't actually occur in real life, so we skip this value.
- if (failCount == 9 || failCount == 14)
- {
- failCount++;
- }
- __FILE_FAILNEXT(++failCount);
-
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
+
TRAP(error, view->RemoveL(view->Event().Id()));
__FILE_RESET;
@@ -964,7 +972,7 @@
CActiveScheduler::Start();
if(active->iStatus.Int() != KErrNone)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
TEST2(active->iStatus.Int(), KErrNone);
@@ -972,16 +980,24 @@
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
+ }
+ // This failCount value causes DBMS to return KErrCorrupt. Apparently this
+ // can't actually occur in real life, so we skip this value.
+ if (failCount > 9)
+ {
+ finished = ETrue;
+ TRAP(error, view->RemoveL(view->Event().Id()));
+ TEST2(error, KErrNone);
}
}
CleanupStack::PopAndDestroy(3); // view, event, active
- TheTest.Printf(_L("The test (\"View Remove\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test (\"View Remove\") has succeeded at iteration %d\n"), failCount);
}
/**
@@ -1055,14 +1071,15 @@
while(!finished)
{
- __FILE_FAILNEXT(++failCount);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
- if(failCount == 7)
+ if(failCount == 17)
{
__FILE_RESET;
break;
}
-
+
TRAP(error, duplicate->RemoveL(duplicate->Event().Id()));
__FILE_RESET;
@@ -1076,7 +1093,7 @@
CActiveScheduler::Start();
if(active->iStatus.Int() != KErrNone)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, active->iStatus.Int());
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, active->iStatus.Int());
}
TEST2(active->iStatus.Int(), KErrNone);
@@ -1084,16 +1101,16 @@
}
else
{
- if(error != KErrGeneral)
+ if(error != KErrNoMemory)
{
- TheTest.Printf(_L("Iter.step: %d, error %d\n"), failCount, error);
+ TheTest.Printf(_L("\r\nIter.step: %d, error %d\n"), failCount, error);
}
- TEST2(error, KErrGeneral);
+ TEST2(error, KErrNoMemory);
}
}
CleanupStack::PopAndDestroy(4); // duplicate, view, event, active
- TheTest.Printf(_L("The test (\"View Remove Duplicates\") has succeeded at iteration %d\n"), failCount);
+ TheTest.Printf(_L("\r\nThe test (\"View Remove Duplicates\") has succeeded at iteration %d\n"), failCount);
}
void doTestsL()
--- a/loggingservices/eventlogger/test/src/t_logwrap.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/src/t_logwrap.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -277,7 +277,8 @@
while(!finished)
{
- __FILE_FAILNEXT(failCount++);
+ TheTest.Printf(_L("%d \r"), failCount);
+ __FILE_FAILNEXT(KErrNoMemory, failCount++);
TRAP(error, wrapper = CLogWrapper::NewL(theFs));
@@ -291,8 +292,11 @@
delete wrapper;
}
else
- TEST2(error, KErrGeneral);
+ {
+ TEST2(error, KErrNoMemory);
+ }
}
+ TheTest.Printf(_L("\r\nThe test has succeeded at iteration %d\n"), failCount);
}
/**
--- a/loggingservices/eventlogger/test/tef/group/logengteftests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/eventlogger/test/tef/group/logengteftests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -19,14 +19,6 @@
#include <testexecute.iby>
#include <burtestserver.iby>
-#include <connectivity_securebackupengine.iby>
-// the backup engine is dependant on all of these:
-#include <swi.iby>
-#include <certman.iby>
-#include <filetokens.iby>
-#include <httpcore.iby>
-#include <tls.iby>
-#include <ResponseMsg.iby>
file=ABI_DIR\BUILD_DIR\teflogengbur.exe sys\bin\teflogengbur.exe
--- a/loggingservices/filelogger/SCLI/FLOGCLI.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/filelogger/SCLI/FLOGCLI.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 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"
@@ -423,11 +423,26 @@
TBuf8<1600> buf; //Want at least an mtu sized buffer
//PG 14/08/2002 - If mode is set to *Raw, Don't change format of client buffer
if(aMode == EFileLoggingModeAppendRaw || aMode == EFileLoggingModeOverwriteRaw)
- buf.Copy(aText);
+ {
+ TPtrC8 ptr8;
+ if (logger.LogSTI())
+ {
+ ptr8.Set(aText.Left(KLogBufferSize)); //in LogSTI mode, truncate to KLogBufferSize
+ }
+ else
+ {
+ ptr8.Set(aText.Left(1600)); // truncate to 1600
+ }
+ buf.Copy(ptr8);
+ }
else
+ {
ret=logger.iFormatter.FormatTextToWritableBuffer(buf,aText);
+ }
if (ret==KErrNone)
+ {
logger.DoStaticWrite(buf);
+ }
}
logger.Close();
}
@@ -597,11 +612,12 @@
n.Copy(aBuf);
TFileName logFileName = iLogFile.Name();
RDebug::Print(_L("FLG %S %S"),&logFileName,&n);
- } else
- {
- TPckg<TLogFile> logFilePckg(iLogFile);
- iLastError=SendReceive(EWriteLog,TIpcArgs (&logFilePckg, &aBuf));
- }
+ }
+ else
+ {
+ TPckg<TLogFile> logFilePckg(iLogFile);
+ iLastError=SendReceive(EWriteLog,TIpcArgs (&logFilePckg, &aBuf));
+ }
}
void RFileLogger::DoStaticWrite(const TDesC8& aBuf)
@@ -624,10 +640,11 @@
n.Copy(aBuf);
TFileName logFileName = iLogFile.Name();
RDebug::Print(_L("FLG %S %S"),&logFileName,&n);
- } else
- {
- SendReceive(ECreateWriteAndCloseLog, TIpcArgs( &logFilePckg, &aBuf)); // ignore error
- }
+ }
+ else
+ {
+ SendReceive(ECreateWriteAndCloseLog, TIpcArgs( &logFilePckg, &aBuf)); // ignore error
+ }
}
void RFileLogger::DoWriteFormat(TRefByValue<const TDesC16> aFmt, VA_LIST& aList)
--- a/loggingservices/filelogger/SSVR/FLOGSVR.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/filelogger/SSVR/FLOGSVR.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 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"
@@ -26,6 +26,11 @@
*/
const TInt KOpenLogFilesGranularity=5;
+/* Internal error. Use positive number to ensure no conflict with other error code
+ Indicate that client message has panic'ed and should not be completed.
+*/
+const TInt KErrMessagePanic = 1;
+
/**
panics for log client
@@ -268,7 +273,10 @@
{
TRAPD(ret,DispatchMessageL(aMessage));
- aMessage.Complete(ret);
+ if (ret!=KErrMessagePanic)
+ {
+ aMessage.Complete(ret);
+ }
}
void CFileLogSession::DispatchMessageL(const RMessage2& aMessage)
@@ -281,13 +289,24 @@
TLogFile log;
TPckg<TLogFile> logPckg(log);
aMessage.ReadL(0,logPckg);
- __ASSERT_ALWAYS(log.Directory().Length()!=0,aMessage.Panic(KFLoggerServerName,ELogDirectoryNameDoesNotExist));
- __ASSERT_ALWAYS(log.Name().Length()!=0,aMessage.Panic(KFLoggerServerName,ELogFileNameDoesNotExist));
+ if (log.Directory().Length()<=0)
+ {
+ aMessage.Panic(KFLoggerServerName,ELogDirectoryNameDoesNotExist);
+ User::Leave(KErrMessagePanic);
+ }
+
+ if (log.Name().Length()<=0)
+ {
+ aMessage.Panic(KFLoggerServerName,ELogFileNameDoesNotExist);
+ User::Leave(KErrMessagePanic);
+ }
// TBuf8<KLogBufferSize> buf;
TBuf8<1600> buf;
if (func==EWriteLog || func==ECreateWriteAndCloseLog)
+ {
aMessage.ReadL(1,buf);
+ }
switch (func)
{
--- a/loggingservices/rfilelogger/Logger/Group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/Group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -16,10 +16,10 @@
#include "../te_RFileLogger/group/bld.inf"
PRJ_EXPORTS
-../inc/RFileLogger.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/rfilelogger.h)
-../inc/RFileLoggermacro.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/rfileloggermacro.h)
-../Group/RFilelogger.iby /epoc32/rom/include/rfilelogger.iby
+../inc/RFileLogger.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/rfilelogger.h)
+../inc/RFileLoggermacro.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/rfileloggermacro.h)
+RFilelogger.iby /epoc32/rom/include/rfilelogger.iby
+
PRJ_MMPFILES
RFileLoggerServer.mmp
RFileloggerclient.mmp
-
--- a/loggingservices/rfilelogger/Logger/Src/Client.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/Src/Client.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -288,7 +288,8 @@
}
/*----------------- End of Maintaince warning section --------------------------*/
- TRAPD(err,WriteL(ptr));
+ TRAP_IGNORE(WriteL(ptr));
+
delete buffer;
}
@@ -305,7 +306,7 @@
TPtr8 ptr(buffer->Des());
AddTime(ptr);
ptr.Append(aLogBuffer);
- TRAPD(err,WriteL(ptr));
+ TRAP_IGNORE(WriteL(ptr));
CleanupStack::PopAndDestroy(buffer);
}
--- a/loggingservices/rfilelogger/Logger/Src/Main.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/Src/Main.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -69,7 +69,7 @@
{
return KErrNoMemory;
}
- TRAPD(err,MainL());
+ TRAP_IGNORE(MainL());
delete cleanup;
__UHEAP_MARKEND;
return KErrNone;
--- a/loggingservices/rfilelogger/Logger/Src/Server.Cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/Src/Server.Cpp Thu Jul 22 16:49:09 2010 +0100
@@ -382,27 +382,28 @@
aCount[0]=0;
TInt posI(0);
-// retrive log message:
+ // retrive log message:
// Retrive common part of log message:
- for(TInt i = 1; i<6; i++)
+ TInt i=0;
+ for(i=1; i<6; i++)
{
SearchBuf.Set(aPtr.Mid(posI));
aCount[i]=SearchBuf.Find(KSeperation8)+posI;
posI=aCount[i]+3;
if(aCount[i]<aCount[i-1])
- {
- delete pBuf1;
- return; // wrong format string from client
- }
+ {
+ delete pBuf1;
+ return; // wrong format string from client
+ }
}
// seperating common log message and extra log fields will be easy for future maintaince.
TLogField8* alogField = new TLogField8[6]; // the common part of log message for both
// with and without extra log fields
if(!alogField)
- {
- delete pBuf1;
- return; // no memory
- }
+ {
+ delete pBuf1;
+ return; // no memory
+ }
TLogField8* extralogField=NULL; // only applied to extra log fields
@@ -416,7 +417,7 @@
alogField[5].iLogTag8.Copy(_L8("TEXT"));
alogField[0].iLogValue8.Copy(aPtr.Mid(aCount[0],aCount[1]-aCount[0]));
- for(TInt i=1; i<5; i++)
+ for(i=1; i<5; i++)
{
alogField[i].iLogValue8.Copy(aPtr.Mid(aCount[i]+3,aCount[i+1]-aCount[i]-3));
}
@@ -428,22 +429,23 @@
alogField[5].iLogValue8.Copy(aPtr.Mid(aCount[5]+3,aDes.Length()-aCount[5]-5));
}
else
- {
+ {
alogField[5].iLogValue8.Copy(aPtr.Mid(aCount[5]+3,aCount[6]-aCount[5]-5));
posI=aCount[6]+45; //45 is from the length of long string and a tab
SearchBuf.Set(aPtr.Mid(posI));
aCount[7]=SearchBuf.Find(_L8("\r\n"))+posI;
TLex8 lex(aPtr.Mid(posI,aCount[7]-posI)); // get the length
TInt err=lex.Val(alength);
- if (err) alength=0; // ignor the extra log fields. Let the log go
+ if (err)
+ alength=0; // ignor the extra log fields. Let the log go
// Retrive the extra log fields
extralogField = new TLogField8[alength];
if(!extralogField)
- {
- delete pBuf1;
- return; // no memory
- }
+ {
+ delete pBuf1;
+ return; // no memory
+ }
for(TInt i=0; i<alength; i++)
{
aCount[6]=aCount[7]+2;
@@ -455,65 +457,63 @@
aCount[7]=SearchBuf.Find(_L8("\r\n"))+aCount[6];
extralogField[i].iLogValue8.Copy(aPtr.Mid(aCount[6],aCount[7]-aCount[6]));
}
- }
-
- // Start to organize an XML format:
- TInt afileSize;
- _LIT(KLogMutex, "LoggingServerMutex");
- RMutex mutex;
- TInt r = mutex.CreateGlobal(KLogMutex);
- if(r==KErrAlreadyExists)
- r = mutex.OpenGlobal(KLogMutex);
-
- if(!r) mutex.Wait(); // if still failed, let logging go
- //without bother the mutex
-
- iLogFile.Size(afileSize);
- if(afileSize<12) // 12 is from charters of "\r\n</LOGFILE>"
- //It shoud happened once at the beginning of the file
- // such as overwrite mode
- {
- afileSize=12; // used for lock position
- alogbuf.Copy(KxmlHeader);
- }
- alogbuf.Append(_L8("\r\n<MESSAGE>\r\n"));
- for(TInt i=0; i<6; i++)
- {
- alogbuf.Append(_L8(" <"));
- alogbuf.Append(alogField[i].iLogTag8);
- alogbuf.Append(_L8(">"));
- alogbuf.Append(alogField[i].iLogValue8);
- alogbuf.Append(_L8("</"));
- alogbuf.Append(alogField[i].iLogTag8);
- alogbuf.Append(_L8(">\r\n"));
- }
- for(TInt i=0; i<alength; i++)
- {
- alogbuf.Append(_L8(" <"));
- alogbuf.Append(extralogField[i].iLogTag8);
- alogbuf.Append(_L8(">"));
- alogbuf.Append(extralogField[i].iLogValue8);
- alogbuf.Append(_L8("</"));
- alogbuf.Append(extralogField[i].iLogTag8);
- alogbuf.Append(_L8(">\r\n"));
- }
-
- alogbuf.Append(_L8("</MESSAGE>"));
- alogbuf.Append(_L8("\r\n</LOGFILE>"));
-
- iLogFile.Write(afileSize-12, alogbuf,iStatus);
-
-
- if(!r)
- {
- mutex.Signal();
- mutex.Close();
- }
-
- if(extralogField) delete[] extralogField;
+ }
+ // Start to organize an XML format:
+ TInt afileSize;
+ _LIT(KLogMutex, "LoggingServerMutex");
+ RMutex mutex;
+ TInt r = mutex.CreateGlobal(KLogMutex);
+ if(r==KErrAlreadyExists)
+ r = mutex.OpenGlobal(KLogMutex);
+
+ if(!r)
+ mutex.Wait(); // If still failed, let logging go without bother the mutex.
+ iLogFile.Size(afileSize);
+ if(afileSize<12) // 12 is from charters of "\r\n</LOGFILE>"
+ //It shoud happened once at the beginning of the file
+ // such as overwrite mode
+ {
+ afileSize=12; // used for lock position
+ alogbuf.Copy(KxmlHeader);
+ }
+ alogbuf.Append(_L8("\r\n<MESSAGE>\r\n"));
+ for(TInt i=0; i<6; i++)
+ {
+ alogbuf.Append(_L8(" <"));
+ alogbuf.Append(alogField[i].iLogTag8);
+ alogbuf.Append(_L8(">"));
+ alogbuf.Append(alogField[i].iLogValue8);
+ alogbuf.Append(_L8("</"));
+ alogbuf.Append(alogField[i].iLogTag8);
+ alogbuf.Append(_L8(">\r\n"));
+ }
+ for(TInt i=0; i<alength; i++)
+ {
+ alogbuf.Append(_L8(" <"));
+ alogbuf.Append(extralogField[i].iLogTag8);
+ alogbuf.Append(_L8(">"));
+ alogbuf.Append(extralogField[i].iLogValue8);
+ alogbuf.Append(_L8("</"));
+ alogbuf.Append(extralogField[i].iLogTag8);
+ alogbuf.Append(_L8(">\r\n"));
+ }
+
+ alogbuf.Append(_L8("</MESSAGE>"));
+ alogbuf.Append(_L8("\r\n</LOGFILE>"));
+
+ iLogFile.Write(afileSize-12, alogbuf,iStatus);
+
+ if(!r)
+ {
+ mutex.Signal();
+ mutex.Close();
+ }
+
+ if(extralogField)
+ delete[] extralogField;
+
delete[] alogField;
delete pBuf1;
-
}
void CLogFileControl::WriteTxt(const TDesC8 &aDes)
--- a/loggingservices/rfilelogger/Logger/te_RFileLogger/group/Te_RFileLoggersuite.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/te_RFileLogger/group/Te_RFileLoggersuite.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -13,25 +13,22 @@
// Description:
//
-TARGET Te_RFileLoggerSuite.exe
+TARGET te_rfileloggersuite.exe
TARGETTYPE exe
UID 0x1000007A 0x102089CD
-//Please add any change under here.
-SOURCEPATH ..\src
+SOURCEPATH ../src
SOURCE Te_RFileLoggerSuiteServer.cpp
SOURCE Te_RFileLoggerSuiteStepBase.cpp
SOURCE addfield_logStep.cpp
SOURCE conn_closeStep.cpp
-USERINCLUDE ..\src
+USERINCLUDE ../src
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
LIBRARY testexecuteutils.lib
LIBRARY testexecutelogclient.lib
-
-//Please add your libraries under here.
-LIBRARY RFileLoggerclient.lib
+LIBRARY rfileloggerclient.lib
CAPABILITY ALL -Tcb
--- a/loggingservices/rfilelogger/Logger/te_RFileLogger/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/te_RFileLogger/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -17,6 +17,7 @@
../scripts/te_RFileLoggerSuite.script z:/testdata/scripts/te_rfileloggersuite.script
../testdata/te_RFileLoggersuite.ini z:/testdata/configs/te_rfileloggersuite.ini
+te_RFileLoggersuite.iby /epoc32/rom/include/te_rfileloggersuite.iby
PRJ_TESTMMPFILES
Te_RFileLoggersuite.mmp manual
--- a/loggingservices/rfilelogger/Logger/te_RFileLogger/group/te_RFileLoggersuite.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/te_RFileLogger/group/te_RFileLoggersuite.iby Thu Jul 22 16:49:09 2010 +0100
@@ -20,7 +20,7 @@
#include <testexecute.iby>
-file=ABI_DIR\DEBUG_DIR\Te_RFileLoggerSuite.exe system\bin\te_RFileLoggerSuite.exe
+file=ABI_DIR\DEBUG_DIR\te_rfileloggersuite.exe system\bin\te_rfileloggersuite.exe
data=DATAZ_\testdata\configs\te_rfileloggersuite.ini testdata\configs\te_rfileloggersuite.ini
data=DATAZ_\testdata\scripts\te_rfileloggersuite.script testdata\Scripts\te_rfileloggersuite.script
--- a/loggingservices/rfilelogger/Logger/te_RFileLogger/src/Te_RFileLoggerSuiteServer.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/loggingservices/rfilelogger/Logger/te_RFileLogger/src/Te_RFileLoggerSuiteServer.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -90,7 +90,7 @@
{
return KErrNoMemory;
}
- TRAPD(err,MainL());
+ TRAP_IGNORE(MainL());
delete cleanup;
__UHEAP_MARKEND;
return KErrNone;
--- a/package_definition.xml Mon Jun 21 22:46:09 2010 +0100
+++ b/package_definition.xml Thu Jul 22 16:49:09 2010 +0100
@@ -13,7 +13,7 @@
<component id="eventlogger" name="Event Logger" introduced="6.0" purpose="optional">
<unit bldFile="loggingservices/eventlogger/group" mrp="loggingservices/eventlogger/group/syslibs_logeng.mrp"/>
</component>
- <component id="filelogger" name="File Logger" introduced="ER5" purpose="optional">
+ <component id="filelogger" name="File Logger" introduced="ER5" deprecated="^3" purpose="optional">
<unit bldFile="loggingservices/filelogger/group" mrp="loggingservices/filelogger/group/comms-infras_flogger.mrp"/>
</component>
<component id="rfilelogger" name="RFile Logger" deprecated="^3" introduced="9.1" purpose="development">
--- a/persistentstorage/centralrepository/cenrepsrv/install.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/cenrepsrv/install.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -73,8 +73,11 @@
CCentRepSWIWatcher::~CCentRepSWIWatcher()
{
Cancel();
- iSWIKey.Cancel();
- iSWIKey.Close();
+ if(iSWIKey.Handle() != KNullHandle)
+ {
+ iSWIKey.Cancel();
+ iSWIKey.Close();
+ }
iInstallEntryArray.ResetAndDestroy();
iCurrentInstallDirEntries.ResetAndDestroy();
}
--- a/persistentstorage/centralrepository/group/CenRepFotaTvRTests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/CenRepFotaTvRTests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -28,8 +28,10 @@
// centrep techview test files
#ifdef SYMBIAN_BAFL_SYSUTIL
-file=ABI_DIR\BUILD_DIR\t_cenrep_fota_hw_setup.exe test\t_cenrep_fota_hw_setup.exe
-file=ABI_DIR\BUILD_DIR\t_cenrep_fota_hw_tests.exe test\t_cenrep_fota_hw_tests.exe
+ #ifdef CENTREP_MW_TESTS
+ file=ABI_DIR\BUILD_DIR\t_cenrep_fota_hw_setup.exe test\t_cenrep_fota_hw_setup.exe
+ file=ABI_DIR\BUILD_DIR\t_cenrep_fota_hw_tests.exe test\t_cenrep_fota_hw_tests.exe
+ #endif // CENTREP_MW_TESTS
#endif
#ifdef SYMBIAN_BAFL_SYSUTIL
--- a/persistentstorage/centralrepository/group/CentralRepositoryTechviewFlashPerformance.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/CentralRepositoryTechviewFlashPerformance.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -24,7 +24,9 @@
// centrep techview test files
#ifdef SYMBIAN_BAFL_SYSUTIL
// cenrep test exes
-file=ABI_DIR\BUILD_DIR\t_cenrep_fota_perf1.exe test\t_cenrep_fota_perf1.exe
+#ifdef CENTREP_MW_TESTS
+ file=ABI_DIR\BUILD_DIR\t_cenrep_fota_perf1.exe test\t_cenrep_fota_perf1.exe
+#endif // CENTREP_MW_TESTS
file=ABI_DIR\BUILD_DIR\t_cenrep_fota_perf2.exe test\t_cenrep_fota_perf2.exe
#ifndef __CENTRALREPOSITORYTECHVIEWRTESTS_IBY__
--- a/persistentstorage/centralrepository/group/CentralRepositoryTechviewRTests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/CentralRepositoryTechviewRTests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -19,13 +19,19 @@
REM Central Repository Tests that require Techview.
#ifdef SYMBIAN_BAFL_SYSUTIL
- #include <swicertstoredat.iby>
+ #ifdef CENTREP_MW_TESTS
+ #include <swicertstoredat.iby>
+ #endif // CENTREP_MW_TESTS
#endif // SYMBIAN_BAFL_SYSUTIL
-file=ABI_DIR\BUILD_DIR\t_cenrep_back_rest_defect.exe test\t_cenrep_back_rest_defect.exe
-
+#ifdef CENTREP_MW_TESTS
+ file=ABI_DIR\BUILD_DIR\t_cenrep_back_rest_defect.exe test\t_cenrep_back_rest_defect.exe
+#endif // CENTREP_MW_TESTS
+
#ifdef SYMBIAN_BAFL_SYSUTIL
- file=ABI_DIR\BUILD_DIR\t_cenrep_fotaut.exe test\t_cenrep_fotaut.exe
+ #ifdef CENTREP_MW_TESTS
+ file=ABI_DIR\BUILD_DIR\t_cenrep_fotaut.exe test\t_cenrep_fotaut.exe
+ #endif // CENTREP_MW_TESTS
#endif // SYMBIAN_BAFL_SYSUTIL
#ifndef __CENTREPTESTDATA_IBY__
--- a/persistentstorage/centralrepository/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -39,7 +39,12 @@
PRJ_TESTEXPORTS
// Stub sis file required by various tests.
-../test/testexecute/SWI/data/centrepswiteststub.SIS z:/system/install/centrepswiteststub.sis
+
+#ifdef __SERIES60_
+../test/testexecute/SWI/data/rnd_sis/centrepswiteststub.sis z:/system/install/centrepswiteststub.sis
+#else
+../test/testexecute/SWI/data/techview_sis/centrepswiteststub.sis z:/system/install/centrepswiteststub.sis
+#endif //__SERIES60_
CentralRepositoryTests.bat /epoc32/data/z/system/test/centralrepositorytests.bat
centrepswiteststub.iby /epoc32/rom/include/centrepswiteststub.iby
@@ -170,10 +175,18 @@
../test/sw.txt z:/resource/versions/sw.txt
../test/00000003.txt z:/private/102081e4/00000003.txt
../test/00112273.txt z:/private/10202be9/00112273.txt
-../test/RF1.sis z:/private/10202be9/rf1.sis
-../test/RF2.sis z:/private/10202be9/rf2.sis
-../test/RF3.sis z:/private/10202be9/rf3.sis
-../test/RF4.sis z:/private/10202be9/rf4.sis
+
+#ifdef __SERIES60_
+../test/rnd_RF1.sis z:/private/10202be9/rf1.sis
+../test/rnd_RF2.sis z:/private/10202be9/rf2.sis
+../test/rnd_RF3.sis z:/private/10202be9/rf3.sis
+../test/rnd_RF4.sis z:/private/10202be9/rf4.sis
+#else
+../test/techview_RF1.sis z:/private/10202be9/rf1.sis
+../test/techview_RF2.sis z:/private/10202be9/rf2.sis
+../test/techview_RF3.sis z:/private/10202be9/rf3.sis
+../test/techview_RF4.sis z:/private/10202be9/rf4.sis
+#endif //__SERIES60_
#ifdef SYMBIAN_CENTREP_SUPPORT_MULTIROFS
// Multi Rofs testing
@@ -1438,26 +1451,38 @@
t_cenrep_meta.mmp
t_cenrep_rfs.mmp
t_cenrep_back_rest.mmp
-t_cenrep_back_rest_defect.mmp manual
+#ifdef CENTREP_MW_TESTS
+ t_cenrep_back_rest_defect.mmp manual
+#endif // CENTREP_MW_TESTS
t_cenrep_back_rest_delete.mmp
t_oomcenrepsrv.mmp
t_processkillprocess.mmp support
#ifdef SYMBIAN_BAFL_SYSUTIL
- t_cenrep_fota_tvem1.mmp manual
- t_cenrep_fota_tvem2.mmp manual
- t_cenrep_fota_tvem3.mmp manual
- t_cenrep_fota_txtem1.mmp manual
- t_cenrep_fota_txtem2.mmp manual
- t_cenrep_fotaUT.mmp manual
+ #ifdef CENTREP_MW_TESTS
+ t_cenrep_fota_tvem1.mmp manual
+ #endif // CENTREP_MW_TESTS
+
+ t_cenrep_fota_tvem2.mmp manual
- #ifdef __CENTREP_SERVER_PERFTEST__
- t_cenrep_fota_perf1.mmp manual
- t_cenrep_fota_perf2.mmp manual
- #endif // __CENTREP_SERVER_PERFTEST__
+ #ifdef CENTREP_MW_TESTS
+ t_cenrep_fota_tvem3.mmp manual
+ t_cenrep_fota_txtem1.mmp manual
+ t_cenrep_fota_txtem2.mmp manual
+ t_cenrep_fotaUT.mmp manual
+ #endif // CENTREP_MW_TESTS
- t_cenrep_fota_hw_setup.mmp manual
- t_cenrep_fota_hw_tests.mmp manual
+ #ifdef __CENTREP_SERVER_PERFTEST__
+ #ifdef CENTREP_MW_TESTS
+ t_cenrep_fota_perf1.mmp manual
+ #endif // CENTREP_MW_TESTS
+ t_cenrep_fota_perf2.mmp manual
+ #endif // __CENTREP_SERVER_PERFTEST__
+
+ #ifdef CENTREP_MW_TESTS
+ t_cenrep_fota_hw_setup.mmp manual
+ t_cenrep_fota_hw_tests.mmp manual
+ #endif // CENTREP_MW_TESTS
#endif // SYMBIAN_BAFL_SYSUTIL
--- a/persistentstorage/centralrepository/group/t_cenrep_back_rest.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/t_cenrep_back_rest.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -28,7 +28,7 @@
target t_cenrep_back_rest.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
OS_LAYER_LIBC_SYSTEMINCLUDE
USERINCLUDE ../cenrepsrv ../common/inc
--- a/persistentstorage/centralrepository/group/t_cenrep_back_rest_delete.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/t_cenrep_back_rest_delete.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -25,7 +25,7 @@
target t_cenrep_back_rest_delete.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
OS_LAYER_LIBC_SYSTEMINCLUDE
USERINCLUDE ../cenrepsrv ../common/inc
--- a/persistentstorage/centralrepository/group/t_cenrep_defects.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/t_cenrep_defects.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-2010 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"
@@ -21,7 +21,7 @@
target t_cenrep_defects.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../cenrepsrv
USERINCLUDE ../common/inc
--- a/persistentstorage/centralrepository/group/t_cenrep_fota_perf2.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/group/t_cenrep_fota_perf2.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -21,7 +21,7 @@
target t_cenrep_fota_perf2.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../cenrepsrv
USERINCLUDE ../common/inc
Binary file persistentstorage/centralrepository/test/RF1.sis has changed
Binary file persistentstorage/centralrepository/test/RF2.sis has changed
Binary file persistentstorage/centralrepository/test/RF3.sis has changed
Binary file persistentstorage/centralrepository/test/RF4.sis has changed
--- a/persistentstorage/centralrepository/test/doflashsis.bat Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/doflashsis.bat Thu Jul 22 16:49:09 2010 +0100
@@ -19,13 +19,21 @@
rem Make and sign the RF1 package.
makesis RF1.pkg
-signsis -S RF1.sis RF1.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+makesis RF2.pkg
+makesis RF3.pkg
+makesis RF4.pkg
-makesis RF2.pkg
-signsis -S RF2.sis RF2.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+signsis -S RF1.sis techview_RF1.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+signsis -S RF2.sis techview_RF2.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+signsis -S RF3.sis techview_RF3.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+signsis -S RF4.sis techview_RF4.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
-makesis RF3.pkg
-signsis -S RF3.sis RF3.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+signsis -S RF1.sis rnd_RF1.sis testexecute\SWI\data\certstore\Nokia_RnDCert_02.der testexecute\SWI\data\certstore\Nokia_RnDCert_02.key
+signsis -S RF2.sis rnd_RF2.sis testexecute\SWI\data\certstore\Nokia_RnDCert_02.der testexecute\SWI\data\certstore\Nokia_RnDCert_02.key
+signsis -S RF3.sis rnd_RF3.sis testexecute\SWI\data\certstore\Nokia_RnDCert_02.der testexecute\SWI\data\certstore\Nokia_RnDCert_02.key
+signsis -S RF4.sis rnd_RF4.sis testexecute\SWI\data\certstore\Nokia_RnDCert_02.der testexecute\SWI\data\certstore\Nokia_RnDCert_02.key
-makesis RF4.pkg
-signsis -S RF4.sis RF4.sis testexecute\SWI\data\certstore\centreproot.pem testexecute\SWI\data\certstore\centreproot.key
+del /f RF1.sis
+del /f RF2.sis
+del /f RF3.sis
+del /f RF4.sis
--- a/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -22,7 +22,7 @@
UID 0 0x1020FFFF
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../../../cenrepsrv
USERINCLUDE ../../../common/inc
--- a/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112perf.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112perf.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -22,7 +22,7 @@
target t_cenrep_preq2112perf.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../../../cenrepsrv
USERINCLUDE ../../../common/inc
--- a/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112u.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/multirofs/group/t_cenrep_preq2112u.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -19,7 +19,7 @@
target t_cenrep_preq2112u.exe
targettype exe
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../../../cenrepsrv
USERINCLUDE ../../../common/inc
Binary file persistentstorage/centralrepository/test/rnd_rf1.sis has changed
Binary file persistentstorage/centralrepository/test/rnd_rf2.sis has changed
Binary file persistentstorage/centralrepository/test/rnd_rf3.sis has changed
Binary file persistentstorage/centralrepository/test/rnd_rf4.sis has changed
--- a/persistentstorage/centralrepository/test/t_cenrep_back_rest.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/t_cenrep_back_rest.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -13,13 +13,9 @@
// Description:
//
-//#include <centralrepository.h>
#include <e32test.h>
#include <f32file.h>
#include <badesca.h>
-#include <connect/sbdefs.h>
-#include <connect/sbeclient.h>
-
#include "srvrepos_noc.h"
#include "srvres.h"
#include "cachemgr.h"
--- a/persistentstorage/centralrepository/test/t_cenrep_back_rest_delete.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/t_cenrep_back_rest_delete.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -17,9 +17,6 @@
#include <e32test.h>
#include <f32file.h>
#include <badesca.h>
-#include <connect/sbdefs.h>
-#include <connect/sbeclient.h>
-
#include "srvrepos_noc.h"
#include "srvres.h"
#include "cachemgr.h"
--- a/persistentstorage/centralrepository/test/t_cenrep_rfs.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/t_cenrep_rfs.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -73,6 +73,17 @@
#define TEST(arg) ::CheckL((arg), __LINE__)
#define TEST2(aValue, aExpected) ::CheckL(aValue, aExpected, __LINE__)
+// This function kills the C32exe.exe process. This commsdat process will
+// interfere with the test if not killed. In a nutshell, some of the test cases
+// will kill and then wait for 2 seconds and restart the centrep server
+// with --SoftReset option. During that 2 seconds wait sometimes C32exe.exe
+// will use centrep API, thus starting the server normally without --SoftReset.
+LOCAL_C void KillC32Exe()
+ {
+ _LIT( KC32ServerName, "c32exe");
+ KillProcess(KC32ServerName); // Don't need to check the return code, it always return KErrNone anyway.
+ User::After(KGeneralDelay);
+ }
//This function restores the state of the files required for this test
//Existing files are deleted and then the required files are copied
@@ -622,6 +633,7 @@
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-CENTRALREPOSITORY-CT-0497-0001 Restore Factory Settings tests "));
CleanupCDriveL();
+ KillC32Exe(); //Need to kill C32Exe as it is interfering with the test.
RestoreFactorySettingsTestL();
PDEF105203();
RFSRomOnlyL();
Binary file persistentstorage/centralrepository/test/techview_rf1.sis has changed
Binary file persistentstorage/centralrepository/test/techview_rf2.sis has changed
Binary file persistentstorage/centralrepository/test/techview_rf3.sis has changed
Binary file persistentstorage/centralrepository/test/techview_rf4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/APPXs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/APPY1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/APPY2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/APPYs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP2.SIS has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP23s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP3.SIS has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KP62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KPS14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KPS4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KPS64s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS2.SIS has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS51s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KS62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KSDs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KSY1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KSY2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/KSYs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/centrepswiteststub.SIS has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/certstore/nokia_rndcert_02.der has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/data/certstore/nokia_rndcert_02.key Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
+uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
+vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
+AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
+REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
+/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
+s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
+sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
+pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
+VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
+P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
+1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
+1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
+-----END RSA PRIVATE KEY-----
--- a/persistentstorage/centralrepository/test/testexecute/SWI/data/dosis.bat Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/data/dosis.bat Thu Jul 22 16:49:09 2010 +0100
@@ -1,6 +1,6 @@
@echo off
rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
rem All rights reserved.
rem This component and the accompanying materials are made available
rem under the terms of "Eclipse Public License v1.0"
@@ -15,120 +15,126 @@
rem Description:
rem
@echo on
+
+@if not exist "%1" md "%1"
+@if not exist "%1" goto :InvalidFolder
+@if not exist "%2" goto :MissingCert
+@if not exist "%3" goto :MissingKey
+
rem The stub..
makesis -s centrepswiteststub.pkg
rem Make and sign the KS12 package. This modifies the KS1.2 keyspace, which
rem is a user mod on the ROM keyspace K1.
-makesis KS12.pkg
-signsis -S KS12.sis KS12s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS12.pkg KS12.sis
+signsis -S KS12.sis KS12s.sis %2 %3
rem Make and sign the KS14 package.
-makesis KS14.pkg
-signsis -S KS14.sis KS14s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS14.pkg KS14.sis
+signsis -S KS14.sis KS14s.sis %2 %3
rem Make and sign the KS2 package. This creates the KS2 keyspace, which
rem is new.
-makesis KS2.pkg
-signsis -S KS2.sis KS2s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS2.pkg KS2.sis
+signsis -S KS2.sis KS2s.sis %2 %3
rem Make and sign the KS22 package. This creates the KS22 keyspace, which
rem upgrades KS21 (user modified KS2).
-makesis KS22.pkg
-signsis -S KS22.sis KS22s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS22.pkg KS22.sis
+signsis -S KS22.sis KS22s.sis %2 %3
rem Make and sign the KS3 package. This package will fail to install
rem because the referenced keyspace file is not in the ROM stub.
-makesis KS3.pkg
-signsis -S KS3.sis KS3s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS3.pkg KS3.sis
+signsis -S KS3.sis KS3s.sis %2 %3
rem Make and sign the KS4 package. This keyspace contains various capabilities
rem which we'll test don't change on a further install.
-makesis KS4.pkg
-signsis -S KS4.sis KS4s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS4.pkg KS4.sis
+signsis -S KS4.sis KS4s.sis %2 %3
rem Installs on top of the above, you might think the capabilities in the
rem above would be lost, but no - they are persisted before the caps in this
rem package can splat them.
-makesis KS41.pkg
-signsis -S KS41.sis KS41s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS41.pkg KS41.sis
+signsis -S KS41.sis KS41s.sis %2 %3
rem Make and sign the KP4 package. This keyspace contains various capabilities
rem which we'll test don't change on a further install.
-makesis KP4.pkg
-signsis -S KP4.sis KP4s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP4.pkg KP4.sis
+signsis -S KP4.sis KP4s.sis %2 %3
rem Installs on top of the above, you might think the capabilities in the
rem above would be lost, but no - they are persisted before the caps in this
rem package can splat them.
-makesis KP41.pkg
-signsis -S KP41.sis KP41s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP41.pkg KP41.sis
+signsis -S KP41.sis KP41s.sis %2 %3
rem SP filenull for uninstalling KP4.
-makesis KPS4.pkg
-signsis -S KPS4.sis KPS4s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KPS4.pkg KPS4.sis
+signsis -S KPS4.sis KPS4s.sis %2 %3
rem Installs on top of the ROM (51551554)
-makesis KS51.pkg
-signsis -S KS51.sis KS51s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS51.pkg KS51.sis
+signsis -S KS51.sis KS51s.sis %2 %3
rem Make and sign the KP2 package. This creates the KP2 keyspace, which
rem is new.
-makesis KP2.pkg
-signsis -S KP2.sis KP2s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP2.pkg KP2.sis
+signsis -S KP2.sis KP2s.sis %2 %3
rem Make and sign the KP22 package. This creates the KP22 keyspace, which
rem upgrades KP21 (user modified KP2).
-makesis KP22.pkg
-signsis -S KP22.sis KP22s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP22.pkg KP22.sis
+signsis -S KP22.sis KP22s.sis %2 %3
rem Make and sign the KP23 package.
-makesis KP23.pkg
-signsis -S KP23.sis KP23s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP23.pkg KP23.sis
+signsis -S KP23.sis KP23s.sis %2 %3
rem Make and sign the KP12 package.
-makesis KP12.pkg
-signsis -S KP12.sis KP12s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP12.pkg KP12.sis
+signsis -S KP12.sis KP12s.sis %2 %3
rem Make and sign the KP14 package.
-makesis KP14.pkg
-signsis -S KP14.sis KP14s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP14.pkg KP14.sis
+signsis -S KP14.sis KP14s.sis %2 %3
rem Make and sign the KPS14 standard patch, this SP is installed with a
rem file-null so the 51551551 keyspace file can be removed.
-makesis KPS14.pkg
-signsis -S KPS14.sis KPS14s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KPS14.pkg KPS14.sis
+signsis -S KPS14.sis KPS14s.sis %2 %3
rem Make and sign the KP3 package. This package will fail to install
rem because the referenced keyspace file is not in the ROM stub.
-makesis KP3.pkg
-signsis -S KP3.sis KP3s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP3.pkg KP3.sis
+signsis -S KP3.sis KP3s.sis %2 %3
rem Make and sign the KP62 package.
-makesis KP62.pkg
-signsis -S KP62.sis KP62s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KP62.pkg KP62.sis
+signsis -S KP62.sis KP62s.sis %2 %3
rem Make and sign the KP62 package.
-makesis KS62.pkg
-signsis -S KS62.sis KS62s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KS62.pkg KS62.sis
+signsis -S KS62.sis KS62s.sis %2 %3
rem Make and sign the KPS64 package.
-makesis KPS64.pkg
-signsis -S KPS64.sis KPS64s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KPS64.pkg KPS64.sis
+signsis -S KPS64.sis KPS64s.sis %2 %3
rem Make and sign the KSX package. This is the embedded sis that goes in AppX.sis
-makesis KSX.pkg
-signsis -S KSX.sis KSXs.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KSX.pkg KSX.sis
+signsis -S KSX.sis KSXs.sis %2 %3
rem Make the AppX package for the application. This is the sis which contains the
rem embedded sis that has the application repository as a Centrep patch. This sis
rem is self-signed and conditonally installs the exe file depending on the environment
-makesis APPX.pkg
+makesis APPX.pkg APPX.sis
signsis -S APPX.sis APPXs.sis certstore\appx.cer certstore\appx.key
rem Make and sign the KSD package. This contains the corrupt KSD keyspace.
-makesis KSD.pkg
-signsis -S KSD.sis KSDs.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KSD.pkg KSD.sis
+signsis -S KSD.sis KSDs.sis %2 %3
rem Make the AppY,1,2 packages for the application. These sis files contain the
rem embedded sis that has the application repository as a Centrep patch. This sis
@@ -138,33 +144,48 @@
rem The following packages are used for the APP-SP test
rem Make and sign the KSY package. This is the embedded PU sis that goes in AppY.sis
-makesis KSY.pkg
-signsis -S KSY.sis KSYs.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KSY.pkg KSY.sis
+signsis -S KSY.sis KSYs.sis %2 %3
rem Make and sign the APPY package. This package will install an APP exe
rem a keyspace in an embedded PU package and an SP package to be used for the uninstall
-makesis APPY.pkg
+makesis APPY.pkg APPY.sis
signsis -S APPY.sis APPYs.sis certstore\appx.cer certstore\appx.key
rem Make and sign the KSY1 package. This is the embedded PU sis that goes in AppY1.sis
-makesis KSY1.pkg
-signsis -S KSY1.sis KSY1s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KSY1.pkg KSY1.sis
+signsis -S KSY1.sis KSY1s.sis %2 %3
rem Make and sign the APPY1 package. This package will install the APP exe
rem a new version of the keyspace in an embedded PU package and an SP package
rem to be used for the uninstall
-makesis APPY1.pkg
+makesis APPY1.pkg APPY1.sis
signsis -S APPY1.sis APPY1s.sis certstore\appx.cer certstore\appx.key
rem Make and sign the KSY2 package. This is the embedded PU sis that goes in AppY2.sis
-makesis KSY2.pkg
-signsis -S KSY2.sis KSY2s.sis certstore\centreproot.pem certstore\centreproot.key
+makesis KSY2.pkg KSY2.sis
+signsis -S KSY2.sis KSY2s.sis %2 %3
rem Make and sign the APPY2 package. This package will install the APP exe
rem a new version of the keyspace in an embedded PU package and an SP package
rem to be used for the uninstall
-makesis APPY2.pkg
+makesis APPY2.pkg APPY2.sis
signsis -S APPY2.sis APPY2s.sis certstore\appx.cer certstore\appx.key
+echo f | XCOPY /fry *.sis %1\
+del /f *.sis
+@goto :EOF
+
+:InvalidFolder
+@echo ERROR: Can't create folder %1
+@goto :EOF
+
+:MissingCert
+@echo ERROR: Missing certificate %2
+@goto :EOF
+
+:MissingKey
+@echo ERROR: Missing certificate key %3
+@goto :EOF
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/data/logfile.txt Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,267 @@
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem The stub..
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis -s centrepswiteststub.pkg
+Processing centrepswiteststub.pkg...
+Created centrepswiteststub.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS12 package. This modifies the KS1.2 keyspace, which
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem is a user mod on the ROM keyspace K1.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS12.pkg
+Processing KS12.pkg...
+Created KS12.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS12.sis KS12s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS14 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS14.pkg
+Processing KS14.pkg...
+Created KS14.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS14.sis KS14s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS2 package. This creates the KS2 keyspace, which
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem is new.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS2.pkg
+Processing KS2.pkg...
+Created KS2.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS2.sis KS2s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS22 package. This creates the KS22 keyspace, which
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem upgrades KS21 (user modified KS2).
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS22.pkg
+Processing KS22.pkg...
+Created KS22.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS22.sis KS22s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS3 package. This package will fail to install
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem because the referenced keyspace file is not in the ROM stub.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS3.pkg
+Processing KS3.pkg...
+Created KS3.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS3.sis KS3s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KS4 package. This keyspace contains various capabilities
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem which we'll test don't change on a further install.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS4.pkg
+Processing KS4.pkg...
+Created KS4.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS4.sis KS4s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Installs on top of the above, you might think the capabilities in the
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem above would be lost, but no - they are persisted before the caps in this
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem package can splat them.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS41.pkg
+Processing KS41.pkg...
+Created KS41.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS41.sis KS41s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP4 package. This keyspace contains various capabilities
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem which we'll test don't change on a further install.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP4.pkg
+Processing KP4.pkg...
+Created KP4.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP4.sis KP4s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Installs on top of the above, you might think the capabilities in the
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem above would be lost, but no - they are persisted before the caps in this
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem package can splat them.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP41.pkg
+Processing KP41.pkg...
+Created KP41.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP41.sis KP41s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem SP filenull for uninstalling KP4.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KPS4.pkg
+Processing KPS4.pkg...
+Created KPS4.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KPS4.sis KPS4s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Installs on top of the ROM (51551554)
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS51.pkg
+Processing KS51.pkg...
+Created KS51.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS51.sis KS51s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP2 package. This creates the KP2 keyspace, which
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem is new.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP2.pkg
+Processing KP2.pkg...
+Created KP2.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP2.sis KP2s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP22 package. This creates the KP22 keyspace, which
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem upgrades KP21 (user modified KP2).
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP22.pkg
+Processing KP22.pkg...
+Created KP22.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP22.sis KP22s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP23 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP23.pkg
+Processing KP23.pkg...
+Created KP23.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP23.sis KP23s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP12 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP12.pkg
+Processing KP12.pkg...
+Created KP12.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP12.sis KP12s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP14 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP14.pkg
+Processing KP14.pkg...
+Created KP14.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP14.sis KP14s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KPS14 standard patch, this SP is installed with a
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem file-null so the 51551551 keyspace file can be removed.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KPS14.pkg
+Processing KPS14.pkg...
+Created KPS14.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KPS14.sis KPS14s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP3 package. This package will fail to install
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem because the referenced keyspace file is not in the ROM stub.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP3.pkg
+Processing KP3.pkg...
+Created KP3.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP3.sis KP3s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP62 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KP62.pkg
+Processing KP62.pkg...
+Created KP62.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KP62.sis KP62s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KP62 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KS62.pkg
+Processing KS62.pkg...
+Created KS62.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KS62.sis KS62s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KPS64 package.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KPS64.pkg
+Processing KPS64.pkg...
+Created KPS64.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KPS64.sis KPS64s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KSX package. This is the embedded sis that goes in AppX.sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KSX.pkg
+Processing KSX.pkg...
+Created KSX.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KSX.sis KSXs.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make the AppX package for the application. This is the sis which contains the
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem embedded sis that has the application repository as a Centrep patch. This sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem is self-signed and conditonally installs the exe file depending on the environment
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis APPX.pkg
+Processing APPX.pkg...
+Created APPX.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S APPX.sis APPXs.sis certstore\appx.cer certstore\appx.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KSD package. This contains the corrupt KSD keyspace.
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KSD.pkg
+Processing KSD.pkg...
+Created KSD.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KSD.sis KSDs.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make the AppY,1,2 packages for the application. These sis files contain the
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem embedded sis that has the application repository as a Centrep patch. This sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem is self-signed and conditonally installs the exe file depending on the environment
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem These SIS files are used to test a standard installation
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem The following packages are used for the APP-SP test
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KSY package. This is the embedded PU sis that goes in AppY.sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KSY.pkg
+Processing KSY.pkg...
+Created KSY.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KSY.sis KSYs.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the APPY package. This package will install an APP exe
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem a keyspace in an embedded PU package and an SP package to be used for the uninstall
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis APPY.pkg
+Processing APPY.pkg...
+Created APPY.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S APPY.sis APPYs.sis certstore\appx.cer certstore\appx.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KSY1 package. This is the embedded PU sis that goes in AppY1.sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KSY1.pkg
+Processing KSY1.pkg...
+Created KSY1.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KSY1.sis KSY1s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the APPY1 package. This package will install the APP exe
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem a new version of the keyspace in an embedded PU package and an SP package
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem to be used for the uninstall
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis APPY1.pkg
+Processing APPY1.pkg...
+Created APPY1.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S APPY1.sis APPY1s.sis certstore\appx.cer certstore\appx.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the KSY2 package. This is the embedded PU sis that goes in AppY2.sis
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis KSY2.pkg
+Processing KSY2.pkg...
+Created KSY2.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S KSY2.sis KSY2s.sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem Make and sign the APPY2 package. This package will install the APP exe
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem a new version of the keyspace in an embedded PU package and an SP package
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] rem to be used for the uninstall
+
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] makesis APPY2.pkg
+Processing APPY2.pkg...
+Created APPY2.sis.
+Y:\persistentdata\persistentstorage\centralrepository\test\testexecute\SWI\data> [EPOC] signsis -S APPY2.sis APPY2s.sis certstore\appx.cer certstore\appx.key
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_dosis.bat Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,19 @@
+@echo off
+rem
+rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+@echo on
+
+dosis rnd_sis certstore\Nokia_RnDCert_02.der certstore\Nokia_RnDCert_02.key
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appx.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appxs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appy.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appy1.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appy1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appy2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appy2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/appys.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/centrepswiteststub.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp12.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp22.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp23.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp23s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp3.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp41.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp62.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kp62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps64.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/kps64s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks12.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks22.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks3.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks41.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks51.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks51s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks62.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ks62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksd.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksds.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksx.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksxs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksy.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksy1.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksy1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksy2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksy2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/rnd_sis/ksys.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/data/techview_dosis.bat Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,19 @@
+@echo off
+rem
+rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+@echo on
+
+dosis techview_sis certstore\centreproot.pem certstore\centreproot.key
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appx.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appxs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appy.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appy1.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appy1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appy2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appy2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/appys.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/centrepswiteststub.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp12.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp22.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp23.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp23s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp3.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp41.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp62.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kp62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps64.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/kps64s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks12.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks12s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks14.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks14s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks22.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks22s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks3.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks3s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks4.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks41.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks41s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks4s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks51.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks51s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks62.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ks62s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksd.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksds.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksx.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksxs.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksy.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksy1.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksy1s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksy2.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksy2s.sis has changed
Binary file persistentstorage/centralrepository/test/testexecute/SWI/data/techview_sis/ksys.sis has changed
--- a/persistentstorage/centralrepository/test/testexecute/SWI/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/testexecute/SWI/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -65,50 +65,89 @@
../data/certstore/swicertstore.dat z:/resource/swicertstore.dat
./swicertstoredat.iby /epoc32/rom/include/swicertstoredat.iby
+#ifdef __SERIES60_
+
// SP tests...
-../data/KS12s.sis z:/tef_centralrepository/ks12s.sis
-../data/KS14s.sis z:/tef_centralrepository/ks14s.sis
-../data/KS2s.sis z:/tef_centralrepository/ks2s.sis
-../data/KS22s.sis z:/tef_centralrepository/ks22s.sis
-../data/KS3s.sis z:/tef_centralrepository/ks3s.sis
-../data/KS4s.sis z:/tef_centralrepository/ks4s.sis
-../data/KS41s.sis z:/tef_centralrepository/ks41s.sis
-../data/KS51s.sis z:/tef_centralrepository/ks51s.sis
-../data/KS62s.sis z:/tef_centralrepository/ks62s.sis
+../data/rnd_sis/KS12s.sis z:/tef_centralrepository/ks12s.sis
+../data/rnd_sis/KS14s.sis z:/tef_centralrepository/ks14s.sis
+../data/rnd_sis/KS2s.sis z:/tef_centralrepository/ks2s.sis
+../data/rnd_sis/KS22s.sis z:/tef_centralrepository/ks22s.sis
+../data/rnd_sis/KS3s.sis z:/tef_centralrepository/ks3s.sis
+../data/rnd_sis/KS4s.sis z:/tef_centralrepository/ks4s.sis
+../data/rnd_sis/KS41s.sis z:/tef_centralrepository/ks41s.sis
+../data/rnd_sis/KS51s.sis z:/tef_centralrepository/ks51s.sis
+../data/rnd_sis/KS62s.sis z:/tef_centralrepository/ks62s.sis
// PU tests...
-../data/KP12s.sis z:/tef_centralrepository/kp12s.sis
-../data/KP14s.sis z:/tef_centralrepository/kp14s.sis
-../data/KPS14s.sis z:/tef_centralrepository/kps14s.sis
-../data/KP2s.sis z:/tef_centralrepository/kp2s.sis
-../data/KP22s.sis z:/tef_centralrepository/kp22s.sis
-../data/KP23s.sis z:/tef_centralrepository/kp23s.sis
-../data/KP3s.sis z:/tef_centralrepository/kp3s.sis
-../data/KP4s.sis z:/tef_centralrepository/kp4s.sis
-../data/KP41s.sis z:/tef_centralrepository/kp41s.sis
-../data/KPS4s.sis z:/tef_centralrepository/kps4s.sis
-../data/KP62s.sis z:/tef_centralrepository/kp62s.sis
-../data/KPS64s.sis z:/tef_centralrepository/kps64s.sis
+../data/rnd_sis/KP12s.sis z:/tef_centralrepository/kp12s.sis
+../data/rnd_sis/KP14s.sis z:/tef_centralrepository/kp14s.sis
+../data/rnd_sis/KPS14s.sis z:/tef_centralrepository/kps14s.sis
+../data/rnd_sis/KP2s.sis z:/tef_centralrepository/kp2s.sis
+../data/rnd_sis/KP22s.sis z:/tef_centralrepository/kp22s.sis
+../data/rnd_sis/KP23s.sis z:/tef_centralrepository/kp23s.sis
+../data/rnd_sis/KP3s.sis z:/tef_centralrepository/kp3s.sis
+../data/rnd_sis/KP4s.sis z:/tef_centralrepository/kp4s.sis
+../data/rnd_sis/KP41s.sis z:/tef_centralrepository/kp41s.sis
+../data/rnd_sis/KPS4s.sis z:/tef_centralrepository/kps4s.sis
+../data/rnd_sis/KP62s.sis z:/tef_centralrepository/kp62s.sis
+../data/rnd_sis/KPS64s.sis z:/tef_centralrepository/kps64s.sis
// SWI-BUR tests...
-../data/APPXs.sis z:/tef_centralrepository/appxs.sis
+../data/rnd_sis/APPXs.sis z:/tef_centralrepository/appxs.sis
// SWI-APP tests
-../data/APPYs.sis z:/tef_centralrepository/appys.sis
-
-../data/KSYs.sis z:/tef_centralrepository/ksys.sis
-
-../data/APPY1s.sis z:/tef_centralrepository/appy1s.sis
-
-../data/KSY1s.sis z:/tef_centralrepository/ksy1s.sis
-
-../data/APPY2s.sis z:/tef_centralrepository/appy2s.sis
-
-../data/KSY2s.sis z:/tef_centralrepository/ksy2s.sis
-
+../data/rnd_sis/APPYs.sis z:/tef_centralrepository/appys.sis
+../data/rnd_sis/KSYs.sis z:/tef_centralrepository/ksys.sis
+../data/rnd_sis/APPY1s.sis z:/tef_centralrepository/appy1s.sis
+../data/rnd_sis/KSY1s.sis z:/tef_centralrepository/ksy1s.sis
+../data/rnd_sis/APPY2s.sis z:/tef_centralrepository/appy2s.sis
+../data/rnd_sis/KSY2s.sis z:/tef_centralrepository/ksy2s.sis
// SWI defect tests...
-../data/KSDs.sis z:/tef_centralrepository/ksds.sis
+../data/rnd_sis/KSDs.sis z:/tef_centralrepository/ksds.sis
+
+#else
+
+// SP tests...
+../data/techview_sis/KS12s.sis z:/tef_centralrepository/ks12s.sis
+../data/techview_sis/KS14s.sis z:/tef_centralrepository/ks14s.sis
+../data/techview_sis/KS2s.sis z:/tef_centralrepository/ks2s.sis
+../data/techview_sis/KS22s.sis z:/tef_centralrepository/ks22s.sis
+../data/techview_sis/KS3s.sis z:/tef_centralrepository/ks3s.sis
+../data/techview_sis/KS4s.sis z:/tef_centralrepository/ks4s.sis
+../data/techview_sis/KS41s.sis z:/tef_centralrepository/ks41s.sis
+../data/techview_sis/KS51s.sis z:/tef_centralrepository/ks51s.sis
+../data/techview_sis/KS62s.sis z:/tef_centralrepository/ks62s.sis
+
+// PU tests...
+../data/techview_sis/KP12s.sis z:/tef_centralrepository/kp12s.sis
+../data/techview_sis/KP14s.sis z:/tef_centralrepository/kp14s.sis
+../data/techview_sis/KPS14s.sis z:/tef_centralrepository/kps14s.sis
+../data/techview_sis/KP2s.sis z:/tef_centralrepository/kp2s.sis
+../data/techview_sis/KP22s.sis z:/tef_centralrepository/kp22s.sis
+../data/techview_sis/KP23s.sis z:/tef_centralrepository/kp23s.sis
+../data/techview_sis/KP3s.sis z:/tef_centralrepository/kp3s.sis
+../data/techview_sis/KP4s.sis z:/tef_centralrepository/kp4s.sis
+../data/techview_sis/KP41s.sis z:/tef_centralrepository/kp41s.sis
+../data/techview_sis/KPS4s.sis z:/tef_centralrepository/kps4s.sis
+../data/techview_sis/KP62s.sis z:/tef_centralrepository/kp62s.sis
+../data/techview_sis/KPS64s.sis z:/tef_centralrepository/kps64s.sis
+
+// SWI-BUR tests...
+../data/techview_sis/APPXs.sis z:/tef_centralrepository/appxs.sis
+
+// SWI-APP tests
+../data/techview_sis/APPYs.sis z:/tef_centralrepository/appys.sis
+../data/techview_sis/KSYs.sis z:/tef_centralrepository/ksys.sis
+../data/techview_sis/APPY1s.sis z:/tef_centralrepository/appy1s.sis
+../data/techview_sis/KSY1s.sis z:/tef_centralrepository/ksy1s.sis
+../data/techview_sis/APPY2s.sis z:/tef_centralrepository/appy2s.sis
+../data/techview_sis/KSY2s.sis z:/tef_centralrepository/ksy2s.sis
+
+// SWI defect tests...
+../data/techview_sis/KSDs.sis z:/tef_centralrepository/ksds.sis
+
+#endif //__SERIES60_
PRJ_TESTMMPFILES
// TestExecute test binaries
--- a/persistentstorage/centralrepository/test/testexecute/group/TEF_CentralRepository.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/testexecute/group/TEF_CentralRepository.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 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"
@@ -23,7 +23,9 @@
//
// Note also that all these tests are techview tests.
-#include <te_centrep_BURsuite.iby>
-#include <te_centrep_SWIsuite.iby>
-
+#ifdef CENTREP_MW_TESTS
+ #include <te_centrep_BURsuite.iby>
+ #include <te_centrep_SWIsuite.iby>
+#endif // CENTREP_MW_TESTS
+
#endif // __TEF_CentralRepository_IBY__
--- a/persistentstorage/centralrepository/test/testexecute/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/centralrepository/test/testexecute/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -14,16 +14,12 @@
//
-
#include "../performance/group/bld.inf"
#include "../convtool/group/bld.inf"
-#include "../SWI/group/bld.inf"
-#include "../BUR/group/bld.inf"
+#ifdef CENTREP_MW_TESTS
+ #include "../SWI/group/bld.inf"
+ #include "../BUR/group/bld.inf"
+#endif // CENTREP_MW_TESTS
PRJ_TESTEXPORTS
-
-
-../group/TEF_CentralRepository.iby /epoc32/rom/include/tef_centralrepository.iby
-
-
-
+../group/TEF_CentralRepository.iby /epoc32/rom/include/tef_centralrepository.iby
--- a/persistentstorage/dbms/group/BLD.INF Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/dbms/group/BLD.INF Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-2010 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"
@@ -40,6 +40,7 @@
../bmake/EDBSRV.MMP
PRJ_TESTMMPFILES
+
../tdbms/t_dbenvcreate.mmp
../tdbms/t_dbalter.mmp
../tdbms/t_dbbench.mmp
@@ -77,11 +78,28 @@
../tdbms/t_dbperf3.mmp
../tdbms/t_dbenvdestroy.mmp
-PRJ_TESTEXTENSIONS
-start extension syslibs/test/dbms_copytestdbscfiles
-end
-
PRJ_TESTEXPORTS
-DBMSTests.iby /epoc32/rom/include/dbmstests.iby
-DbmsTests.bat /epoc32/data/z/system/test/dbmstests.bat
+DBMSTests.iby /epoc32/rom/include/dbmstests.iby
+DbmsTests.bat z:/test/dbmstests.bat
+
+../tdbms/11335577.spd z:/private/100012a5/policy/11335577.spd
+../tdbms/11335578.spd z:/private/100012a5/policy/11335578.spd
+../tdbms/11335579.spd z:/private/100012a5/policy/11335579.spd
+../tdbms/1133557A.spd z:/private/100012a5/policy/1133557a.spd
+../tdbms/12344321.spd z:/private/100012a5/policy/12344321.spd
+../tdbms/dbs_11335578_A.DB z:/private/100012a5/dbs_11335578_a.db
+../tdbms/dbs_11335578_B.DB z:/private/100012a5/dbs_11335578_b.db
+../tdbms/dbs_11335578_Z.DB z:/private/100012a5/dbs_11335578_z.db
+../tdbms/dbs_11335579_TESTDB.DB z:/private/100012a5/dbs_11335579_testdb.db
+../tdbms/dbs_1133557A_ZZZ.DB z:/private/100012a5/dbs_1133557a_zzz.db
+../tdbms/dbs_12344321_1234567890123456789012345678901234567890123456789012345678901234567890.DB z:/private/100012a5/dbs_12344321_1234567890123456789012345678901234567890123456789012345678901234567890.db
+../tdbms/11335577.txt z:/test/11335577.txt
+../tdbms/11335578.txt z:/test/11335578.txt
+../tdbms/11335579.txt z:/test/11335579.txt
+../tdbms/1133557A.txt z:/test/1133557A.txt
+../tdbms/t_dbperf1.sql z:/test/t_dbperf1.sql
+../tdbms/t_script.txt z:/test/t_script.txt
+../tdbms/typetextktests44.dat z:/test/typetextktests44.dat
+../tdbms/typetextktests46.dat z:/test/typetextktests46.dat
+../tdbms/typetextktests47.dat z:/test/typetextktests47.dat
--- a/persistentstorage/dbms/group/DBMSTests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/dbms/group/DBMSTests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 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"
@@ -20,30 +20,31 @@
REM DBMS Tests
#include <dbms.iby>
-data=ZSYSTEM\TEST\T_SCRIPT.TXT \TEST\T_SCRIPT.TXT
-data=ZSYSTEM\TEST\11335577.TXT \TEST\11335577.TXT
-data=ZSYSTEM\TEST\11335578.TXT \TEST\11335578.TXT
-data=ZSYSTEM\TEST\11335579.TXT \TEST\11335579.TXT
-data=ZSYSTEM\TEST\1133557A.TXT \TEST\1133557A.TXT
-data=ZSYSTEM\test\DBMStests.bat \TEST\DBMStests.bat
-data=ZSYSTEM\TEST\t_dbperf1.sql \TEST\t_dbperf1.sql
+data=DATAZ_\test\DBMStests.bat \TEST\DBMStests.bat
+
+data=DATAZ_\TEST\T_SCRIPT.TXT \TEST\T_SCRIPT.TXT
+data=DATAZ_\TEST\11335577.TXT \TEST\11335577.TXT
+data=DATAZ_\TEST\11335578.TXT \TEST\11335578.TXT
+data=DATAZ_\TEST\11335579.TXT \TEST\11335579.TXT
+data=DATAZ_\TEST\1133557A.TXT \TEST\1133557A.TXT
+data=DATAZ_\TEST\t_dbperf1.sql \TEST\t_dbperf1.sql
// Work around for DEF063276
-data=ZSYSTEM\test\TypeTextKTests44.dat \TEST\TypeTextKTests44.dat
-data=ZSYSTEM\test\TypeTextKTests46.dat \TEST\TypeTextKTests46.dat
-data=ZSYSTEM\test\TypeTextKTests47.dat \TEST\TypeTextKTests47.dat
+data=DATAZ_\test\TypeTextKTests44.dat \TEST\TypeTextKTests44.dat
+data=DATAZ_\test\TypeTextKTests46.dat \TEST\TypeTextKTests46.dat
+data=DATAZ_\test\TypeTextKTests47.dat \TEST\TypeTextKTests47.dat
-data=ZPRIVATE\100012A5\POLICY\11335577.SPD \PRIVATE\100012A5\POLICY\11335577.SPD
-data=ZPRIVATE\100012A5\POLICY\11335578.SPD \PRIVATE\100012A5\POLICY\11335578.SPD
-data=ZPRIVATE\100012A5\POLICY\11335579.SPD \PRIVATE\100012A5\POLICY\11335579.SPD
-data=ZPRIVATE\100012A5\POLICY\1133557A.SPD \PRIVATE\100012A5\POLICY\1133557A.SPD
-data=ZPRIVATE\100012A5\POLICY\12344321.SPD \PRIVATE\100012A5\POLICY\12344321.SPD
-data=ZPRIVATE\100012A5\DBS_11335578_A.DB \PRIVATE\100012A5\Dbs_11335578_a.dB
-data=ZPRIVATE\100012A5\DBS_11335578_B.DB \PRIVATE\100012A5\dbs_11335578_b.DB
-data=ZPRIVATE\100012A5\DBS_11335578_Z.DB \PRIVATE\100012A5\dBS_11335578_z.db
-data=ZPRIVATE\100012A5\DBS_11335579_TESTDB.DB \PRIVATE\100012A5\DbS_11335579_TEStdB.DB
+data=ZPRIVATE\100012A5\POLICY\11335577.SPD \PRIVATE\100012A5\POLICY\11335577.SPD
+data=ZPRIVATE\100012A5\POLICY\11335578.SPD \PRIVATE\100012A5\POLICY\11335578.SPD
+data=ZPRIVATE\100012A5\POLICY\11335579.SPD \PRIVATE\100012A5\POLICY\11335579.SPD
+data=ZPRIVATE\100012A5\POLICY\1133557A.SPD \PRIVATE\100012A5\POLICY\1133557A.SPD
+data=ZPRIVATE\100012A5\POLICY\12344321.SPD \PRIVATE\100012A5\POLICY\12344321.SPD
+data=ZPRIVATE\100012A5\DBS_11335578_A.DB \PRIVATE\100012A5\Dbs_11335578_a.dB
+data=ZPRIVATE\100012A5\DBS_11335578_B.DB \PRIVATE\100012A5\dbs_11335578_b.DB
+data=ZPRIVATE\100012A5\DBS_11335578_Z.DB \PRIVATE\100012A5\dBS_11335578_z.db
+data=ZPRIVATE\100012A5\DBS_11335579_TESTDB.DB \PRIVATE\100012A5\DbS_11335579_TEStdB.DB
data=ZPRIVATE\100012A5\DBS_12344321_1234567890123456789012345678901234567890123456789012345678901234567890.DB \PRIVATE\100012A5\DBS_12344321_1234567890123456789012345678901234567890123456789012345678901234567890.DB
-data=ZPRIVATE\100012A5\DBS_1133557A_ZZZ.DB \PRIVATE\100012A5\DBS_1133557A_ZZZ.db
+data=ZPRIVATE\100012A5\DBS_1133557A_ZZZ.DB \PRIVATE\100012A5\DBS_1133557A_ZZZ.db
file=ABI_DIR\BUILD_DIR\TEST.DBX \SYSTEM\LIBS\TEST.DBX
file=ABI_DIR\BUILD_DIR\T_DBENVCREATE.EXE \TEST\T_DBENVCREATE.EXE
--- a/persistentstorage/dbms/ustor/US_FILE.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/dbms/ustor/US_FILE.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -97,7 +97,7 @@
{
default:
__LEAVE(KErrNotSupported);
- case TDbFormat::ECreate:
+ case TDbFormat::ECreate:
store=CPermanentFileStore::CreateL(iFs,aName,EFileRead|EFileWrite);
break;
case TDbFormat::EReplace:
@@ -143,7 +143,7 @@
__ASSERT(!iName); // check construction phase
//
iName=aName.AllocL();
- const TUint mode=aMode==TDbFormat::EReadOnly ? EFileShareReadersOnly : EFileWrite;
+ TUint mode=aMode==TDbFormat::EReadOnly ? EFileShareReadersOnly : EFileWrite;
CFileStore* store=CPermanentFileStore::OpenL(iFs,*iName,mode);
iStore=store;
CDbStoreDatabase::RestoreL(DatabaseIdL(store->Root()));
--- a/persistentstorage/dbms/ustor/US_TABLE.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/dbms/ustor/US_TABLE.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -611,7 +611,9 @@
TInt size;
rec=ReadCardinality(rec,size);
size<<=2;
- if(size < 0)
+
+ //If such huge allocation is requested(KMaxTInt/2), it is highly likely the file is corrupt
+ if((size < 0) || (size >= KMaxTInt/2))
{
aRow.SetSize(0);
__LEAVE(KErrCorrupt);
--- a/persistentstorage/sql/GROUP/BLD.INF Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/BLD.INF Thu Jul 22 16:49:09 2010 +0100
@@ -43,8 +43,34 @@
PRJ_TESTEXPORTS
-sqltests.iby /epoc32/rom/include/sqltests.iby
-sqltests.bat /epoc32/data/z/system/test/sqltests.bat
+sqltests.iby /epoc32/rom/include/sqltests.iby
+sqltests.bat z:/test/sqltests.bat
+
+../TEST/TestDb1.db z:/test/testdb1.db
+../TEST/CorruptDb.db z:/test/corruptdb.db
+../TEST/contacts_schema_to_vendors.sql z:/test/contacts_schema_to_vendors.sql
+../TEST/add_simple_contacts.sql z:/test/add_simple_contacts.sql
+../TEST/t_SqlShortNonDb.db z:/test/t_sqlshortnondb.db
+../TEST/contacts_startup_time.sql z:/test/contacts_startup_time.sql
+../TEST/t_inc095412.db z:/test/t_inc095412.db
+../TEST/default_avacon.dbSQL z:/test/default_avacon.dbSQL
+../TEST/t_sqlbur_backup_ver0.bak z:/test/t_sqlbur_backup_ver0.bak
+../TEST/t_sqlperformance4.sql z:/test/t_sqlperformance4.sql
+../TEST/{21212122}AADb2.db z:/private/10281e17/[21212122]aadb2.db
+../TEST/{21212122}BBDb2.db z:/private/10281e17/[21212122]bbdb2.db
+../TEST/{21212125}T_AB.db z:/private/10281e17/[21212125]t_ab.db
+../TEST/{1111CCCC}T_AB.db z:/private/10281e17/[1111CCCC]t_ab.db
+../TEST/{21212125}T_OneDefPolicy.db z:/private/10281e17/[21212125]t_onedefpolicy.db
+//../TEST/SqlServer.cfg z:/private/10281e17/sqlserver.cfg
+../TEST/t_sqldb1.db z:/private/21212124/t_sqldb1.db
+../TEST/{98765432}t_2defaultpolicies.db z:/private/10281e17/[98765432]t_2defaultpolicies.db
+../TEST/{98765432}t_emptysettings.db z:/private/10281e17/[98765432]t_emptysettings.db
+../TEST/{98765432}t_invobject.db z:/private/10281e17/[98765432]t_invobject.db
+../TEST/{98765432}t_invversion.db z:/private/10281e17/[98765432]t_invversion.db
+../TEST/{98765432}t_longcollation.db z:/private/10281e17/[98765432]t_longcollation.db
+../TEST/{98765432}t_nocollation.db z:/private/10281e17/[98765432]t_nocollation.db
+../TEST/{98765432}t_nodefaultpolicy.db z:/private/10281e17/[98765432]t_nodefaultpolicy.db
+../TEST/{98765432}t_nosettings.db z:/private/10281e17/[98765432]t_nosettings.db
PRJ_TESTMMPFILES
@@ -76,6 +102,7 @@
t_sqlsecurity3.mmp
t_sqlsecurity4.mmp
t_sqlsecurity5.mmp
+t_sqlsecurity6.mmp
t_sqlattach.mmp
#ifndef WINS //hardware only
t_sqlattach2.mmp manual
@@ -84,6 +111,7 @@
t_sqlperformance2.mmp
t_sqlperformance3.mmp
t_sqlperformance4.mmp
+t_sqlperformance5.mmp
t_sqlood.mmp
t_sqloslayer.mmp
t_sqldefect.mmp
@@ -109,12 +137,8 @@
t_sqlfilesrvcrash1.mmp manual
t_sqlfilesrvcrash2.mmp manual
#endif
+t_sqlcorrupt.mmp
t_sqlenvdestroy.mmp
-
-PRJ_TESTEXTENSIONS
-start extension syslibs/test/sql_copysqltestfiles
-end
-
#include "../TEST/testexecute/group/bld.inf"
--- a/persistentstorage/sql/GROUP/SqlDb.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/SqlDb.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -31,6 +31,9 @@
UID 0x1000008d 0x10281E18
+//CodeWarrior compilation options - disable the "illegal pragma" warning
+OPTION CW -w noillpragmas
+
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../INC
USERINCLUDE ../SRC/Client
--- a/persistentstorage/sql/GROUP/sqltests.bat Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/sqltests.bat Thu Jul 22 16:49:09 2010 +0100
@@ -36,11 +36,13 @@
T_SQLSECURITY3.EXE
T_SQLSECURITY4.EXE
T_SQLSECURITY5.EXE
+T_SQLSECURITY6.EXE
T_SQLATTACH.EXE
T_SQLPERFORMANCE.EXE
T_SQLPERFORMANCE2.EXE
T_SQLPERFORMANCE3.EXE
T_SQLPERFORMANCE4.EXE
+T_SQLPERFORMANCE5.EXE
T_SQLOOD.EXE
T_SQLOSLAYER.EXE
T_SQLDEFECT.EXE
@@ -61,4 +63,5 @@
T_SQLFILEBUF64.EXE
T_SQLAUTHORIZER.EXE
T_SQLSTARTUP.EXE
+T_SQLCORRUPT.EXE
T_SQLENVDESTROY.EXE
--- a/persistentstorage/sql/GROUP/sqltests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/sqltests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -22,8 +22,6 @@
#include <testlocale.iby>
#include <charconv.iby>
#include <sql.iby>
-#include <ezlib.iby>
-
//Include the following to enable the ulogger server and the client tool.
//This is used to perform tracing using the UTF2
@@ -31,32 +29,32 @@
//#include <uloggerclttool.iby>
//#include <ulogger.iby>
-data=ZSYSTEM\test\sqlTests.bat \TEST\sqlTests.bat
-data=ZSYSTEM\test\contacts_schema_to_vendors.sql \TEST\contacts_schema_to_vendors.sql
-data=ZSYSTEM\test\add_simple_contacts.sql \TEST\add_simple_contacts.sql
-data=ZSYSTEM\test\contacts_startup_time.sql \TEST\contacts_startup_time.sql
-data=ZSYSTEM\test\TestDb1.DB \TEST\TestDb1.dB
-data=ZSYSTEM\test\CorruptDb.DB \TEST\CorruptDb.dB
-data=ZSYSTEM\test\t_SqlShortNonDb.db \TEST\t_SqlShortNonDb.db
-data=ZPRIVATE\10281e17\[21212122]AADb2.db \PRIVATE\10281e17\[21212122]AADb2.db
-data=ZPRIVATE\10281e17\[21212122]BBDb2.db \PRIVATE\10281e17\[21212122]BBDb2.db
-data=ZPRIVATE\10281e17\[21212125]T_AB.db \PRIVATE\10281e17\[21212125]T_AB.db
-data=ZPRIVATE\10281e17\[1111CCCC]T_AB.db \PRIVATE\10281e17\[1111CCCC]T_AB.db
-data=ZPRIVATE\21212124\t_sqldb1.db \PRIVATE\21212124\t_sqldb1.db
-data=ZSYSTEM\test\t_inc095412.db \TEST\t_inc095412.db
-data=ZPRIVATE\10281e17\[21212125]T_OneDefPolicy.db \PRIVATE\10281e17\[21212125]T_OneDefPolicy.db
-data=ZSYSTEM\test\default_avacon.dbSQL \TEST\default_avacon.dbSQL
-data=ZPRIVATE\10281e17\[98765432]t_2defaultpolicies.db \PRIVATE\10281e17\[98765432]t_2defaultpolicies.db
-data=ZPRIVATE\10281e17\[98765432]t_emptysettings.db \PRIVATE\10281e17\[98765432]t_emptysettings.db
-data=ZPRIVATE\10281e17\[98765432]t_invobject.db \PRIVATE\10281e17\[98765432]t_invobject.db
-data=ZPRIVATE\10281e17\[98765432]t_invversion.db \PRIVATE\10281e17\[98765432]t_invversion.db
-data=ZPRIVATE\10281e17\[98765432]t_longcollation.db \PRIVATE\10281e17\[98765432]t_longcollation.db
-data=ZPRIVATE\10281e17\[98765432]t_nocollation.db \PRIVATE\10281e17\[98765432]t_nocollation.db
+data=DATAZ_\test\sqlTests.bat \TEST\sqlTests.bat
+
+data=DATAZ_\test\contacts_schema_to_vendors.sql \TEST\contacts_schema_to_vendors.sql
+data=DATAZ_\test\add_simple_contacts.sql \TEST\add_simple_contacts.sql
+data=DATAZ_\test\contacts_startup_time.sql \TEST\contacts_startup_time.sql
+data=DATAZ_\test\TestDb1.DB \TEST\TestDb1.dB
+data=DATAZ_\test\CorruptDb.DB \TEST\CorruptDb.dB
+data=DATAZ_\test\t_SqlShortNonDb.db \TEST\t_SqlShortNonDb.db
+data=DATAZ_\test\t_inc095412.db \TEST\t_inc095412.db
+data=DATAZ_\test\default_avacon.dbSQL \TEST\default_avacon.dbSQL
+data=DATAZ_\test\t_sqlbur_backup_ver0.bak \TEST\t_sqlbur_backup_ver0.bak
+data=DATAZ_\test\t_sqlperformance4.sql \TEST\t_sqlperformance4.sql
+data=ZPRIVATE\10281e17\[21212122]AADb2.db \PRIVATE\10281e17\[21212122]AADb2.db
+data=ZPRIVATE\10281e17\[21212122]BBDb2.db \PRIVATE\10281e17\[21212122]BBDb2.db
+data=ZPRIVATE\10281e17\[21212125]T_AB.db \PRIVATE\10281e17\[21212125]T_AB.db
+data=ZPRIVATE\10281e17\[1111CCCC]T_AB.db \PRIVATE\10281e17\[1111CCCC]T_AB.db
+data=ZPRIVATE\21212124\t_sqldb1.db \PRIVATE\21212124\t_sqldb1.db
+data=ZPRIVATE\10281e17\[21212125]T_OneDefPolicy.db \PRIVATE\10281e17\[21212125]T_OneDefPolicy.db
+data=ZPRIVATE\10281e17\[98765432]t_2defaultpolicies.db \PRIVATE\10281e17\[98765432]t_2defaultpolicies.db
+data=ZPRIVATE\10281e17\[98765432]t_emptysettings.db \PRIVATE\10281e17\[98765432]t_emptysettings.db
+data=ZPRIVATE\10281e17\[98765432]t_invobject.db \PRIVATE\10281e17\[98765432]t_invobject.db
+data=ZPRIVATE\10281e17\[98765432]t_invversion.db \PRIVATE\10281e17\[98765432]t_invversion.db
+data=ZPRIVATE\10281e17\[98765432]t_longcollation.db \PRIVATE\10281e17\[98765432]t_longcollation.db
+data=ZPRIVATE\10281e17\[98765432]t_nocollation.db \PRIVATE\10281e17\[98765432]t_nocollation.db
data=ZPRIVATE\10281e17\[98765432]t_nodefaultpolicy.db \PRIVATE\10281e17\[98765432]t_nodefaultpolicy.db
-data=ZPRIVATE\10281e17\[98765432]t_nosettings.db \PRIVATE\10281e17\[98765432]t_nosettings.db
-data=ZSYSTEM\test\t_sqlbur_backup_ver0.bak \TEST\t_sqlbur_backup_ver0.bak
-data=ZSYSTEM\test\t_sqlperformance4.sql \TEST\t_sqlperformance4.sql
-
+data=ZPRIVATE\10281e17\[98765432]t_nosettings.db \PRIVATE\10281e17\[98765432]t_nosettings.db
file=ABI_DIR\BUILD_DIR\T_SQLENVCREATE.EXE \TEST\T_SQLENVCREATE.EXE
file=ABI_DIR\BUILD_DIR\T_SQLITE.EXE \TEST\T_SQLITE.EXE
@@ -80,12 +78,14 @@
file=ABI_DIR\BUILD_DIR\T_SQLSECURITY3.EXE \TEST\T_SQLSECURITY3.EXE
file=ABI_DIR\BUILD_DIR\T_SQLSECURITY4.EXE \TEST\T_SQLSECURITY4.EXE
file=ABI_DIR\BUILD_DIR\T_SQLSECURITY5.EXE \TEST\T_SQLSECURITY5.EXE
+file=ABI_DIR\BUILD_DIR\T_SQLSECURITY6.EXE \TEST\T_SQLSECURITY6.EXE
file=ABI_DIR\BUILD_DIR\T_SQLATTACH.EXE \TEST\T_SQLATTACH.EXE
file=ABI_DIR\BUILD_DIR\T_SQLATTACH2.EXE \TEST\T_SQLATTACH2.EXE
file=ABI_DIR\BUILD_DIR\T_SQLPERFORMANCE.EXE \TEST\T_SQLPERFORMANCE.EXE
file=ABI_DIR\BUILD_DIR\T_SQLPERFORMANCE2.EXE \TEST\T_SQLPERFORMANCE2.EXE
file=ABI_DIR\BUILD_DIR\T_SQLPERFORMANCE3.EXE \TEST\T_SQLPERFORMANCE3.EXE
file=ABI_DIR\BUILD_DIR\T_SQLPERFORMANCE4.EXE \TEST\T_SQLPERFORMANCE4.EXE
+file=ABI_DIR\BUILD_DIR\T_SQLPERFORMANCE5.EXE \TEST\T_SQLPERFORMANCE5.EXE
file=ABI_DIR\BUILD_DIR\T_SQLOOD.EXE \TEST\T_SQLOOD.EXE
file=ABI_DIR\BUILD_DIR\T_SQLOSLAYER.EXE \TEST\T_SQLOSLAYER.EXE
file=ABI_DIR\BUILD_DIR\T_SQLDEFECT.EXE \TEST\T_SQLDEFECT.EXE
@@ -109,6 +109,7 @@
file=ABI_DIR\BUILD_DIR\T_SQLDB64.EXE \TEST\T_SQLDB64.EXE
file=ABI_DIR\BUILD_DIR\T_SQLFILESRVCRASH1.EXE \TEST\T_SQLFILESRVCRASH1.EXE
file=ABI_DIR\BUILD_DIR\T_SQLFILESRVCRASH2.EXE \TEST\T_SQLFILESRVCRASH2.EXE
+file=ABI_DIR\BUILD_DIR\T_SQLCORRUPT.EXE \TEST\T_SQLCORRUPT.EXE
file=ABI_DIR\BUILD_DIR\T_SQLENVDESTROY.EXE \TEST\T_SQLENVDESTROY.EXE
#endif
--- a/persistentstorage/sql/GROUP/t_sqlcompact.mmp Mon Jun 21 22:46:09 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-// Copyright (c) 2008-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:
-//
-
-TARGET t_sqlcompact.exe
-TARGETTYPE EXE
-CAPABILITY None
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-OS_LAYER_ESTLIB_SYSTEMINCLUDE
-USERINCLUDE .
-USERINCLUDE ../SRC/Common
-USERINCLUDE ../SRC/Server/Compact
-USERINCLUDE ../SRC/Server
-#ifdef SYMBIAN_USE_SQLITE_VERSION_3_6_4
-USERINCLUDE ../SQLite364
-#else
-USERINCLUDE ../SQLite
-#endif
-
-SOURCEPATH ../SRC/Common
-SOURCE SqlUtil.cpp
-
-SOURCEPATH ../SRC/Server/Compact
-SOURCE SqlCompact.cpp SqlCompactEntry.cpp SqlCompactTimer.cpp
-
-SOURCEPATH ../SRC/Server
-SOURCE SqlSrvStatementUtil.cpp SqlSrvStrings.cpp SqlSrvUtil.cpp
-
-SOURCEPATH ../TEST
-SOURCE t_sqlcompact.cpp
-
-LIBRARY euser.lib
-LIBRARY estlib.lib
-LIBRARY efsrv.lib
-LIBRARY charconv.lib
-LIBRARY estor.lib
-LIBRARY hal.lib
-STATICLIBRARY sqlite.lib
-
-VENDORID 0x70000001
-
-SMPSAFE
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/GROUP/t_sqlcorrupt.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,36 @@
+// Copyright (c) 2010 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 <e32utrace.mmh>
+
+TARGET t_sqlcorrupt.exe
+TARGETTYPE EXE
+CAPABILITY ProtServ AllFiles
+
+USERINCLUDE .
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+SOURCEPATH ../TEST
+SOURCE t_sqlcorrupt.cpp
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY sqldb.lib
+LIBRARY bafl.lib
+LIBRARY estor.lib
+
+UID 0 0x08770000
+VENDORID 0x70000001
+
+SMPSAFE
\ No newline at end of file
--- a/persistentstorage/sql/GROUP/t_sqlperformance.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/t_sqlperformance.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -40,7 +40,7 @@
#endif
SOURCEPATH ../TEST
-SOURCE t_sqlperformance.cpp
+SOURCE t_sqlperformance.cpp t_sqlcmdlineutil.cpp
SOURCEPATH ../SRC/Common
SOURCE SqlUtil.cpp
--- a/persistentstorage/sql/GROUP/t_sqlperformance2.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/t_sqlperformance2.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -22,7 +22,7 @@
EPOCHEAPSIZE 0x00200000 0x02000000 //2Mb initial heap size
SOURCEPATH ../TEST
-SOURCE t_sqlperformance2.cpp
+SOURCE t_sqlperformance2.cpp t_sqlcmdlineutil.cpp
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/persistentstorage/sql/GROUP/t_sqlperformance3.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/t_sqlperformance3.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -21,7 +21,7 @@
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
SOURCEPATH ../TEST
-SOURCE t_sqlperformance3.cpp
+SOURCE t_sqlperformance3.cpp t_sqlcmdlineutil.cpp
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/persistentstorage/sql/GROUP/t_sqlperformance4.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/GROUP/t_sqlperformance4.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -23,7 +23,7 @@
EPOCHEAPSIZE 0x00200000 0x02000000 //2Mb initial heap size
SOURCEPATH ../TEST
-SOURCE t_sqlperformance4.cpp
+SOURCE t_sqlperformance4.cpp t_sqlcmdlineutil.cpp
LIBRARY euser.lib
LIBRARY efsrv.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/GROUP/t_sqlperformance5.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,36 @@
+// Copyright (c) 2010 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: MDS harvesting performance test
+//
+
+TARGET t_sqlperformance5.exe
+TARGETTYPE EXE
+CAPABILITY All -Tcb
+
+USERINCLUDE .
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+SOURCEPATH ../TEST
+SOURCE t_sqlperformance5.cpp t_sqlcmdlineutil.cpp
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY sqldb.lib
+LIBRARY bafl.lib
+LIBRARY hal.lib
+LIBRARY estor.lib
+
+UID 0 0x2121228F
+VENDORID 0x70000001
+
+SMPSAFE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/GROUP/t_sqlsecurity6.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,36 @@
+// Copyright (c) 2010 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 <e32utrace.mmh>
+
+TARGET t_sqlsecurity6.exe
+TARGETTYPE EXE
+CAPABILITY WriteUserData ReadUserData
+
+USERINCLUDE .
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+SOURCEPATH ../TEST
+SOURCE t_sqlsecurity6.cpp
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY sqldb.lib
+LIBRARY bafl.lib
+LIBRARY estor.lib
+
+UID 0 0x00009876
+VENDORID 0x70000001
+
+SMPSAFE
\ No newline at end of file
--- a/persistentstorage/sql/OsLayer/FileBuf64.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/OsLayer/FileBuf64.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -22,53 +22,98 @@
extern TBool TheOsCallTimeDetailedProfileEnabled;//If true, the OS porting layer call details are enabled and for each call an entry will be added to the log file (epocwind.out).
-#define PROFILE_READ(pos,amount) \
+#define PROFILE_READ(pos, amount, err) \
do \
{ \
if(TheOsCallTimeDetailedProfileEnabled) \
{ \
++iFileReadCount; iFileReadAmount += (amount); \
- RDebug::Print(_L(" -- FRead this=%X, Cnt=%d, Pos=%ld, Amt=%d, Ttl=%ld\r\n"), (TUint32)this, iFileReadCount, pos, amount, iFileReadAmount); \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Read¬%d¬%ld¬%d¬%ld¬%d\r\n"), (TUint32)this, iFileReadCount, pos, amount, iFileReadAmount, err); \
} \
} while(0)
-#define PROFILE_WRITE(pos,amount) \
+#define PROFILE_WRITE(pos, amount, err) \
do \
{ \
if(TheOsCallTimeDetailedProfileEnabled) \
{ \
++iFileWriteCount; iFileWriteAmount += (amount); \
- RDebug::Print(_L(" -- FWrite this=%X, Cnt=%d, Pos=%ld, Amt=%d, Ttl=%ld\r\n"), (TUint32)this, iFileWriteCount, pos, amount, iFileWriteAmount); \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Write¬%d¬%ld¬%d¬%ld¬%d\r\n"), (TUint32)this, iFileWriteCount, pos, amount, iFileWriteAmount, err); \
} \
} while(0)
-#define PROFILE_SIZE() \
+#define PROFILE_SIZE(size, err) \
do \
{ \
if(TheOsCallTimeDetailedProfileEnabled) \
{ \
++iFileSizeCount; \
- RDebug::Print(_L(" -- FSize this=%X, Cnt=%d\r\n"), (TUint32)this, iFileSizeCount); \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Size¬%d¬%ld¬¬¬%d\r\n"), (TUint32)this, iFileSizeCount, size, err); \
} \
} while(0)
-#define PROFILE_SETSIZE() \
+#define PROFILE_SETSIZE(size, err) \
do \
{ \
if(TheOsCallTimeDetailedProfileEnabled) \
{ \
++iFileSetSizeCount; \
- RDebug::Print(_L(" -- FSetSize this=%X, Cnt=%d\r\n"), (TUint32)this, iFileSetSizeCount); \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬SetSize¬%d¬%ld¬¬¬%d\r\n"), (TUint32)this, iFileSetSizeCount, size, err); \
} \
} while(0)
-#define PROFILE_FLUSH() \
+#define PROFILE_FLUSH(err) \
do \
{ \
if(TheOsCallTimeDetailedProfileEnabled) \
{ \
++iFileFlushCount; \
- RDebug::Print(_L(" -- FFlush this=%X, Cnt=%d\r\n"), (TUint32)this, iFileFlushCount); \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Flush¬%d¬¬¬¬%d\r\n"), (TUint32)this, iFileFlushCount, err); \
+ } \
+ } while(0)
+
+#define PROFILE_CREATE(fname, err) \
+ do \
+ { \
+ if(TheOsCallTimeDetailedProfileEnabled) \
+ { \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Create¬¬¬¬¬%d¬%S\r\n"), (TUint32)this, err, &fname); \
+ } \
+ } while(0)
+
+#define PROFILE_OPEN(fname, err) \
+ do \
+ { \
+ if(TheOsCallTimeDetailedProfileEnabled) \
+ { \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Open¬¬¬¬¬%d¬%S\r\n"), (TUint32)this, err, &fname); \
+ } \
+ } while(0)
+
+#define PROFILE_TEMP(fname, err) \
+ do \
+ { \
+ if(TheOsCallTimeDetailedProfileEnabled) \
+ { \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Temp¬¬¬¬¬%d¬%S\r\n"), (TUint32)this, err, &fname); \
+ } \
+ } while(0)
+
+#define PROFILE_ADOPT(fname, err) \
+ do \
+ { \
+ if(TheOsCallTimeDetailedProfileEnabled) \
+ { \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Adopt¬¬¬¬¬%d¬%S\r\n"), (TUint32)this, err, &fname); \
+ } \
+ } while(0)
+
+#define PROFILE_CLOSE() \
+ do \
+ { \
+ if(TheOsCallTimeDetailedProfileEnabled) \
+ { \
+ RDebug::Print(_L("[SQL-FBUF]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬Close¬¬¬¬¬¬\r\n"), (TUint32)this); \
} \
} while(0)
@@ -80,12 +125,18 @@
#else
-#define PROFILE_READ(pos,amount) void(0)
-#define PROFILE_WRITE(pos,amount) void(0)
+#define PROFILE_READ(pos,amount, err) void(0)
+#define PROFILE_WRITE(pos,amount, err) void(0)
-#define PROFILE_SIZE() void(0)
-#define PROFILE_SETSIZE() void(0)
-#define PROFILE_FLUSH() void(0)
+#define PROFILE_SIZE(size, err) void(0)
+#define PROFILE_SETSIZE(size, err) void(0)
+#define PROFILE_FLUSH(err) void(0)
+
+#define PROFILE_CREATE(fname, err) void(0)
+#define PROFILE_OPEN(fname, err) void(0)
+#define PROFILE_TEMP(fname, err) void(0)
+#define PROFILE_ADOPT(fname, err) void(0)
+#define PROFILE_CLOSE() void(0)
#endif//_SQLPROFILER
@@ -144,6 +195,7 @@
EFBufPanicNextReadFilePos,
EFBufPanicNextReadFilePosHits,
EFBufPanicFileBlockSize, //15
+ EFBufPanicRwDataLength,
};
/**
@@ -198,15 +250,16 @@
/**
Initializes RFileBuf64 data members with their default values.
-@param aSize Max file buffer size (capacity) in bytes.
+@param aMinCapacity Minimal file buffer size (capacity) in bytes.
-@panic FBuf64 1 In _DEBUG mode - aSize is 0 or negative.
+@panic FBuf64 1 In _DEBUG mode - aMinCapacity is 0 or negative.
*/
-RFileBuf64::RFileBuf64(TInt aSize) :
- iCapacity(aSize),
- iReadAheadSize(RFileBuf64::KDefaultReadAheadSize)
+RFileBuf64::RFileBuf64(TInt aMinCapacity) :
+ iCapacity(aMinCapacity),
+ iReadAheadSize(RFileBuf64::KDefaultReadAheadSize),
+ iOptimized(EFalse)
{
- __FBUF64_ASSERT(aSize > 0, EFBufPanicCapacity);
+ __FBUF64_ASSERT(aMinCapacity > 0, EFBufPanicCapacity);
}
/**
@@ -238,6 +291,7 @@
{
err = iFile.Create(aFs, aFileName, aFileMode);
}
+ PROFILE_CREATE(aFileName, err);
return DoPostInit(err);
}
@@ -269,6 +323,7 @@
{
err = iFile.Open(aFs, aFileName, aFileMode);
}
+ PROFILE_OPEN(aFileName, err);
return DoPostInit(err);
}
@@ -300,6 +355,7 @@
{
err = iFile.Temp(aFs, aPath, aFileName, aFileMode);
}
+ PROFILE_TEMP(aFileName, err);
return DoPostInit(err);
}
@@ -336,6 +392,7 @@
{
err = iFile.AdoptFromClient(aMsg, aFsIndex, aFileIndex);
}
+ PROFILE_ADOPT(KNullDesC, err);
return DoPostInit(err);
}
@@ -356,6 +413,7 @@
iFile.Close();
User::Free(iBase);
iBase = 0;
+ PROFILE_CLOSE();
}
/**
@@ -417,21 +475,26 @@
__FBUF64_ASSERT(aFilePos >= 0, EFBufPanicFilePos);
__FILEBUF64_INVARIANT();
aDes.SetLength(0);
- //1. The output buffer max len is 0
+ //0. The output buffer max len is 0
if(aDes.MaxLength() == 0)
{
__FILEBUF64_INVARIANT();
return KErrNone;
}
- //2. Initialize the "iFileSize" if it is not initialized yet
+ //1. Initialize the "iFileSize" if it is not initialized yet
TInt err = DoFileSize();
if(err != KErrNone)
{
__FILEBUF64_INVARIANT();
return err;
}
+ //2. Optimize the buffer capacity
+ TInt len = aDes.MaxLength();
+ if((err = DoSetCapacity(len)) != KErrNone)
+ {
+ return err;
+ }
//3. Too big "read" request - read directly from the file
- TInt len = aDes.MaxLength();
if(len > iCapacity)
{
if((aFilePos + len) > iFilePos && aFilePos < (iFilePos + iLength))
@@ -441,7 +504,7 @@
if(err == KErrNone)
{
err = iFile.Read(aFilePos, aDes);
- PROFILE_READ(aFilePos, aDes.Size());
+ PROFILE_READ(aFilePos, aDes.Size(), err);
}
__FILEBUF64_INVARIANT();
return err;
@@ -472,7 +535,7 @@
iNextReadFilePosHits = 0;
TPtr8 ptr2(outptr, len);
err = iFile.Read(aFilePos, ptr2);
- PROFILE_READ(aFilePos, ptr2.Size());
+ PROFILE_READ(aFilePos, ptr2.Size(), err);
if(err == KErrNone)
{
iNextReadFilePos = aFilePos + len;
@@ -481,7 +544,7 @@
break;
}
//The guessed from the previous "file read" operation file pos is correct. Start reading-ahead.
- const TInt KMaxReadFilePosHits = 8;//The max read-ahead buffer size can be up to 2^8 times the iReadAheadSize
+ const TInt KMaxReadFilePosHits = 4;//The max read-ahead buffer size can be up to 2^4 times the iReadAheadSize
if(iNextReadFilePosHits < KMaxReadFilePosHits)
{
++iNextReadFilePosHits;
@@ -496,7 +559,7 @@
}
TPtr8 ptr(iBase, Min(iCapacity, (len + readahead)));
err = iFile.Read(aFilePos, ptr);
- PROFILE_READ(aFilePos, ptr.Size());
+ PROFILE_READ(aFilePos, ptr.Size(), err);
if(err == KErrNone)
{
iFilePos = aFilePos;
@@ -552,6 +615,10 @@
__FILEBUF64_INVARIANT();
return err;
}
+ if((err = DoSetCapacity(aData.Length())) != KErrNone)
+ {
+ return err;
+ }
DoDiscardBufferedReadData();
const TUint8* data = aData.Ptr();
for(TInt len = aData.Length(); len > 0 && err == KErrNone;)
@@ -787,8 +854,8 @@
__FILEBUF64_INVARIANT();
return KErrNone;
}
- PROFILE_SIZE();
TInt err = iFile.Size(iFileSize);
+ PROFILE_SIZE(iFileSize, err);
if(err != KErrNone)
{
DoDiscard();
@@ -825,8 +892,8 @@
{
iLength = aFileSize - iFilePos;
}
- PROFILE_SETSIZE();
TInt err = iFile.SetSize(aFileSize);
+ PROFILE_SETSIZE(aFileSize, err);
if(err != KErrNone)
{
DoDiscard();
@@ -857,8 +924,8 @@
__FILEBUF64_INVARIANT();
return err;
}
- PROFILE_FLUSH();
err = iFile.Flush();
+ PROFILE_FLUSH(err);
if(err != KErrNone)
{
DoDiscard();
@@ -889,9 +956,9 @@
__FILEBUF64_INVARIANT();
return KErrNone;
}
- PROFILE_WRITE(iFilePos, iLength);
TPtrC8 data(iBase, iLength);
TInt err = iFile.Write(iFilePos, data);
+ PROFILE_WRITE(iFilePos, iLength, err);
if(err == KErrNone)
{
iFileSize = Max(iFileSize, (iFilePos + iLength));
@@ -1022,6 +1089,64 @@
__FILEBUF64_INVARIANT();
}
+/**
+Sets the most appropriate buffer capacity based on the database page size.
+The function does a lazy evaluation. The first time the function is called and
+aRwDataLength parameter is recognized to be a database or journal page size, the new (optimal)
+buffer capacity is calculated and set. All next DoSetCapacity() calls will detect that the new
+capacity is already set and will return KErrNone.
+
+@param aRwDataLength The length of the data being read or written.
+@return KErrNone The new capacity was set successfully,
+ KErrNoMemory Out of memory.
+*/
+TInt RFileBuf64::DoSetCapacity(TInt aRwDataLength)
+ {
+ const TInt KMinPageCount = 4;//the buffer capacity should be at least (KMinPageCount * page size)
+ //but not less than the original capacity.
+ const TInt KDefaultPageSize = 1024;//The journal header size is equal to 512 bytes, so it is not easy
+ //to detect the 512 bytes page size.
+
+ __FBUF64_ASSERT(aRwDataLength > 0, EFBufPanicRwDataLength);
+ __FILEBUF64_INVARIANT();
+ if(iOptimized)
+ {
+ __FILEBUF64_INVARIANT();
+ return KErrNone;
+ }
+ if((aRwDataLength & (aRwDataLength - 1)) != 0 || aRwDataLength < KDefaultPageSize)
+ {
+ __FILEBUF64_INVARIANT();
+ return KErrNone;
+ }
+ //Here: aRwDataLength is power of 2 and is bigger than the default db page size.
+ //aRwDataLength is the size of the db page.
+ const TInt pageSize = aRwDataLength;
+ TInt cnt = iCapacity / pageSize;//how many pages can fit in the buffer now
+ TInt pageCount = Max(cnt, KMinPageCount);//the number of pages that should fit in the new buffer
+ TInt newBufCapacity = pageCount * pageSize;
+ if(newBufCapacity != iCapacity)
+ {
+ TUint8* newBase = static_cast <TUint8*> (User::ReAlloc(iBase, newBufCapacity));
+ if(!newBase)
+ {
+ __FILEBUF64_INVARIANT();
+ return KErrNoMemory;
+ }
+ iBase = newBase;
+ iCapacity = newBufCapacity;
+ //Adjust the initial read-ahead size to be multiple of the page size.
+ if((iReadAheadSize % pageSize) != 0)
+ {
+ TInt q = iReadAheadSize / pageSize;
+ iReadAheadSize = q != 0 ? pageSize * q : pageSize;
+ }
+ }
+ iOptimized = ETrue;
+ __FILEBUF64_INVARIANT();
+ return KErrNone;
+ }
+
#ifdef _DEBUG
/**
@@ -1037,7 +1162,7 @@
@panic FBuf64 6 In _DEBUG mode - null file handle (the RFile64 object is not created or already destroyed).
@panic FBuf64 13 In _DEBUG mode - set but negative iNextReadFilePos value.
@panic FBuf64 14 In _DEBUG mode - negative iNextReadFilePosHits value.
-@panic FBuf64 15 In _DEBUG mode - iReadAheadSize is negative or is not power of two.
+@panic FBuf64 15 In _DEBUG mode - iReadAheadSize is negative or is bigger than iCapacity.
*/
void RFileBuf64::Invariant() const
{
@@ -1050,7 +1175,7 @@
__FBUF64_ASSERT(iFile.SubSessionHandle() != 0, EFBufPanicFileHandle);
__FBUF64_ASSERT(iNextReadFilePos == KNextReadFilePosNotSet || iNextReadFilePos >= 0, EFBufPanicNextReadFilePos);
__FBUF64_ASSERT(iNextReadFilePosHits >= 0, EFBufPanicNextReadFilePosHits);
- __FBUF64_ASSERT(iReadAheadSize > 0 && (iReadAheadSize & (iReadAheadSize - 1)) == 0, EFBufPanicFileBlockSize);
+ __FBUF64_ASSERT(iReadAheadSize > 0, EFBufPanicFileBlockSize);
}
#endif
--- a/persistentstorage/sql/OsLayer/FileBuf64.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/OsLayer/FileBuf64.h Thu Jul 22 16:49:09 2010 +0100
@@ -36,7 +36,7 @@
- an object of RFileBuf64 type must be defined first, specifying the max size (capacity) of the buffer as a parameter
of the constructor:
- RFileBuf64 fbuf(<N>);//<N> is the buffer capacity in bytes
+ RFileBuf64 fbuf(<N>);//<N> is the minimal buffer capacity in bytes
- the second step is to initialize the just defined RFileBuf64 object by calling one of the "resource acquisition"
methods: RFileBuf64::Create(), RFileBuf64::Open(), RFileBuf64::Temp() or RFileBuf64::AdoptFromClient().
@@ -141,7 +141,7 @@
enum {KDefaultReadAheadSize = 1024};//Default size in bytes of the read-ahead buffer
public:
- RFileBuf64(TInt aSize);
+ RFileBuf64(TInt aMinCapacity);
TInt Create(RFs& aFs, const TDesC& aFileName, TUint aFileMode);
TInt Open(RFs& aFs, const TDesC& aFileName, TUint aFileMode);
@@ -171,10 +171,11 @@
TInt DoFileWrite1(TInt64 aNewFilePos);
TInt DoFileWrite2(TInt64 aNewFilePos = 0LL);
void DoDiscardBufferedReadData();
+ TInt DoSetCapacity(TInt aRwDataLength);
private:
//Buffer related
- const TInt iCapacity; //The buffer size. Indicates how much data can be put in.
+ TInt iCapacity; //The buffer size. Indicates how much data can be put in.
TUint8* iBase; //Pointer to the beginning of the buffer.
TInt iLength; //The length of the data currently held in the buffer.
//File related
@@ -186,6 +187,8 @@
TInt64 iNextReadFilePos; //The guessed file position of the next "file read" operation
TInt iNextReadFilePosHits; //How many times the guessed file position of the "file read" operation was correct
TInt iReadAheadSize;
+ //
+ TBool iOptimized; //True if the file buffer capacity has been optimized already
//Profiler related
#ifdef _SQLPROFILER
--- a/persistentstorage/sql/OsLayer/os_symbian.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/OsLayer/os_symbian.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -84,6 +84,10 @@
EPanicFastCounterFreq =21
};
+//Bit-mask constant. If xOpen()'s "aFlag" parameter contains one of these bits set, then the the file top be
+//opened or created is a journal file.
+const TUint KJournalFileTypeBitMask = SQLITE_OPEN_MAIN_JOURNAL | SQLITE_OPEN_TEMP_JOURNAL | SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_MASTER_JOURNAL;
+
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -328,14 +332,13 @@
// - iBytesTotal - the total amount of bytes passed to the monitored OS porting layer function (if it is read or write);
struct TOsCallProfile
{
- TOsCallProfile(char aType, char aIdentifier[]) :
+ TOsCallProfile(char aType, const TDesC& aIdentifier) :
iType(aType),
+ iIdentifier(aIdentifier),
iCallCounter(0),
iTicksTotal(0),
iBytesTotal(0)
{
- iIdentifier[0] = aIdentifier[0];
- iIdentifier[1] = aIdentifier[1];
}
void Zero()
{
@@ -344,7 +347,7 @@
iBytesTotal = 0;
}
char iType;
- char iIdentifier[2];
+ TBuf<32> iIdentifier;
TInt iCallCounter;
TInt64 iTicksTotal;
TInt64 iBytesTotal;
@@ -354,22 +357,22 @@
//the function was used on the main database file
TOsCallProfile TheOsCallMProfile[EOsOpLast] =
{
- TOsCallProfile('M', "CL"), TOsCallProfile('M', "RD"), TOsCallProfile('M', "WR"), TOsCallProfile('M', "TR"),
- TOsCallProfile('M', "SY"), TOsCallProfile('M', "FS"), TOsCallProfile('M', "LK"), TOsCallProfile('M', "UL"),
- TOsCallProfile('M', "CL"), TOsCallProfile('M', "FC"), TOsCallProfile('M', "SS"), TOsCallProfile('M', "DC"),
- TOsCallProfile('M', "OP"), TOsCallProfile('M', "DE"), TOsCallProfile('M', "AC"), TOsCallProfile('M', "FN"),
- TOsCallProfile('M', "RN"), TOsCallProfile('M', "SL"), TOsCallProfile('M', "CT"), TOsCallProfile('M', "LE")
+ TOsCallProfile('M', _L("Close")), TOsCallProfile('M', _L("Read")), TOsCallProfile('M', _L("Write")), TOsCallProfile('M', _L("Truncate")),
+ TOsCallProfile('M', _L("Sync")), TOsCallProfile('M', _L("Size")), TOsCallProfile('M', _L("Lock")), TOsCallProfile('M', _L("Unlock")),
+ TOsCallProfile('M', _L("CheckReservedLock")), TOsCallProfile('M', _L("FileControl")), TOsCallProfile('M', _L("SetSize")), TOsCallProfile('M', _L("DeviceCharacteristics")),
+ TOsCallProfile('M', _L("Open")), TOsCallProfile('M', _L("Delete")), TOsCallProfile('M', _L("Access")), TOsCallProfile('M', _L("FullPath")),
+ TOsCallProfile('M', _L("Randomness")), TOsCallProfile('M', _L("Sleep")), TOsCallProfile('M', _L("CurrentTime")), TOsCallProfile('M', _L("GetLastError"))
};
//An array of TOsCallProfile entries, each entry keeps the profile of a specifc OS porting layer function, when
//the function was used on the journal file
TOsCallProfile TheOsCallJProfile[EOsOpLast] =
{
- TOsCallProfile('J', "CL"), TOsCallProfile('J', "RD"), TOsCallProfile('J', "WR"), TOsCallProfile('J', "TR"),
- TOsCallProfile('J', "SY"), TOsCallProfile('J', "FS"), TOsCallProfile('J', "LK"), TOsCallProfile('J', "UL"),
- TOsCallProfile('J', "CL"), TOsCallProfile('J', "FC"), TOsCallProfile('J', "SS"), TOsCallProfile('J', "DC"),
- TOsCallProfile('J', "OP"), TOsCallProfile('J', "DE"), TOsCallProfile('J', "AC"), TOsCallProfile('J', "FN"),
- TOsCallProfile('J', "RN"), TOsCallProfile('J', "SL"), TOsCallProfile('J', "CT"), TOsCallProfile('J', "LE")
+ TOsCallProfile('J', _L("Close")), TOsCallProfile('J', _L("Read")), TOsCallProfile('J', _L("Write")), TOsCallProfile('J', _L("Truncate")),
+ TOsCallProfile('J', _L("Sync")), TOsCallProfile('J', _L("Size")), TOsCallProfile('J', _L("Lock")), TOsCallProfile('J', _L("Unlock")),
+ TOsCallProfile('J', _L("CheckReservedLock")), TOsCallProfile('J', _L("FileControl")), TOsCallProfile('J', _L("SetSize")), TOsCallProfile('J', _L("DeviceCharacteristics")),
+ TOsCallProfile('J', _L("Open")), TOsCallProfile('J', _L("Delete")), TOsCallProfile('J', _L("Access")), TOsCallProfile('J', _L("FullPath")),
+ TOsCallProfile('J', _L("Randomness")), TOsCallProfile('J', _L("Sleep")), TOsCallProfile('J', _L("CurrentTime")), TOsCallProfile('J', _L("GetLastError"))
};
//The main class for the OS porting layer call profiles.
@@ -380,11 +383,15 @@
//aProfileRef - a reference to the related TOsCallProfile object - TheOsCallMProfile[] or TheOsCallJProfile[] entry;
//aOffset - file offset in bytes;
//aBytes - amount of bytes to be read/written;
- TOsCallCounter(TInt64& aOsCallTicksEntryRef, TOsCallProfile& aOsCallProfileRef, TInt64 aOffset, TInt aBytes) :
+ //aOptional - might be NULL. Used to print out the name of the file being processed.
+ TOsCallCounter(TInt64& aOsCallTicksEntryRef, TOsCallProfile& aOsCallProfileRef, TInt64 aOffset, TInt aBytes,
+ const sqlite3_file* aHandle, const char* aOptional) :
iOsCallTicksEntryRef(aOsCallTicksEntryRef),
iOsCallProfileRef(aOsCallProfileRef),
iOffset(aOffset),
- iBytes(aBytes)
+ iBytes(aBytes),
+ iHandle((TUint)aHandle),
+ iOptional((const TUint8*)aOptional)
{
if(TheOsCallTimeProfileEnabled)
{
@@ -407,18 +414,31 @@
++iOsCallProfileRef.iCallCounter;
iOsCallProfileRef.iTicksTotal += diffTicks;
iOsCallProfileRef.iBytesTotal += iBytes;
- // 1 2 3 4 5 6 7 8 9 10
- RDebug::Print(_L("'%c','%c%c',%d,%d,%ld,%d,%ld,%ld,%ld\n"),
- iOsCallProfileRef.iType, //1
- iOsCallProfileRef.iIdentifier[0], //2
- iOsCallProfileRef.iIdentifier[1], //3
- TheOpCounter, //4
- iOsCallProfileRef.iCallCounter, //5
- iOffset, //6
- iBytes, //7
- diffTicks, //8
- iOsCallProfileRef.iBytesTotal, //9
- iOsCallProfileRef.iTicksTotal); //10
+ TFileName fname;
+ if(iOptional)
+ {
+ TPtrC8 fn8(iOptional);
+ fname.Copy(fn8);
+ }
+ // 0 1 2 3 4 5 6 7 8 9 10
+ RDebug::Print(_L("[SQL-OS]¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬\"%X\"¬%c¬%S¬%d¬%d¬%ld¬%d¬%ld¬%ld¬%ld¬%S\n"),
+ //[SQL-OS]
+ //Handle
+ //Time from start, microseconds
+ //Subtype
+ //IPC sequence counter
+ //IPC call name
+ iHandle, //sqlite3_file*
+ iOsCallProfileRef.iType, //1 - main or journal file
+ &iOsCallProfileRef.iIdentifier, //2 - operation type
+ TheOpCounter, //3 - Operation counter
+ iOsCallProfileRef.iCallCounter, //4 - This call type counter
+ iOffset, //5 - File offset
+ iBytes, //6 - Data, bytes
+ diffTicks, //7 - Ticks
+ iOsCallProfileRef.iBytesTotal, //8 - Data total, bytes
+ iOsCallProfileRef.iTicksTotal, //9 - Ticks total
+ &fname); //10- File name
}
}
}
@@ -428,6 +448,8 @@
TInt64 iOffset;
TInt iBytes;
TUint32 iStartTicks;
+ TUint iHandle;
+ const TUint8* iOptional;
};
inline TOsCallProfile& OsCallProfile(TBool aType, TInt aIndex)
@@ -435,7 +457,7 @@
return aType ? TheOsCallJProfile[aIndex] : TheOsCallMProfile[aIndex];
}
-# define __OSTIME_COUNTER(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes) TOsCallCounter osCallCounter(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes)
+# define __OSTIME_COUNTER(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes, aHandle, aOpt) TOsCallCounter osCallCounter(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes, aHandle, aOpt)
#else //_SQLPROFILER
@@ -447,7 +469,7 @@
# define __OS_CALL(aOpType, a1, a2) void(0)
-# define __OSTIME_COUNTER(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes) void(0)
+# define __OSTIME_COUNTER(aOsCallTicksRef, aOsCallProfileRef, aOffset, aBytes, aHandle, aOpt) void(0)
#endif//_SQLPROFILER
@@ -1218,8 +1240,9 @@
{
wchar_t* dest = reinterpret_cast <wchar_t*> (const_cast <TUint16*> (aFileNameDestBuf.Ptr()));
TInt len = mbstowcs(dest, aFileName, aFileNameDestBuf.MaxLength());
+ __ASSERT_DEBUG(len >= 0, User::Panic(KPanicCategory, EPanicInternalError));
//If len == aFileNameDestBuf.MaxLength(), then the output buffer is too small.
- if(len > 0 && len < aFileNameDestBuf.MaxLength())
+ if(len < aFileNameDestBuf.MaxLength())
{
aFileNameDestBuf.SetLength(len);
return ETrue;
@@ -1246,8 +1269,9 @@
char* dest = reinterpret_cast <char*> (const_cast <TUint8*> (aFileNameDestBuf.Ptr()));
const wchar_t* src = reinterpret_cast <const wchar_t*> (aFileName.Ptr());
TInt len = wcstombs(dest, src, aFileNameDestBuf.MaxLength());
+ __ASSERT_DEBUG(len >= 0, User::Panic(KPanicCategory, EPanicInternalError));
//If len == aFileNameDestBuf.MaxLength(), then the output buffer is too small.
- if(len > 0 && len < aFileNameDestBuf.MaxLength())
+ if(len < aFileNameDestBuf.MaxLength())
{
aFileNameDestBuf.SetLength(len);
return ETrue;
@@ -1477,7 +1501,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileClose, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileClose], ::OsCallProfile(dbFile.iIsJournal, EOsFileClose), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileClose], ::OsCallProfile(dbFile.iIsJournal, EOsFileClose), 0, 0, aDbFile, 0);
__FS_CALL(EFsOpFileClose, 0);
dbFile.iFileBuf.Close();
if(dbFile.iFullName)
@@ -1519,7 +1543,7 @@
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileRead, 0, 0);
__COUNTER_INCR(TheSqlSrvProfilerFileRead);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileRead], ::OsCallProfile(dbFile.iIsJournal, EOsFileRead), aOffset, aAmt);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileRead], ::OsCallProfile(dbFile.iIsJournal, EOsFileRead), aOffset, aAmt, aDbFile, 0);
TPtr8 ptr((TUint8*)aBuf, 0, aAmt);
TInt err = dbFile.iFileBuf.Read(aOffset, ptr);
TInt cnt = ptr.Length();
@@ -1582,7 +1606,7 @@
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileWrite, 0, 0);
__COUNTER_INCR(TheSqlSrvProfilerFileWrite);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileWrite], ::OsCallProfile(dbFile.iIsJournal, EOsFileWrite), aOffset, aAmt);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileWrite], ::OsCallProfile(dbFile.iIsJournal, EOsFileWrite), aOffset, aAmt, aDbFile, 0);
TInt err = KErrAccessDenied;
if(!dbFile.iReadOnly)
{
@@ -1636,7 +1660,7 @@
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileTruncate, 0, 0);
__COUNTER_INCR(TheSqlSrvProfilerFileSetSize);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileTruncate], ::OsCallProfile(dbFile.iIsJournal, EOsFileTruncate), aLength, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileTruncate], ::OsCallProfile(dbFile.iIsJournal, EOsFileTruncate), aLength, 0, aDbFile, 0);
if(dbFile.iReadOnly)
{
COsLayerData::Instance().SetOsErrorCode(KErrAccessDenied);
@@ -1672,7 +1696,7 @@
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileSync, 0, 0);
__COUNTER_INCR(TheSqlSrvProfilerFileSync);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileSync], ::OsCallProfile(dbFile.iIsJournal, EOsFileSync), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileSync], ::OsCallProfile(dbFile.iIsJournal, EOsFileSync), 0, 0, aDbFile, 0);
if(dbFile.iReadOnly)
{
COsLayerData::Instance().SetOsErrorCode(KErrAccessDenied);
@@ -1707,7 +1731,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileFileSize, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileFileSize], ::OsCallProfile(dbFile.iIsJournal, EOsFileFileSize), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileFileSize], ::OsCallProfile(dbFile.iIsJournal, EOsFileFileSize), 0, 0, aDbFile, 0);
__FS_CALL(EFsOpFileSize, 0);
TInt err = dbFile.iFileBuf.Size(*aSize);
COsLayerData::Instance().SetOsErrorCode(err);
@@ -1741,7 +1765,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileLock, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileLock], ::OsCallProfile(dbFile.iIsJournal, EOsFileLock), aLockType, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileLock], ::OsCallProfile(dbFile.iIsJournal, EOsFileLock), aLockType, 0, aDbFile, 0);
//If there is already a lock of this type or more restrictive on the database file, do nothing.
if(dbFile.iLockType >= aLockType)
{
@@ -1774,7 +1798,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileUnlock, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileUnlock], ::OsCallProfile(dbFile.iIsJournal, EOsFileUnlock), aLockType, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileUnlock], ::OsCallProfile(dbFile.iIsJournal, EOsFileUnlock), aLockType, 0, aDbFile, 0);
dbFile.iLockType = aLockType;
return SQLITE_OK;
}
@@ -1803,7 +1827,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileCheckReservedLock, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileCheckReservedLock], ::OsCallProfile(dbFile.iIsJournal, EOsFileCheckReservedLock), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileCheckReservedLock], ::OsCallProfile(dbFile.iIsJournal, EOsFileCheckReservedLock), 0, 0, aDbFile, 0);
*aResOut = dbFile.iLockType >= SQLITE_LOCK_RESERVED ? 1 : 0;
return SQLITE_OK;
}
@@ -1839,7 +1863,7 @@
SYMBIAN_TRACE_SQL_EVENTS_ONLY(UTF::Printf(UTF::TTraceContext(UTF::EInternals), KFileFileCtr, aOp));
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileFileControl, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileFileControl], ::OsCallProfile(dbFile.iIsJournal, EOsFileFileControl), aOp, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileFileControl], ::OsCallProfile(dbFile.iIsJournal, EOsFileFileControl), aOp, 0, aDbFile, 0);
TInt err = KErrNone;
switch(aOp)
{
@@ -1890,7 +1914,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileSectorSize, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileSectorSize], ::OsCallProfile(dbFile.iIsJournal, EOsFileSectorSize), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileSectorSize], ::OsCallProfile(dbFile.iIsJournal, EOsFileSectorSize), 0, 0, aDbFile, 0);
__ASSERT_DEBUG(dbFile.iSectorSize > 0, User::Panic(KPanicCategory, EPanicInternalError));
if(dbFile.iSectorSize > 0)
{
@@ -1921,7 +1945,7 @@
SQLUTRACE_PROFILER(aDbFile);
TDbFile& dbFile = ::DbFile(aDbFile);
__OS_CALL(EOsFileDeviceCharacteristics, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsFileDeviceCharacteristics], ::OsCallProfile(dbFile.iIsJournal, EOsFileDeviceCharacteristics), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsFileDeviceCharacteristics], ::OsCallProfile(dbFile.iIsJournal, EOsFileDeviceCharacteristics), 0, 0, aDbFile, 0);
__ASSERT_DEBUG(dbFile.iDeviceCharacteristics >= 0, User::Panic(KPanicCategory, EPanicInternalError));
if(dbFile.iDeviceCharacteristics >= 0)
{
@@ -2005,38 +2029,35 @@
{
deviceCharacteristics |= SQLITE_IOCAP_ATOMIC;
}
- if(aVolumeInfo.iBlockSize >= SQLITE_DEFAULT_SECTOR_SIZE && (aVolumeInfo.iBlockSize & (aVolumeInfo.iBlockSize - 1)) == 0)
+ switch(aVolumeInfo.iBlockSize)
{
- switch(aVolumeInfo.iBlockSize)
- {
- case 512:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC512;
- break;
- case 1024:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC1K;
- break;
- case 2048:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC2K;
- break;
- case 4096:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC4K;
- break;
- case 8192:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC8K;
- break;
- case 16384:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC16K;
- break;
- case 32768:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC32K;
- break;
- case 65536:
- deviceCharacteristics |= SQLITE_IOCAP_ATOMIC64K;
- break;
- default:
- //Do nothing. deviceCharacteristics was initialized with 0 at the beginning of the function body.
- break;
- }
+ case 512:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC512;
+ break;
+ case 1024:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC1K;
+ break;
+ case 2048:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC2K;
+ break;
+ case 4096:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC4K;
+ break;
+ case 8192:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC8K;
+ break;
+ case 16384:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC16K;
+ break;
+ case 32768:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC32K;
+ break;
+ case 65536:
+ deviceCharacteristics |= SQLITE_IOCAP_ATOMIC64K;
+ break;
+ default:
+ //Do nothing. deviceCharacteristics was initialized with 0 at the beginning of the function body.
+ break;
}
return deviceCharacteristics;
}
@@ -2215,7 +2236,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsOpen, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsOpen], ::OsCallProfile(EFalse, EOsVfsOpen), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsOpen], ::OsCallProfile(EFalse, EOsVfsOpen), 0, 0, aDbFile, aFileName);
COsLayerData& osLayerData = COsLayerData::Instance();
TFileName fname;
if(aFileName && !::ConvertToUnicode(aFileName, fname))
@@ -2287,8 +2308,7 @@
__FS_CALL(EFsOpFileOpen, 0);
err = dbFile.iFileBuf.Open(osLayerData.iFs, fname, fmode);
- if(err == KErrNone && ((aFlags & SQLITE_OPEN_MAIN_JOURNAL) || (aFlags & SQLITE_OPEN_TEMP_JOURNAL) ||
- (aFlags & SQLITE_OPEN_SUBJOURNAL) || (aFlags & SQLITE_OPEN_MASTER_JOURNAL)))
+ if(err == KErrNone && (aFlags & KJournalFileTypeBitMask))
{
err = TVfs::DoFileSizeCorruptionCheck(dbFile, fname, fmode);
}
@@ -2338,8 +2358,7 @@
(void)dbFile.iFileBuf.SetReadAheadSize(dbFile.iSectorSize, recReadBufSize);
}
#ifdef _SQLPROFILER
- dbFile.iIsJournal = (aFlags & SQLITE_OPEN_MAIN_JOURNAL) || (aFlags & SQLITE_OPEN_TEMP_JOURNAL) ||
- (aFlags & SQLITE_OPEN_SUBJOURNAL) || (aFlags & SQLITE_OPEN_MASTER_JOURNAL);
+ dbFile.iIsJournal = aFlags & KJournalFileTypeBitMask;
#endif
return err == KErrNone ? SQLITE_OK : (err == KErrNoMemory ? SQLITE_IOERR_NOMEM : SQLITE_CANTOPEN);
}
@@ -2366,7 +2385,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsDelete, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsDelete], ::OsCallProfile(EFalse, EOsVfsDelete), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsDelete], ::OsCallProfile(EFalse, EOsVfsDelete), 0, 0, 0, aFileName);
COsLayerData& osLayerData = COsLayerData::Instance();
TBuf<KMaxFileName + 1> fname;
if(!::ConvertToUnicode(aFileName, fname))
@@ -2414,7 +2433,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsAccess, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsAccess], ::OsCallProfile(EFalse, EOsVfsAccess), aFlags, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsAccess], ::OsCallProfile(EFalse, EOsVfsAccess), aFlags, 0, 0, aFileName);
COsLayerData& osLayerData = COsLayerData::Instance();
TBuf<KMaxFileName + 1> fname;
if(!::ConvertToUnicode(aFileName, fname))
@@ -2491,7 +2510,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsFullPathName, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsFullPathName], ::OsCallProfile(EFalse, EOsVfsFullPathName), aBufLen, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsFullPathName], ::OsCallProfile(EFalse, EOsVfsFullPathName), aBufLen, 0, 0, aRelative);
COsLayerData& osLayerData = COsLayerData::Instance();
osLayerData.StoreFhData(NULL, EFalse);
//Convert the received file name to UTF16
@@ -2538,7 +2557,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsRandomness, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsRandomness], ::OsCallProfile(EFalse, EOsVfsRandomness), aBufLen, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsRandomness], ::OsCallProfile(EFalse, EOsVfsRandomness), aBufLen, 0, 0, 0);
COsLayerData& osLayerData = COsLayerData::Instance();
const TInt KRandIterations = aBufLen / sizeof(int);
for(TInt i=0;i<KRandIterations;++i)
@@ -2562,7 +2581,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsSleep, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsSleep], ::OsCallProfile(EFalse, EOsVfsSleep), aMicrosec, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsSleep], ::OsCallProfile(EFalse, EOsVfsSleep), aMicrosec, 0, 0, 0);
User::AfterHighRes(TTimeIntervalMicroSeconds32(aMicrosec));
return aMicrosec;
}
@@ -2582,7 +2601,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsCurrentTime, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsCurrentTime], ::OsCallProfile(EFalse, EOsVfsCurrentTime), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsCurrentTime], ::OsCallProfile(EFalse, EOsVfsCurrentTime), 0, 0, 0, 0);
TTime now;
now.UniversalTime();
TDateTime date = now.DateTime();
@@ -2618,7 +2637,7 @@
{
SQLUTRACE_PROFILER(aVfs);
__OS_CALL(EOsVfsGetLastError, 0, 0);
- __OSTIME_COUNTER(TheOsCallTicks[EOsVfsGetLastError], ::OsCallProfile(EFalse, EOsVfsGetLastError), 0, 0);
+ __OSTIME_COUNTER(TheOsCallTicks[EOsVfsGetLastError], ::OsCallProfile(EFalse, EOsVfsGetLastError), 0, 0, 0, 0);
return 0;
}
--- a/persistentstorage/sql/SQLite/callback.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SQLite/callback.c Thu Jul 22 16:49:09 2010 +0100
@@ -217,7 +217,7 @@
pColl = db->pDfltColl;
}
assert( SQLITE_UTF8==1 && SQLITE_UTF16LE==2 && SQLITE_UTF16BE==3 );
- assert( enc>=SQLITE_UTF8 && enc<=SQLITE_UTF16BE );
+ /*assert( enc>=SQLITE_UTF8 && enc<=SQLITE_UTF16BE );*/
if( pColl ) pColl += enc-1;
return pColl;
}
--- a/persistentstorage/sql/SQLite/parse.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SQLite/parse.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#define TK_SEMI 1
#define TK_EXPLAIN 2
#define TK_QUERY 3
--- a/persistentstorage/sql/SQLite/printf.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SQLite/printf.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
** The "printf" code that follows dates from the 1980's. It is in
** the public domain. The original comments are included here for
--- a/persistentstorage/sql/SQLite364/parse.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SQLite364/parse.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#define TK_SEMI 1
#define TK_EXPLAIN 2
#define TK_QUERY 3
--- a/persistentstorage/sql/SQLite364/printf.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SQLite364/printf.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
** The "printf" code that follows dates from the 1980's. It is in
** the public domain. The original comments are included here for
--- a/persistentstorage/sql/SRC/Client/SqlDbSession.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Client/SqlDbSession.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -196,16 +196,14 @@
TPtr8 bufPtr = buf->Des();
RDesWriteStream out(bufPtr);
TRAPD(err, SerializeToStreamL(out));
- if(err == KErrNone)
- {
- TUint32 arg0 = (TUint32)bufPtr.Length() | (aReadOnly ? 0x80000000 : 0);
- TIpcArgs ipcArgs(arg0, &bufPtr);
- err = aDbFile.TransferToServer(ipcArgs, 2, 3);
- if(err == KErrNone)
- {
- err = iDbSession.SendReceive(ESqlSrvDbAttachFromHandle, ipcArgs);
- }
- }
+ __SQLASSERT(err == KErrNone, ESqlPanicInternalError);//"Write to descriptor" streaming operatons can't fail
+ TUint32 arg0 = (TUint32)bufPtr.Length() | (aReadOnly ? 0x80000000 : 0);
+ TIpcArgs ipcArgs(arg0, &bufPtr);
+ err = aDbFile.TransferToServer(ipcArgs, 2, 3);
+ if(err == KErrNone)
+ {
+ err = iDbSession.SendReceive(ESqlSrvDbAttachFromHandle, ipcArgs);
+ }
delete buf;
return err;
}
--- a/persistentstorage/sql/SRC/Client/SqlResourceProfiler.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Client/SqlResourceProfiler.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -18,6 +18,8 @@
#include "SqlDatabaseImpl.h"
+#pragma BullseyeCoverage off
+
/**
Initializes TSqlResourceProfiler data members with their default values.
@@ -154,3 +156,5 @@
}
#endif//_SQLPROFILER
+
+#pragma BullseyeCoverage on
--- a/persistentstorage/sql/SRC/Client/SqlResourceTest.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Client/SqlResourceTest.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -23,6 +23,8 @@
//////////////////////// TSqlResourceTestData /////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
+#pragma BullseyeCoverage off
+
#ifdef _DEBUG
/**
@@ -274,3 +276,5 @@
}
#endif//_DEBUG
+
+#pragma BullseyeCoverage on
--- a/persistentstorage/sql/SRC/Client/SqlStatementImpl.inl Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Client/SqlStatementImpl.inl Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -134,6 +134,8 @@
ESqlDbError or other system-wide error codes;
KErrNone Operation has completed successfully.
+@panic SqlDb 7 In _DEBUG mode, invalid column count.
+
@see CSqlStatementImpl::New()
*/
template <class DES> TInt CSqlStatementImpl::Construct(CSqlDatabaseImpl& aDatabase, const DES& aSqlStmt)
@@ -143,15 +145,13 @@
{
return err;
}
- if(iColumnCnt >= 0)
- {
- err = iColumnValueBuf.SetCount(iColumnCnt);
- if(err != KErrNone)
- {
- return err;
- }
- iColumnValBufIt.Set(iColumnValueBuf);
- }
+ __SQLASSERT(iColumnCnt >= 0, ESqlPanicInternalError);
+ err = iColumnValueBuf.SetCount(iColumnCnt);
+ if(err != KErrNone)
+ {
+ return err;
+ }
+ iColumnValBufIt.Set(iColumnValueBuf);
if(iParamCnt > 0)
{
err = iParamValueBuf.SetCount(iParamCnt);
--- a/persistentstorage/sql/SRC/Common/SqlAssert.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Common/SqlAssert.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -46,7 +46,7 @@
static TInt Assert(const TText* aFile, TInt aLine, TInt aPanicCode);
static void Leave(const TText* aFile, TInt aLine, TInt aError);
static TInt LeaveIfError(const TText* aFile, TInt aLine, TInt aError);
- static void* LeaveIfNull(const TText* aFile, TInt aLine, void* aPtr);
+ static const void* LeaveIfNull(const TText* aFile, TInt aLine, const void* aPtr);
static TInt PanicClientL(const TText* aFile, TInt aLine, const RMessage2& aMessage, TInt aPanicCode);
static void ErrorPrint(const TDesC& aMsg, TInt aErr);
static void ErrorPrint(const TDesC& aMsg, const TDesC& aStr);
--- a/persistentstorage/sql/SRC/Common/SqlBufIterator.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Common/SqlBufIterator.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -214,11 +214,15 @@
/**
@return Represents the content of a text or a binary field as a stream of bytes.
-@leave KErrNoMemory, out of memory condition has occured;
+@leave KErrNoMemory, out of memory condition has occured,
+ KErrArgument, the column type is not text, blob or null;
*/
MStreamBuf* TSqlBufRIterator::StreamL() const
{
__SQLASSERT(iCurrent >= iBegin && iCurrent < iEnd, ESqlPanicInternalError);
- __SQLASSERT(::IsSequenceSqlType(Type()), ESqlPanicInternalError);
+ if(!::IsSequenceSqlType(Type()))
+ {
+ __SQLLEAVE(KErrArgument);
+ }
return HReadOnlyBuf::NewL(reinterpret_cast <const TUint8*> (iBegin) + iCurrent->iPos, iCurrent->Size());
}
--- a/persistentstorage/sql/SRC/Common/SqlSrvStartup.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Common/SqlSrvStartup.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -31,11 +31,6 @@
const TUid KSqlSrvUid3 = {0x10281E17};//The same UID is in SqlSrv.mmp file
-//Stack, Min & Max server heap size
-const TInt KSqlSrvStackSize = 0x10000; // 64K
-const TInt KSqlSrvMinHeapSize = 0x1000; // 4K
-const TInt KSqlSrvMaxHeapSize = 0x400000; // 4M
-
/**
@return SQL server version.
--- a/persistentstorage/sql/SRC/Common/SqlUtil.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Common/SqlUtil.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -274,7 +274,7 @@
@internalComponent
*/
-void* Util::LeaveIfNull(const TText* aFile, TInt aLine, void* aPtr)
+const void* Util::LeaveIfNull(const TText* aFile, TInt aLine, const void* aPtr)
{
if(!aPtr)
{
--- a/persistentstorage/sql/SRC/Security/SqlSecurity.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Security/SqlSecurity.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -105,7 +105,8 @@
{
SQLUTRACE_PROFILER(this);
__SQLASSERT_ALWAYS(aPolicyType >= ESchemaPolicy && aPolicyType <= EWritePolicy, ESqlPanicBadArgument);
- return Impl().SetDbPolicy(aPolicyType, aPolicy);
+ Impl().SetDbPolicy(aPolicyType, aPolicy);
+ return KErrNone;
}
/**
--- a/persistentstorage/sql/SRC/Security/SqlSecurityImpl.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Security/SqlSecurityImpl.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -179,11 +179,9 @@
RSqlSecurityPolicy::EReadPolicy, RSqlSecurityPolicy::EWritePolicy.
@param aPolicy Security policy data used for setting the related database security policy.
-@return KErrNone
-
@panic SqlDb 4 In _DEBUG mode. Invalid policy type.
*/
-TInt CSqlSecurityPolicy::SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy)
+void CSqlSecurityPolicy::SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy)
{
const TInt KPolicyIndex = CSqlSecurityPolicy::PolicyType2Index(aPolicyType);
__SQLASSERT((TUint)KPolicyIndex < EPolicyTypeCount, ESqlPanicBadArgument);
@@ -194,7 +192,6 @@
//KPolicyIndex value is tested at the beginning of the function
//coverity[overrun-local]
item->iPolicy[KPolicyIndex] = aPolicy;
- return KErrNone;
}
/**
--- a/persistentstorage/sql/SRC/Security/SqlSecurityImpl.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Security/SqlSecurityImpl.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -73,7 +73,7 @@
static CSqlSecurityPolicy* NewLC(const TSecurityPolicy& aDefaultPolicy);
virtual ~CSqlSecurityPolicy();
void SetDefaultPolicy(const TSecurityPolicy& aPolicy);
- TInt SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy);
+ void SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy);
TInt SetPolicy(RSqlSecurityPolicy::TObjectType aObjectType, const TDesC& aObjectName, RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy);
TSecurityPolicy DefaultPolicy() const;
TSecurityPolicy DbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType) const;
--- a/persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/Compact/SqlCompactEntry.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -189,6 +189,8 @@
Performs a compaction step on the database.
If the number of the free pages is bigger than the number of pages removed in one compaction step,
the function will reschedule itself for another compaction step.
+If the database file is corrupted, then the function will remove the database entry from the timer queue -
+the database won't be compacted anymore.
@return KErrNoMemory, an out of memory condition has occurred;
Note that the function may also return some other database specific
@@ -213,8 +215,9 @@
iPageCount -= processedPageCount;
__SQLASSERT(iPageCount >= 0, ESqlPanicInternalError);
}
- if(iPageCount <= 0)
- {//No more pages to compact. Stop the compacting, move to EInactive state, remove from the timer queue.
+ TBool stopCompaction = err == KSqlErrCorrupt || err == KSqlErrNotDb || err == KErrCorrupt || err == KErrDisMounted;
+ if(iPageCount <= 0 || stopCompaction)
+ {//No more pages to compact or the file is corrupted . Stop the compacting, move to EInactive state, remove from the timer queue.
ResetState();
iTimer.DeQueue(*this);
}
--- a/persistentstorage/sql/SRC/Server/SqlSrvAuthorizer.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvAuthorizer.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -279,8 +279,6 @@
case SQLITE_DETACH:// Database Name NULL
case SQLITE_REINDEX:// Index Name NULL
case SQLITE_ANALYZE:// Table Name NULL
- case SQLITE_CREATE_VTABLE:
- case SQLITE_DROP_VTABLE:
case SQLITE_FUNCTION:
break;
case SQLITE_PRAGMA:// Pragma Name 1st arg or NULL
@@ -295,7 +293,10 @@
// case SQLITE_DROP_TEMP_INDEX:// Index Name Table Name
// case SQLITE_DROP_TEMP_TABLE:// Table Name NULL
// case SQLITE_DROP_TEMP_TRIGGER:// Trigger Name Table Name
-// case SQLITE_DROP_TEMP_VIEW:// View Name NULL
+// case SQLITE_DROP_TEMP_VIEW:// View Name NULL
+//"CREATE VIRTUAL TABLE" and "DROP VIRTUAL TABLE" sql statements are not supported
+// case SQLITE_CREATE_VTABLE:
+// case SQLITE_DROP_VTABLE:
default:
__SQLASSERT(EFalse, ESqlPanicInternalError);
break;
@@ -410,10 +411,6 @@
case SQLITE_REINDEX:// Index Name NULL
case SQLITE_ANALYZE:// Table Name NULL
break;
- case SQLITE_CREATE_VTABLE:
- case SQLITE_DROP_VTABLE:
- __SQLASSERT(EFalse, ESqlPanicInternalError);
- res = SQLITE_DENY;
//No policy check
case SQLITE_FUNCTION:
break;
@@ -427,6 +424,9 @@
// case SQLITE_DROP_TEMP_TABLE:// Table Name NULL
// case SQLITE_DROP_TEMP_TRIGGER:// Trigger Name Table Name
// case SQLITE_DROP_TEMP_VIEW:// View Name NULL
+//"CREATE VIRTUAL TABLE" and "DROP VIRTUAL TABLE" sql statements are not supported
+// case SQLITE_CREATE_VTABLE:
+// case SQLITE_DROP_VTABLE:
default:
__SQLASSERT(EFalse, ESqlPanicInternalError);
break;
--- a/persistentstorage/sql/SRC/Server/SqlSrvConfig.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvConfig.h Thu Jul 22 16:49:09 2010 +0100
@@ -50,7 +50,12 @@
enum TDbEncoding {EEncNotSet, EEncUtf8, EEncUtf16};//Database encoding: the default value for iDbEncoding is EEncNotSet
enum
{
- KDefaultSoftHeapLimitKb = 1024,
+#ifdef __WINSCW__
+ KDefaultSoftHeapLimitKb = 1024,
+#else
+ KDefaultSoftHeapLimitKb = 8192,
+#endif
+
#ifdef SYSLIBS_TEST
KMinSoftHeapLimitKb = 8,
#else
--- a/persistentstorage/sql/SRC/Server/SqlSrvDatabase.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvDatabase.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -963,12 +963,8 @@
err = StmtExec(stmtHandle);
}
}
- TInt err2 = ::FinalizeStmtHandle(stmtHandle);
+ (void)::FinalizeStmtHandle(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
CleanupStack::PopAndDestroy();//TCleanupItem(&EnableAuthorizer, &iAuthorizerDisabled)
- if(err == KErrNone && err2 != KErrNone)
- {//::FinalizeStmtHandle() has failed
- err = err2;
- }
__SQLLEAVE_IF_ERROR(err);
TAttachCleanup attachCleanup(*this, aDbName);
@@ -1013,11 +1009,7 @@
err = StmtExec(stmtHandle);
}
}
- TInt err2 = ::FinalizeStmtHandle(stmtHandle);
- if(err == KErrNone && err2 != KErrNone)
- {//::FinalizeStmtHandle() has failed
- err = err2;
- }
+ (void)::FinalizeStmtHandle(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
iAuthorizerDisabled = EFalse;
return err;
}
--- a/persistentstorage/sql/SRC/Server/SqlSrvDbSysSettings.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvDbSysSettings.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -244,7 +244,7 @@
{
__SQLLEAVE(KErrGeneral);//two "default policy" records in the table
}
- StoreDefaultSecurityPolicyL(aSecurityPolicyCon, policy, dbPolicySetFlag);
+ StoreDefaultSecurityPolicy(aSecurityPolicyCon, policy, dbPolicySetFlag);
defaultPolicySet = ETrue;
break;
case KDbObjType:
@@ -891,24 +891,23 @@
@param aPolicy Default security policy object
@param aDbPolicySetFlag Bit flag. Keeps information which database security policies are set and which aren't.
-@leave See CSqlSecurityPolicy::SetDbPolicy() return values.
@see CSqlSecurityPolicy::SetDbPolicy()
*/
-void TSqlDbSysSettings::StoreDefaultSecurityPolicyL(CSqlSecurityPolicy& aSecurityPolicyCon,
- const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag)
+void TSqlDbSysSettings::StoreDefaultSecurityPolicy(CSqlSecurityPolicy& aSecurityPolicyCon,
+ const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag)
{
aSecurityPolicyCon.SetDefaultPolicy(aPolicy);
if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::ESchemaPolicy)))
{
- __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, aPolicy));
+ aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, aPolicy);
}
if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EReadPolicy)))
{
- __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, aPolicy));
+ aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, aPolicy);
}
if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EWritePolicy)))
{
- __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, aPolicy));
+ aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, aPolicy);
}
}
@@ -936,7 +935,7 @@
{
__SQLLEAVE(KErrGeneral);
}
- __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(static_cast <RSqlSecurityPolicy::TPolicyType> (aPolicyType), aPolicy));
+ aSecurityPolicyCon.SetDbPolicy(static_cast <RSqlSecurityPolicy::TPolicyType> (aPolicyType), aPolicy);
aDbPolicySetFlag |= (1 << aPolicyType);
}
--- a/persistentstorage/sql/SRC/Server/SqlSrvDbSysSettings.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvDbSysSettings.h Thu Jul 22 16:49:09 2010 +0100
@@ -67,7 +67,7 @@
TInt BindSecurityPolicyPrm(sqlite3_stmt* aStmtHandle, TInt aObjType, const TDesC& aObjName,
TInt aPolicyType, const TSecurityPolicy& aPolicy);
TSecurityPolicy ReadCurrSecurityPolicyL(sqlite3_stmt* aStmtHandle, TInt& aObjType, TPtrC& aObjName, TInt& aPolicyType);
- void StoreDefaultSecurityPolicyL(CSqlSecurityPolicy& aSecurityPolicyCon, const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag);
+ void StoreDefaultSecurityPolicy(CSqlSecurityPolicy& aSecurityPolicyCon, const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag);
void StoreDbSecurityPolicyL(CSqlSecurityPolicy& aSecurityPolicyCon, TInt aPolicyType,
const TSecurityPolicy& aPolicy, TInt& aDbPolicySetFlag);
void StoreDbObjSecurityPolicyL(CSqlSecurityPolicy& aSecurityPolicyCon, TInt aObjType, const TDesC& aObjName,
--- a/persistentstorage/sql/SRC/Server/SqlSrvResourceProfiler.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvResourceProfiler.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -662,8 +662,8 @@
TTime time;
time.UniversalTime();
TDateTime dt = time.DateTime();
- TheSqlSrvProfileTraceBuf8.Format(_L8("% 8X¬%012ld¬TME¬%02d:%02d:%02d:%06d¬Prep8=%08d¬Prep16=%08d¬Ex8=%08d¬Ex16=%08d"),
- 0, timeDiff, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond(),
+ TheSqlSrvProfileTraceBuf8.Format(_L8("[SQL]¬\"%X\"¬¬TME¬¬¬¬¬¬¬¬¬¬¬¬%02d:%02d:%02d:%06d¬Prep8¬%d¬Prep16¬%d¬Ex8¬%d¬Ex16¬%d"),
+ timeDiff, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond(),
TheSqlSrvProfilerPreparedCnt8, TheSqlSrvProfilerPreparedCnt16,
TheSqlSrvProfilerExecutedCnt8, TheSqlSrvProfilerExecutedCnt16);
if(TheSqlSrvProfilerTraceToFile)
@@ -758,19 +758,21 @@
}
if(ipcCallIdx >= 0 || (ipcCallIdx == KErrNotFound && TheSqlSrvProfilerTraceLevel == 2))
{
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬IPC¬%08u¬%20.20S¬%012ld¬%010d¬%08d¬%04d¬%04d¬%04d¬%04d¬rc=%d"),
- aDbHandle,
- timeFromStart,
- aIpcCounter,
- &ipcCallName,
- ttlExecTime,
- executionTime,
- count,
- TheSqlSrvProfilerFileRead,
- TheSqlSrvProfilerFileWrite,
- TheSqlSrvProfilerFileSync,
- TheSqlSrvProfilerFileSetSize,
- aRetCode);
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬\"%X\"¬%ld¬IPC¬%u¬%S¬%ld¬%d¬%d¬%d¬%d¬%d¬%d¬rc¬%d"),
+ //[SQL]
+ aDbHandle, //Database handle
+ timeFromStart, //Time from start, microseconds
+ //IPC
+ aIpcCounter, //IPC sequence counter for this database (connection)
+ &ipcCallName, //IPC call name
+ ttlExecTime, //All time spent in this IPC call type for this database (connection)
+ executionTime, //This IPC call execution time
+ count, //This IPC call sequence counter for this database (connection)
+ TheSqlSrvProfilerFileRead, //File read count, performed during this IPC
+ TheSqlSrvProfilerFileWrite, //File write count, performed during this IPC
+ TheSqlSrvProfilerFileSync, //File flush count, performed during this IPC
+ TheSqlSrvProfilerFileSetSize, //File set size count, performed during this IPC
+ aRetCode); //IPC call - return code
SqlSrvProfilePrintf(ESqlSrvProfilerNonSqlTrace);
}
}
@@ -788,12 +790,14 @@
TPtrC ipcCallName;
(void)SqlIpcTraceIdxAndName(aFuncCode, ipcCallName);
TInt64 timeFromStart = SqlTimeFromStartUs();
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬ERR¬%08u¬%20.20S¬err=%d"),
- aDbHandle,
- timeFromStart,
- aIpcCounter,
- &ipcCallName,
- aError);
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬\"%X\"¬%ld¬ERR¬%u¬%S¬¬¬¬¬¬¬¬err¬%d"),
+ //[SQL]
+ aDbHandle, //Database (connection) handle
+ timeFromStart, //Time from start, microseconds
+ //ERR
+ aIpcCounter, //IPC sequence counter for this database (connection)
+ &ipcCallName, //IPC call name
+ aError); //IPC call - return code
SqlSrvProfilePrintf(ESqlSrvProfilerNonSqlTrace);
}
}
@@ -823,13 +827,13 @@
_LIT(KEmptyStr, "");
if(pos == 0)
{
- line.Format(_L("% 8X¬%012ld¬SQL¬%12.12S¬"), aDbHandle, timeFromStart, aPrepare ? &KPrepare : &KExec);
+ line.Format(_L("[SQL]¬\"%X\"¬%ld¬SQL¬¬%S¬¬¬¬¬¬¬¬¬¬"), aDbHandle, timeFromStart, aPrepare ? &KPrepare : &KExec);
}
else
{
if(!TheSqlSrvProfilerTraceToFile)
{
- line.Format(_L("% 8X¬%012ld¬SQL¬%12.12S¬"), aDbHandle, timeFromStart, &KEmptyStr);
+ line.Format(_L("[SQL]¬\"%X\"¬%ld¬SQL¬¬%S¬¬¬¬¬¬¬¬¬¬"), aDbHandle, timeFromStart, &KEmptyStr);
}
}
TInt l = Min(len, (line.MaxLength() - line.Length()));
@@ -868,13 +872,13 @@
_LIT(KEmptyStr, "");
if(pos == 0)
{
- line.Format(_L("% 8X¬%012ld¬SQL¬%12.12S¬"), aDbHandle, timeFromStart, aPrepare ? &KPrepare : &KExec);
+ line.Format(_L("[SQL]¬\"%X\"¬%ld¬SQL¬¬%S¬¬¬¬¬¬¬¬¬¬"), aDbHandle, timeFromStart, aPrepare ? &KPrepare : &KExec);
}
else
{
if(!TheSqlSrvProfilerTraceToFile)
{
- line.Format(_L("% 8X¬%012ld¬SQL¬%12.12S¬"), aDbHandle, timeFromStart, &KEmptyStr);
+ line.Format(_L("[SQL]¬\"%X\"¬%ld¬SQL¬¬%S¬¬¬¬¬¬¬¬¬¬"), aDbHandle, timeFromStart, &KEmptyStr);
}
}
TInt l = Min(len, (line.MaxLength() - line.Length()));
@@ -904,7 +908,7 @@
return;
}
TInt64 timeFromStart = SqlTimeFromStartUs();
- TheSqlSrvProfileTraceBuf.Format(_L("% 08X¬%012ld¬CRE¬%S"),
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬\"%X\"¬%ld¬CRE¬¬¬¬¬¬¬¬¬¬¬¬%S"),
aDbHandle,
timeFromStart,
&aDbName);
@@ -926,7 +930,7 @@
return;
}
TInt64 timeFromStart = SqlTimeFromStartUs();
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬OPN¬%S"),
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬\"%X\"¬%ld¬OPN¬¬¬¬¬¬¬¬¬¬¬¬%S"),
aDbHandle,
timeFromStart,
&aDbName);
@@ -944,7 +948,7 @@
return;
}
TInt64 timeFromStart = SqlTimeFromStartUs();
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬CSE"),
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬\"%X\"¬%ld¬CSE"),
aDbHandle,
timeFromStart);
SqlSrvProfilePrintf(ESqlSrvProfilerNonSqlTrace);
@@ -986,7 +990,7 @@
RDebug::Print(_L("SQL trace file creation failed with err=%d"), err);
}
}
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬SRV¬START"), 0, timeFromStart);
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬¬%ld¬SRV¬¬Start"), timeFromStart);
SqlSrvProfilePrintf(ESqlSrvProfilerNonSqlTrace);
}
@@ -994,7 +998,7 @@
void SqlPrintServerStop()
{
TInt64 timeFromStart = SqlTimeFromStartUs();
- TheSqlSrvProfileTraceBuf.Format(_L("% 8X¬%012ld¬SRV¬STOP"), 0, timeFromStart);
+ TheSqlSrvProfileTraceBuf.Format(_L("[SQL]¬¬%ld¬SRV¬¬Stop"), timeFromStart);
SqlSrvProfilePrintf(ESqlSrvProfilerNonSqlTrace);
if(TheSqlSrvProfilerTraceToFile)
{
--- a/persistentstorage/sql/SRC/Server/SqlSrvSession.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvSession.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -9,7 +9,7 @@
// Nokia Corporation - initial contribution.
//
// Contributors:
-// NTT DOCOMO, INC - Fix for defect 1915 "SQL server panics when using long column type strings"
+// NTT DOCOMO, INC - Fix for Bug 1915 "SQL server panics when using long column type strings"
//
// Description:
//
@@ -479,6 +479,8 @@
//////////////////////////// Profiler operations ///////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
+#pragma BullseyeCoverage off
+
/**
Retrieves the counter values for the specified profiling counter.
@@ -515,6 +517,8 @@
}
}
+#pragma BullseyeCoverage on
+
///////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////// Database operations ///////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1082,6 +1086,7 @@
Arg 3: [in] database file handle
@panic SqlDb 2 Client panic. iDatabase is NULL (the database object is not created yet).
+@panic SqlDb 4 Client panic. Invalid IPC data, an indication of a problme in client side sql library.
*/
void CSqlSrvSession::DbAttachFromHandleL(const RMessage2& aMessage)
{
@@ -1089,10 +1094,7 @@
//Read-only flag, buffer length, buffer allocation
TBool readOnly = (aMessage.Int0() & 0x80000000) != 0;
const TInt KBufLen = aMessage.Int0() & 0x7FFFFFFF;
- if(KBufLen <= 0)
- {
- __SQLLEAVE(KErrArgument);
- }
+ __SQLPANIC_CLIENT(KBufLen > 0, aMessage, ESqlPanicBadArgument);
HBufC8* buf = HBufC8::NewLC(KBufLen);
TPtr8 bufPtr = buf->Des();
aMessage.ReadL(1, bufPtr);
@@ -1198,16 +1200,16 @@
@return The blob stream handle
@leave KErrNoMemory, An out of memory condition has occurred;
- KErrArgument, The IPC data buffer length is invalid, or the ROWID is invalid,
- or UTF-16 to UTF-8 string conversion failed;
+ KErrArgument, The ROWID is invalid or UTF-16 to UTF-8 string conversion failed;
KErrBadDescriptor The transferred data is bigger than the specified length;
KErrBadName, The table name, column name or database name has an invalid length;
KErrPermissionDenied, The client does not have the required security capabilites for this operation;
Note that the function may also leave with some other system wide errors or
database specific errors categorised as ESqlDbError.
-@panic SqlDb 2 Client panic. The database object is not yet created (iDatabase is NULL)
-@panic SqlDb 3 Client panic. Failed to create a blob stream handle
+@panic SqlDb 2 Client panic. The database object is not yet created (iDatabase is NULL).
+@panic SqlDb 3 Client panic. Failed to create a blob stream handle.
+@panic SqlDb 4 Client panic. IPC buffer length is 0.
Usage of the IPC call arguments:
Arg 0: [in] The length of the IPC data buffer
@@ -1218,13 +1220,11 @@
{
__SQLPANIC_CLIENT(iDatabase != NULL, aMessage, ESqlPanicInvalidObj);
+ TInt ipcPrmLen = aMessage.Int0();
+ __SQLPANIC_CLIENT(ipcPrmLen > 0, aMessage, ESqlPanicBadArgument);
+
iIpcStreams.AllocL();
- TInt ipcPrmLen = aMessage.Int0();
- if(ipcPrmLen < 1)
- {
- __SQLLEAVE(KErrArgument);
- }
TDes8& ipcPrmDes = ReadString8ZL(aMessage, 1, ipcPrmLen);
RDesReadStream strm(ipcPrmDes);
@@ -1578,8 +1578,8 @@
The string will be zero terminated after the "read" operation.
Returns TDes8 reference pointing to the zero-terminated string.
-@leave KErrBadDescriptor The transferred data length is bigger than the aByteLen value
-
+@panic SqlDb 3 Client panic. The string length is not equal to aByteLen. If happens then it is an indication of a
+ problem inside client side sql library.
@panic SqlDb 4 Client panic. Negative aByteLen value.
*/
TDes8& CSqlSrvSession::ReadString8ZL(const RMessage2& aMessage, TInt aArgNum, TInt aByteLen)
@@ -1588,10 +1588,7 @@
TDes8& buf = Server().GetBuf8L(aByteLen + 1);
aMessage.ReadL(aArgNum, buf);
SQLPROFILER_REPORT_IPC(ESqlIpcRead, aByteLen);
- if(buf.Length() > aByteLen)
- {
- __SQLLEAVE(KErrBadDescriptor);
- }
+ __SQLPANIC_CLIENT(buf.Length() == aByteLen, aMessage, ESqlPanicBadHandle);
buf.Append(TChar(0));
return buf;
}
@@ -1601,8 +1598,8 @@
The string will be zero terminated after the "read" operation.
Returns TDes16 reference pointing to the zero-terminated string.
-@leave KErrBadDescriptor The transferred data length is bigger than the aCharLen value
-
+@panic SqlDb 3 Client panic. The string length is not equal to aCharLen. If happens then it is an indication of a
+ problem inside client side sql library.
@panic SqlDb 4 Client panic. Negative aCharLen value.
*/
TDes16& CSqlSrvSession::ReadString16ZL(const RMessage2& aMessage, TInt aArgNum, TInt aCharLen)
@@ -1611,10 +1608,7 @@
TDes16& buf = Server().GetBuf16L(aCharLen + 1);
aMessage.ReadL(aArgNum, buf);
SQLPROFILER_REPORT_IPC(ESqlIpcRead, (aCharLen * sizeof(TText)));
- if(buf.Length() > aCharLen)
- {
- __SQLLEAVE(KErrBadDescriptor);
- }
+ __SQLPANIC_CLIENT(buf.Length() == aCharLen, aMessage, ESqlPanicBadHandle);
buf.Append(TChar(0));
return buf;
}
@@ -1623,8 +1617,8 @@
Reads a 16-bit string with "aCharLen" character length, which is in "aArgNum" argument of aMessage.
Returns TDes16 reference pointing to the string.
-@leave KErrBadDescriptor The transferred data length is bigger than the aCharLen value
-
+@panic SqlDb 3 Client panic. The string length is not equal to aCharLen. If happens then it is an indication of a
+ problem inside client side sql library.
@panic SqlDb 4 Client panic. Negative aCharLen value.
*/
TDes16& CSqlSrvSession::ReadString16L(const RMessage2& aMessage, TInt aArgNum, TInt aCharLen)
@@ -1633,10 +1627,7 @@
TDes16& buf = Server().GetBuf16L(aCharLen);
aMessage.ReadL(aArgNum, buf);
SQLPROFILER_REPORT_IPC(ESqlIpcRead, (aCharLen * sizeof(TText)));
- if(buf.Length() > aCharLen)
- {
- __SQLLEAVE(KErrBadDescriptor);
- }
+ __SQLPANIC_CLIENT(buf.Length() == aCharLen, aMessage, ESqlPanicBadHandle);
return buf;
}
--- a/persistentstorage/sql/SRC/Server/SqlSrvStatement.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvStatement.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -217,10 +217,6 @@
__SQLASSERT(iStmtHandle != NULL, ESqlPanicInvalidObj);
(void)sqlite3SymbianLastOsError();//clear last OS error
- if(sqlite3_expired(iStmtHandle))
- {
- __SQLLEAVE_IF_ERROR(KSqlErrStmtExpired);
- }
TSqlBufRIterator it;
it.Set(aParamBuf);
@@ -516,10 +512,6 @@
__SQLASSERT(aParamIndex < iParamBufArray.Count(), ESqlPanicBadArgument);
__SQLASSERT(iParamBufArray[aParamIndex] != NULL, ESqlPanicBadArgument);
(void)sqlite3SymbianLastOsError();//clear last OS error
- if(sqlite3_expired(iStmtHandle))
- {
- __SQLLEAVE_IF_ERROR(KSqlErrStmtExpired);
- }
//Bind the parameter value.
//SQLITE_STATIC is used as an argument, because the text/blob data will be kept and can be used by the next bind call
HSqlSrvStmtParamBuf& paramBuf = *iParamBufArray[aParamIndex];
--- a/persistentstorage/sql/SRC/Server/SqlSrvStatementUtil.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvStatementUtil.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -203,6 +203,7 @@
static TInt DoSingleStmtExec16(sqlite3 *aDbHandle, const TDesC16& aSql)
{
__SQLASSERT(aDbHandle != NULL, ESqlPanicInvalidObj);
+ __SQLASSERT(aSql.Length() > 0 ? (TInt)aSql[aSql.Length() - 1] == 0 : ETrue, ESqlPanicBadArgument);
sqlite3_stmt* stmtHandle = NULL;
const void* stmtTail = NULL;
//sqlite3_prepare16_v2() expects parameter #3 to be one of the following:
@@ -223,11 +224,7 @@
__SQLASSERT(err != SQLITE_OK, ESqlPanicInternalError);
}
}
- TInt err2 = sqlite3_finalize(stmtHandle);
- if(err == SQLITE_DONE && err2 != SQLITE_OK)
- {//return the "sqlite3_finalize" error
- err = err2;
- }
+ (void)sqlite3_finalize(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
}
return err;
}
@@ -423,15 +420,21 @@
// - aHasTail is true (possibly more than one SQL statement, separated with ";");
// - aStmtHandle is NULL;
//
-static TInt ProcessPrepareError(TInt aSqliteError, TBool aHasTail, sqlite3_stmt* aStmtHandle)
+static TInt ProcessPrepareError(TInt aSqliteError, TBool aHasTail, sqlite3_stmt*& aStmtHandle)
{
if(aSqliteError != SQLITE_OK)
{
return ::Sql2OsErrCode(aSqliteError, sqlite3SymbianLastOsError());
}
else if(aHasTail || !aStmtHandle)
- {//More than one SQL statement or the SQL string is "" or ";;;" or "; ;; ;".
- //Report it as an error, because there is no statement handle.
+ {//Case 1:
+ // More than one SQL statement or the SQL string is "" or ";;;" or "; ;; ;".
+ // Report it as an error, because there is no statement handle.
+ //Case 2:
+ // Non-null aHasTail. In this case the SQL string contains more than one SQL statement.
+ // The statement handle is not null. The statement has to be finialized before reporting the error.
+ (void)FinalizeStmtHandle(aStmtHandle);
+ aStmtHandle = NULL;
return KErrArgument;
}
return KErrNone;
@@ -544,12 +547,7 @@
__SQLASSERT(aStmtHandle != NULL, ESqlPanicInvalidObj);
(void)sqlite3SymbianLastOsError();//clear last OS error
-
- if(sqlite3_expired(aStmtHandle))
- {
- return KSqlErrStmtExpired;
- }
-
+
TInt err;
while((err = sqlite3_step(aStmtHandle)) == SQLITE_ROW)
{
@@ -594,11 +592,6 @@
(void)sqlite3SymbianLastOsError();//clear last OS error
- if(sqlite3_expired(aStmtHandle))
- {
- return KSqlErrStmtExpired;
- }
-
TInt err = sqlite3_step(aStmtHandle);
if(err == SQLITE_ERROR) //It may be "out of memory" problem
{
@@ -628,11 +621,6 @@
(void)sqlite3SymbianLastOsError();//clear last OS error
- if(sqlite3_expired(aStmtHandle))
- {
- return KSqlErrStmtExpired;
- }
-
TInt err = sqlite3_reset(aStmtHandle);
return ::Sql2OsErrCode(err, sqlite3SymbianLastOsError());
}
@@ -711,14 +699,9 @@
if(err == KSqlAtRow)
{
aPragmaValue = sqlite3_column_int(stmtHandle, 0);
- __SQLASSERT(aPragmaValue >= 0, ESqlPanicInternalError);
- err = KErrNone;
+ err = aPragmaValue >= 0 ? KErrNone : KErrCorrupt;
}
- TInt err2 = FinalizeStmtHandle(stmtHandle);
- if(err == KErrNone && err2 != KErrNone)
- {//FinalizeStmtHandle() has failed
- err = err2;
- }
+ (void)FinalizeStmtHandle(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
return err;
}
@@ -752,11 +735,7 @@
aPragmaValue.Copy(ptr);
err = KErrNone;
}
- TInt err2 = FinalizeStmtHandle(stmtHandle);
- if(err == KErrNone && err2 != KErrNone)
- {//::FinalizeStmtHandle() has failed
- err = err2;
- }
+ (void)FinalizeStmtHandle(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
return err;
}
@@ -987,11 +966,7 @@
__SQLASSERT(err != SQLITE_OK, ESqlPanicInternalError);
}
}
- TInt err2 = sqlite3_finalize(stmtHandle);
- if(err == SQLITE_DONE && err2 != SQLITE_OK)
- {//use the "sqlite3_finalize" error
- err = err2;
- }
+ (void)sqlite3_finalize(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed.
}
err = ::Sql2OsErrCode(err, sqlite3SymbianLastOsError());
if(err == KSqlAtEnd)
@@ -1004,6 +979,11 @@
/**
Finalizes the statement handle.
+Although the function can return an error, it is ok not to check the returned error,
+because sqlite3_finalize() fails only if invalid statement handle is passed as an argument.
+
+@return KErrNone, Operation completed successfully;
+ Other system-wide error codes or SQL errors of ESqlDbError type.
@internalComponent
*/
--- a/persistentstorage/sql/SRC/Server/SqlSrvStrings.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvStrings.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -55,7 +55,7 @@
CONST_LIT16(KSettingsTable16, "symbian_settings");
// config consts
-#ifdef SYSLIBS_TEST
+#if defined SYSLIBS_TEST || defined SQL_SOFT_HEAP_LIMIT_TEST
CONST_LIT16(KSqlSrvDefaultConfigFile, "c:\\test\\t_sqlserver.cfg");
CONST_LIT16(KSqlSrvDbConfigFileFormat, "c:cfg*");
#else
--- a/persistentstorage/sql/SRC/Server/SqlSrvUtil.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/SRC/Server/SqlSrvUtil.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -147,10 +147,6 @@
{
__SQLASSERT(aIn.Length() <= KMaxFileName, ESqlPanicBadArgument);
__SQLASSERT(aOut.MaxLength() >= KMaxFileName, ESqlPanicBadArgument);
- if(aIn.Length() > KMaxFileName || aOut.MaxLength() < KMaxFileName)
- {
- return EFalse;
- }
TBuf16<KMaxFileName + 1> des;
des.Copy(aIn);
des.Append(TChar(0));
--- a/persistentstorage/sql/TEST/t_sqlapi.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlapi.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -299,22 +299,24 @@
{
maxFileName = KMaxFileName -150;//The test will panic in PlatSim when the file name is too long. This line should be removed when platsim team fixes the file system defect.
}
- HBufC* dbPath = HBufC::NewLC(maxFileName);
+ HBufC* dbPath = HBufC::New(maxFileName);
+ TEST(dbPath != NULL);
+ TPtr dbPathPtr = dbPath->Des();
_LIT(KExt, ".DB");
- dbPath->Des().Copy(_L("C:"));
- dbPath->Des().Append(KSecureUid.Name());
- TInt len = maxFileName + 1 - (dbPath->Length() + KExt().Length() + privatePath.Length());
+ dbPathPtr.Copy(_L("C:"));
+ dbPathPtr.Append(KSecureUid.Name());
+ TInt len = maxFileName + 1 - (dbPathPtr.Length() + KExt().Length() + privatePath.Length());
while(--len)
{
- dbPath->Des().Append(TChar('A'));
+ dbPathPtr.Append(TChar('A'));
}
- dbPath->Des().Append(KExt);
- TEST(dbPath->Length() == (maxFileName - privatePath.Length()));
- rc = db.Create(dbPath->Des(), securityPolicy);
+ dbPathPtr.Append(KExt);
+ TEST(dbPathPtr.Length() == (maxFileName - privatePath.Length()));
+ rc = db.Create(dbPathPtr, securityPolicy);
TEST2(rc, KErrNone);
db.Close();
- rc2 = RSqlDatabase::Delete(dbPath->Des());
+ rc2 = RSqlDatabase::Delete(dbPathPtr);
TEST2(rc2, KErrNone);
// Private database with config
@@ -330,19 +332,20 @@
//Public shared database file on an existing drive (C:).
//Very long database file name.
- dbPath->Des().Copy(_L("C:\\TEST\\D"));
- len = maxFileName + 1 - (dbPath->Length() + KExt().Length());
+ dbPathPtr.Copy(_L("C:\\TEST\\D"));
+ len = maxFileName + 1 - (dbPathPtr.Length() + KExt().Length());
while(--len)
{
- dbPath->Des().Append(TChar('A'));
+ dbPathPtr.Append(TChar('A'));
}
- dbPath->Des().Append(KExt);
- TEST(dbPath->Length() == maxFileName);
- rc = db.Create(dbPath->Des());
+ dbPathPtr.Append(KExt);
+ TEST(dbPathPtr.Length() == maxFileName);
+ rc = db.Create(dbPathPtr);
db.Close();
- rc2 = RSqlDatabase::Delete(dbPath->Des());
+ rc2 = RSqlDatabase::Delete(dbPathPtr);
- CleanupStack::PopAndDestroy(dbPath);
+ delete dbPath;
+
TEST2(rc, KErrNone);
TEST2(rc2, KErrNone);
@@ -410,6 +413,19 @@
TEST(rc==KSqlErrNotDb || rc==KErrNone);
db.Close();
+ //An attempt to open database with name containing non-convertible characters.
+ TBuf<6> invName;
+ invName.SetLength(6);
+ invName[0] = TChar('c');
+ invName[1] = TChar(':');
+ invName[2] = TChar('\\');
+ invName[3] = TChar(0xD800);
+ invName[4] = TChar(0xFC00);
+ invName[5] = TChar(0x0000);
+ rc = db.Open(invName);
+ db.Close();
+ TEST(rc != KErrNone);
+
//Copy the corrupted database file on drive C:
TEST2(fs.Connect(), KErrNone);
rc = BaflUtils::CopyFile(fs, KDbPath10, KTestDbName3);
@@ -792,6 +808,7 @@
_LIT8(KStmt19, "INSERT INTO BBB(Fld1, Fld2, Fld3, Fld4, Fld5, Fld6)\
VALUES(:V1, :V2, :V3, :V4, :V5, :V6)");
_LIT8(KStmt20, "SELECT * FROM BBB");
+_LIT8(KStmt21, "SELECT fld1, fld2 FROM AAA;SELECT fld1, fld2 FROM AAA");
/**
@SYMTestCaseID SYSLIB-SQL-CT-1606
@@ -824,6 +841,10 @@
ExecSqlStmt(db, stmt, KErrNone);
stmt.Close();
+ //String containg more than one SQL statement.
+ stmt = PrepareSqlStmt<DES, BUF>(db, KStmt21, KErrArgument);
+ stmt.Close();
+
//SQL statement without parameters. Insert a record into the table.
stmt = PrepareSqlStmt<DES, BUF>(db, KStmt13, KErrNone);
ExecSqlStmt(db, stmt, KErrNone);
@@ -1088,6 +1109,17 @@
rc = stmt.Next();
TEST2(rc, KSqlAtRow);
+ //An attempt to read integer column using binary stream
+ RSqlColumnReadStream strm2;
+ rc = strm2.ColumnBinary(stmt, 0);
+ strm2.Close();
+ TEST2(rc, KErrArgument);
+
+ //An attempt to read integer column using text stream
+ rc = strm2.ColumnText(stmt, 0);
+ strm2.Close();
+ TEST2(rc, KErrArgument);
+
//Read the long text column using a stream
RSqlColumnReadStream columnStream;
rc = columnStream.ColumnText(stmt, 1);
@@ -2358,6 +2390,48 @@
(void)RSqlDatabase::Delete(KTestDbName1);
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4205
+@SYMTestCaseDesc "PRAGMA count_changes" test.
+ When "count_changes" pragma is ON, sqlite3_step() is called two times by the
+ SQL server, before getting the SQLITE_DONE return code.
+ Everything else is the same (statement processing, etc.).
+@SYMTestPriority High
+@SYMTestActions "PRAGMA count_changes" test.
+@SYMTestExpectedResults Test must not fail
+*/
+void CountChangesTest()
+ {
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ RSqlDatabase db;
+ TInt err = db.Create(KTestDbName1);
+ TEST2(err, KErrNone);
+ err = db.Exec(_L("CREATE TABLE A(I INTEGER)"));
+ TEST(err >= 0);
+
+ err = db.Exec(_L("PRAGMA count_changes=ON"));
+ TEST(err >= 0);
+
+ err = db.Exec(_L("INSERT INTO A VALUES(1)"));
+ TEST2(err, 1);
+
+ err = db.Exec(_L8("INSERT INTO A VALUES(2)"));
+ TEST2(err, 1);
+
+ RSqlStatement stmt;
+ err = stmt.Prepare(db, _L("DELETE FROM A WHERE I>=1 AND I<=2"));
+ TEST2(err, KErrNone);
+ err = stmt.Exec();
+ TEST2(err, 2);
+ stmt.Close();
+
+ err = db.Exec(_L("PRAGMA count_changes=OFF"));
+ TEST(err >= 0);
+
+ db.Close();
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ }
+
void DoTestsL()
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-CT-1601 Create/Open/Close database tests "));
@@ -2427,6 +2501,9 @@
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-4041 RSqlDatabase::Size(RSqlDatabase::TSize&) - different compaction modes tests"));
DiffCompactModeSize2Test();
+
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4205 PRAGMA \"count_changes\" test"));
+ CountChangesTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqlapi2.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlapi2.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -978,6 +978,23 @@
RSqlBlobReadStream strm6;
TRAP(err, strm6.OpenL(TheDb, KNullDesC, KNullDesC, 1, KNullDesC));
TEST(err != KErrNone);
+ //Attempt to open a read blob stream, where the blob column name is invalid and contains non-convertible characters.
+ TBuf<3> invName;
+ invName.SetLength(3);
+ invName[0] = TChar(0xD800);
+ invName[1] = TChar(0xFC00);
+ invName[2] = TChar(0x0000);
+ RSqlBlobReadStream strm7;
+ TRAP(err, strm7.OpenL(TheDb, _L("A"), invName, 1, KNullDesC));
+ TEST(err != KErrNone);
+ //Attempt to open a read blob stream, where the table name is invalid and contains non-convertible characters.
+ RSqlBlobReadStream strm8;
+ TRAP(err, strm8.OpenL(TheDb, invName, _L("Data"), 1, KNullDesC));
+ TEST(err != KErrNone);
+ //Attempt to open a read blob stream, where the attached db name is invalid and contains non-convertible characters.
+ RSqlBlobReadStream strm9;
+ TRAP(err, strm9.OpenL(TheDb, _L("A"), _L("Data"), 1, invName));
+ TEST(err != KErrNone);
//
err = TheDb.Detach(KAttachDb);
TEST2(err, KErrNone);
@@ -1697,6 +1714,73 @@
}
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4198
+@SYMTestCaseDesc Expired SQL statements test.
+ The test creates a database and opens 2 connections to that database.
+ Connection 2 prepares couple of SELECT and INSERT statements (8-bit and 16-bit).
+ Then connection 1 renames the table used in the already prepared statements.
+ Connection 2 attempts to execute the prepared statements. The execution should fail
+ because the database schema has changed after they were prepared.
+@SYMTestActions Expired SQL statements test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145236
+*/
+void ExpiredStmtTest()
+ {
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ //Create a database and create db connection 1.
+ TInt err = TheDb.Create(KTestDbName1);
+ TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("CREATE TABLE A(C1 INTEGER)"));
+ TEST(err >= 0);
+ err = TheDb.Exec(_L("INSERT INTO A(C1) VALUES(1)"));
+ TEST2(err, 1);
+
+ //Create db connection 2 to the same database, as db connection 1.
+ RSqlDatabase db2;
+ err = db2.Open(KTestDbName1);
+ TEST2(err, KErrNone);
+
+ //Db connection 2. Prepare SELECT and INSERT, 8-bit and 16-bit statements.
+ RSqlStatement stmt1, stmt2, stmt3, stmt4;
+ err = stmt1.Prepare(db2, _L("SELECT * FROM A"));
+ TEST2(err, KErrNone);
+ err = stmt2.Prepare(db2, _L8("SELECT * FROM A"));
+ TEST2(err, KErrNone);
+ err = stmt3.Prepare(db2, _L("INSERT INTO A(C1) VALUES(2)"));
+ TEST2(err, KErrNone);
+ err = stmt4.Prepare(db2, _L8("INSERT INTO A(C1) VALUES(3)"));
+ TEST2(err, KErrNone);
+
+ //Modify the A table structure from the other connection
+ //err = TheDb.Exec(_L("ALTER TABLE A ADD C2 INTEGER"));
+ err = TheDb.Exec(_L("ALTER TABLE A RENAME TO B"));
+ TEST(err >= 0);
+
+ //Try to execute the already prepared statements.
+ err = stmt1.Next();
+ TEST2(err, KSqlErrSchema);
+ err = stmt1.Next();
+ TEST(err != KSqlAtRow);
+ err = stmt2.Next();
+ TEST(err != KSqlAtRow);
+ err = stmt3.Exec();
+ TEST(err < 0);
+ err = stmt4.Exec();
+ TEST(err < 0);
+ //
+ stmt4.Close();
+ stmt3.Close();
+ stmt2.Close();
+ stmt1.Close();
+ db2.Close();
+ TheDb.Close();
+ err = RSqlDatabase::Delete(KTestDbName1);
+ TEST2(err, KErrNone);
+ }
+
void DoTestsL()
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-3512 RSqlStatement::ColumnCount() tests "));
@@ -1735,6 +1819,8 @@
ProfilerTest();
TheTest.Next( _L(" Compound SELECT, stack overflow test"));
CompoundSelectStackOverflowTest();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4198 Expired statements test"));
+ ExpiredStmtTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqlattach.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlattach.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -333,11 +333,8 @@
TEST2(err, KErrPermissionDenied);
//Attempt to detach database using DETACH sql statement directly.
- //Executed only in release mode because the server will panic in _DEBUG mode
-#ifndef _DEBUG
err = TheDb.Exec(_L("DETACH DATABASE DB2"));
TEST2(err, KErrPermissionDenied);
-#endif
err = TheDb.Detach(KAttachDb2);
TEST2(err, KErrNone);
--- a/persistentstorage/sql/TEST/t_sqlbadclient.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlbadclient.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -18,6 +18,7 @@
#include <e32math.h>
#include <sqldb.h>
#include "SqlUtil.h"
+#include "SqlSrvStartup.h" //KSqlMajorVer, KSqlMinorVer, KSqlBuildVer
///////////////////////////////////////////////////////////////////////////////////////
@@ -172,18 +173,18 @@
class RTestSqlDbSession : public RSessionBase
{
public:
- TInt Connect();
+ TInt Connect(const TVersion& aVersion);
void Close();
TInt SendReceive(TInt aFunction);
TInt SendReceive(TInt aFunction, const TIpcArgs& aArgs);
private:
- TInt DoCreateSession();
+ TInt DoCreateSession(const TVersion& aVersion);
};
-TInt RTestSqlDbSession::Connect()
+TInt RTestSqlDbSession::Connect(const TVersion& aVersion)
{
- TInt err = DoCreateSession();
+ TInt err = DoCreateSession(aVersion);
if(err == KErrNone)
{
TIpcArgs ipcArgs(KTestDbName1().Length(), &KTestDbName1(), 0, 0);
@@ -215,18 +216,14 @@
return RSessionBase::SendReceive(aFunction, aArgs);
}
-TInt RTestSqlDbSession::DoCreateSession()
+TInt RTestSqlDbSession::DoCreateSession(const TVersion& aVersion)
{
const TInt KTimesToRetryConnection = 2;
TInt retry = KTimesToRetryConnection;
_LIT(KSqlSrvName, "!SQL Server");//SqlDb server name
- //SQL server: major version number, minor version number, build number constants.
- const TInt KSqlMajorVer = 1;
- const TInt KSqlMinorVer = 1;
- const TInt KSqlBuildVer = 0;
for(;;)
{
- TInt err = CreateSession(KSqlSrvName, TVersion(KSqlMajorVer, KSqlMinorVer, KSqlBuildVer));
+ TInt err = CreateSession(KSqlSrvName, aVersion);
if(err != KErrNotFound && err != KErrServerTerminated)
{
return err;
@@ -286,8 +283,9 @@
TTEST(p != NULL);
TThreadData& data = *p;
+ TVersion sqlSoftwareVersion(KSqlMajorVer, KSqlMinorVer, KSqlBuildVer);
RTestSqlDbSession sess;
- TInt err = sess.Connect();
+ TInt err = sess.Connect(sqlSoftwareVersion);
TTEST2(err, KErrNone);
while(++data.iIteration <= KTestIterCount)
@@ -595,13 +593,62 @@
TheTest.Printf(_L("Delete database-2, err=%d\r\n"), err);
TEST(err != KErrNone);
}
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4200
+@SYMTestCaseDesc Invalid sql software version test.
+@SYMTestPriority High
+@SYMTestActions The test verifies that the SQL server checks that the software version of SQL sessions
+ to be created is less or equal to the current version of the server software.
+ If that is not true then the SQL server does not create the session annd returns KErrNotSupported.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF DEF145236
+*/
+void InvalidSoftwareVersionTest()
+ {
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ RSqlDatabase db;
+ TInt err = db.Create(KTestDbName1);
+ TEST2(err, KErrNone);
+ db.Close();
+ //Smaller version number
+ TVersion sqlSoftwareVersion1(1, 0, 0);
+ RTestSqlDbSession sess1;
+ err = sess1.Connect(sqlSoftwareVersion1);
+ sess1.Close();
+ TEST2(err, KErrNone);
+
+ //Bigger version number 1
+ TVersion sqlSoftwareVersion2(1, 97, 3);
+ RTestSqlDbSession sess2;
+ err = sess2.Connect(sqlSoftwareVersion2);
+ TEST2(err, KErrNotSupported);
+
+ //Bigger version number 2
+ TVersion sqlSoftwareVersion3(78, 0, 1);
+ RTestSqlDbSession sess3;
+ err = sess3.Connect(sqlSoftwareVersion3);
+ TEST2(err, KErrNotSupported);
+
+ //The current version number
+ TVersion sqlSoftwareVersion4(KSqlMajorVer, KSqlMinorVer, KSqlBuildVer);
+ RTestSqlDbSession sess4;
+ err = sess4.Connect(sqlSoftwareVersion4);
+ sess4.Close();
+ TEST2(err, KErrNone);
+
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ }
+
void DoTests()
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-CT-1769 Bad client test "));
BadClientTest();
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-4048 Bad names test"));
BadNameTest();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4200 Invalid software version test"));
+ InvalidSoftwareVersionTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqlblob.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlblob.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -1959,6 +1959,92 @@
CleanupStack::PopAndDestroy(2, blobWrBuf); // buf, blobWrBuf
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4194
+@SYMTestCaseDesc The test opens a test database, creates a table with a blob column and inserts one record.
+ Then the test uses RSqlBlobWriteStream to modify the blob column content.
+ MStreamBuf::SeekL() is used to modify the blob data at specific positions.
+ Then the test uses RSqlBlobReadStream object to read the just written blob data.
+ MStreamBuf::SeekL() is used to read the column content at specific positions
+ (the same positions used during the blob write operation). The read byte values must
+ match the written byte values.
+@SYMTestPriority High
+@SYMTestActions RSqlBlobReadStream and RSqlBlobWriteStream - MStreamBuf::SeekL() test.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF DEF145028
+*/
+void StreamSeekTestL()
+ {
+ TInt rc = TheDb1.Exec(_L("CREATE TABLE A(Fld1 INTEGER, Fld2 BLOB)"));
+ TEST(rc >= 0);
+
+ //Write a record to the database using a blob stream. MStreamBuf::SeekL() is used to modify the content at a specific position.
+ rc = TheDb1.Exec(_L("INSERT INTO A(Fld1, Fld2) VALUES(1, zeroblob(256))"));
+ TEST2(rc, 1);
+ RSqlBlobWriteStream strm1;
+ CleanupClosePushL(strm1);
+ strm1.OpenL(TheDb1, _L("A"), _L("Fld2"));
+ for(TInt i=0;i<256;++i)
+ {
+ strm1 << (TUint8)i;
+ }
+
+ const TInt KStreamOffset = 10;
+ const TUint8 KByte = 'z';
+ _LIT8(KData, "QWERTYUIOPASDFG");
+
+ MStreamBuf* strm1buf = strm1.Sink();
+ TEST(strm1buf != NULL);
+
+ strm1buf->SeekL(MStreamBuf::EWrite, EStreamBeginning, 0);
+ strm1buf->WriteL(&KByte, 1);
+
+ strm1buf->SeekL(MStreamBuf::EWrite, EStreamMark, KStreamOffset);
+ strm1buf->WriteL(&KByte, 1);
+
+ strm1buf->SeekL(MStreamBuf::EWrite, EStreamEnd, -KData().Length());
+ strm1buf->WriteL(KData().Ptr(), KData().Length());
+
+ strm1buf->SeekL(MStreamBuf::EWrite, EStreamEnd, -4 * KStreamOffset);
+ strm1buf->WriteL(&KByte, 1);
+
+ strm1.CommitL();
+ CleanupStack::PopAndDestroy(&strm1);
+
+ //Read the record using a blob stream. MStreamBuf::SeekL() is used to read the content at a specific position.
+ RSqlBlobReadStream strm2;
+ CleanupClosePushL(strm2);
+ strm2.OpenL(TheDb1, _L("A"), _L("Fld2"));
+
+ TUint8 byte = 0;
+ MStreamBuf* strm2buf = strm2.Source();
+ TEST(strm1buf != NULL);
+
+ strm2buf->SeekL(MStreamBuf::ERead, EStreamBeginning, 0);
+ rc = strm2buf->ReadL(&byte, 1);
+ TEST2(rc, 1);
+ TEST2(byte, KByte);
+
+ strm2buf->SeekL(MStreamBuf::ERead, EStreamMark, KStreamOffset);
+ rc = strm2buf->ReadL(&byte, 1);
+ TEST2(rc, 1);
+ TEST2(byte, KByte);
+
+ strm2buf->SeekL(MStreamBuf::ERead, EStreamEnd, -KData().Length());
+ TUint8 buf[20];
+ rc = strm2buf->ReadL(buf, KData().Length());
+ TEST2(rc, KData().Length());
+ TPtrC8 bufptr(buf, rc);
+ TEST(bufptr == KData);
+
+ strm2buf->SeekL(MStreamBuf::ERead, EStreamEnd, -4 * KStreamOffset);
+ rc = strm2buf->ReadL(&byte, 1);
+ TEST2(rc, 1);
+ TEST2(byte, KByte);
+
+ CleanupStack::PopAndDestroy(&strm2);
+ }
+
void DoTestsL()
{
CreateTestDbs();
@@ -2015,6 +2101,9 @@
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-4114: Big blob test"));
BigBlobTestL();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4194: Blob streams. MStreamBuf::SeekL() test"));
+ StreamSeekTestL();
+
DeleteTestDbs();
}
--- a/persistentstorage/sql/TEST/t_sqlbur.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlbur.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -130,8 +130,13 @@
//The SQL server would have the job to get a list of databases owned by
//the given SID and to determine whether the backup flag is set
//All databases that satisfy this requirement will be added to the array
-void CSqlBurTestHarness::GetBackUpListL(TSecureId /*aUid*/, RArray<TParse>& aFileList)
+void CSqlBurTestHarness::GetBackUpListL(TSecureId aUid, RArray<TParse>& aFileList)
{
+ if(aUid.iId == 0)
+ {//Simulates that there are no databases for backup
+ aFileList.Reset();
+ return;
+ }
//TheTest.Printf(_L("Getting backup file list for SID=%x\r\n"),aUid);
for(TInt i=0;i<KTestDbFileCnt;++i)
{
@@ -195,7 +200,7 @@
}
//Reads the content of the db files and stores the content to a global memory buffer.
-//That buffer content will be sued later for a verification of the restore process.
+//That buffer content will be used later for verification of the restore process.
void StoreDbContentToBuf(RFs& aFs)
{
for(TInt i=0;i<KTestDbFileCnt;++i)
@@ -822,7 +827,95 @@
(void)TheTestHarness->Fs().Delete(KBackupFile2);
}
-
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4192
+@SYMTestCaseDesc SQL Backup&Restore - empty backup file list test.
+ The test checks what will happen if the list with the files for backup is empty.
+ The GetBackupDataSectionL() should immediatelly set the flag parameter to true and do nothing.
+@SYMTestActions SQL Backup&Restore - empty backup file list test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145198
+*/
+void EmptyBackupFileListTest()
+ {
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4192 Backup&Restore: empty backup file list"));
+
+ CSqlBackupClient* backupClient = NULL;
+ TRAPD(err, backupClient = CSqlBackupClient::NewL(TheTestHarness));
+ TEST(backupClient != NULL);
+
+ TRAP(err, backupClient->InitialiseGetProxyBackupDataL(KNullUid, EDriveC));
+ TEST2(err, KErrNone);
+
+ TBuf8<100> buf;
+ TPtr8 ptr((TUint8*)buf.Ptr(), 0, buf.MaxLength());
+ TBool finishedFlag = EFalse;
+ TRAP(err, backupClient->GetBackupDataSectionL(ptr, finishedFlag));
+ delete backupClient;
+ TEST2(err, KErrNone);
+ TEST(finishedFlag);
+ TEST2(buf.Length(), 0);
+ }
+
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4193
+@SYMTestCaseDesc SQL Backup&Restore - file I/O error simulation test.
+ The test executes a backup, followed by a restore operation
+ in a file I/O error simulation loop.
+@SYMTestActions SQL Backup&Restore - file I/O error simulation test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145198
+*/
+void BackupRestoreFileIoErrTest()
+ {
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4193 Backup: File I/O error simulation test"));
+
+ //Make sure that the database content, just before the backup, will be copied to the test biffers.
+ //The buffers will be used during the restore testing for verification of the database content.
+ StoreDbContentToBuf(TheTestHarness->Fs());
+
+ for(TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError)
+ {
+ TheTest.Printf(_L("===Backup&Restore, simulated file system error=%d\r\n"), fsError);
+
+ TInt err = KErrGeneral;
+ TInt bytesStored = -1;
+ TInt it_cnt1 = 0;
+ for(;err<KErrNone;++it_cnt1)
+ {
+ __UHEAP_MARK;
+ (void)TheTestHarness->Fs().SetErrorCondition(fsError, it_cnt1);
+ TRAP(err, bytesStored = DoBackupL());
+ (void)TheTestHarness->Fs().SetErrorCondition(KErrNone);
+ __UHEAP_MARKEND;
+ }
+ TEST2(err, KErrNone);
+
+ err = KErrGeneral;
+ TInt bytesRestored = -1;
+ TInt it_cnt2 = 0;
+ for(;err<KErrNone;++it_cnt2)
+ {
+ __UHEAP_MARK;
+ (void)TheTestHarness->Fs().SetErrorCondition(fsError, it_cnt2);
+ TRAP(err, bytesRestored = DoRestoreL());
+ (void)TheTestHarness->Fs().SetErrorCondition(KErrNone);
+ __UHEAP_MARKEND;
+ }
+ TEST2(err, KErrNone);
+
+ TEST2(bytesStored, bytesRestored);
+ CompareDbContentWithBuf(TheTestHarness->Fs());
+
+ TheTest.Printf(_L("Backup&Restore file I/O error simulation test succeeded at backup iteration %d and restore itreration %d\r\n"), it_cnt1 - 1, it_cnt2 - 1);
+ }
+ }
+
+
void DoMain()
{
TestEnvCreate();
@@ -837,6 +930,10 @@
FunctionalTest2();
LegacyFileFormatTest();
+
+ EmptyBackupFileListTest();
+
+ BackupRestoreFileIoErrTest();
TestEnvDestroy();
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/TEST/t_sqlcmdlineutil.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,313 @@
+// Copyright (c) 2010 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 <e32test.h>
+#include "t_sqlcmdlineutil.h"
+
+static void GetCmdLine(RTest& aTest, const TDesC& aTestName, TDes& aCmdLine)
+ {
+ User::CommandLine(aCmdLine);
+ aCmdLine.TrimAll();
+ if(aCmdLine.Length() == 0)
+ {
+ aTest.Printf(_L("Usage: %S [ [/enc=<16/8>] /drv=<drive letter>:] [/page=<512/1024/2048/4096/8192/16384/32768>] ] [/cache=<number>] [/hlimit=<Kb>]\r\n"), &aTestName);
+ return;
+ }
+ aCmdLine.Append(TChar('/'));
+ }
+
+static void ExtractCmdLineParams(TDes& aCmdLine, RArray<TPtrC>& aPrmNames, RArray<TPtrC>& aPrmValues)
+ {
+ aPrmNames.Reset();
+ aPrmValues.Reset();
+
+ enum TState{EWaitPrmStart, EReadPrmName, EReadPrmValue};
+ TState state = EWaitPrmStart;
+ TInt startPos = -1;
+ TPtr prmName(0, 0);
+ TPtr prmValue(0, 0);
+
+ aCmdLine.Append(TChar('/'));
+
+ for(TInt i=0;i<aCmdLine.Length();++i)
+ {
+ switch(state)
+ {
+ case EWaitPrmStart:
+ if(aCmdLine[i] == TChar('/'))
+ {
+ startPos = i + 1;
+ prmName.Zero();
+ state = EReadPrmName;
+ }
+ break;
+ case EReadPrmName:
+ if(aCmdLine[i] == TChar('='))
+ {
+ TPtr p = aCmdLine.MidTPtr(startPos, i - startPos);
+ prmName.Set(p);
+ prmName.TrimRight();
+ startPos = i + 1;
+ prmValue.Zero();
+ state = EReadPrmValue;
+ }
+ break;
+ case EReadPrmValue:
+ if(aCmdLine[i] == TChar('/'))
+ {
+ TPtr p = aCmdLine.MidTPtr(startPos, i - startPos);
+ prmValue.Set(p);
+ prmValue.Trim();
+ startPos = i + 1;
+ aPrmNames.Append(prmName);
+ aPrmValues.Append(prmValue);
+ prmName.Zero();
+ prmValue.Zero();
+ state = EReadPrmName;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+static void ExtractParamNamesAndValues(const RArray<TPtrC>& aPrmNames, const RArray<TPtrC>& aPrmValues, TCmdLineParams& aCmdLineParams)
+ {
+ __ASSERT_ALWAYS(aPrmNames.Count() == aPrmValues.Count(), User::Invariant());
+
+ aCmdLineParams.SetDefaults();
+
+ for(TInt i=0;i<aPrmNames.Count();++i)
+ {
+ if(aPrmNames[i].CompareF(_L("enc")) == 0)
+ {
+ TLex lex(aPrmValues[i]);
+ TInt enc = 0;
+ TInt err = lex.Val(enc);
+ if(err == KErrNone)
+ {
+ if(enc == 8)
+ {
+ aCmdLineParams.iDbEncoding = TCmdLineParams::EDbUtf8;
+ }
+ else if(enc == 16)
+ {
+ aCmdLineParams.iDbEncoding = TCmdLineParams::EDbUtf16;
+ }
+ }
+ }
+ else if(aPrmNames[i].CompareF(_L("drv")) == 0)
+ {
+ if(aPrmValues[i].Length() == 2 && aPrmValues[i][1] == TChar(':'))
+ {
+ TChar ch(aPrmValues[i][0]);
+ ch.LowerCase();
+ if(ch >= TChar('a') && ch <= TChar('z'))
+ aCmdLineParams.iDriveName.Copy(aPrmValues[i]);
+ }
+ }
+ else if(aPrmNames[i].CompareF(_L("page")) == 0)
+ {
+ TLex lex(aPrmValues[i]);
+ TInt pageSize = 0;
+ TInt err = lex.Val(pageSize);
+ if(err == KErrNone && (pageSize == 512 || pageSize == 1024 || pageSize == 2048 ||
+ pageSize == 4096 || pageSize == 8192 || pageSize == 16384 || pageSize == 32768))
+ {
+ aCmdLineParams.iPageSize = pageSize;
+ }
+ }
+ else if(aPrmNames[i].CompareF(_L("cache")) == 0)
+ {
+ TLex lex(aPrmValues[i]);
+ TInt cacheSize = 0;
+ TInt err = lex.Val(cacheSize);
+ if(err == KErrNone && (cacheSize > 0 && cacheSize < 1000000000))
+ {
+ aCmdLineParams.iCacheSize = cacheSize;
+ }
+ }
+ else if(aPrmNames[i].CompareF(_L("hlimit")) == 0)
+ {
+ TLex lex(aPrmValues[i]);
+ TInt softHeapLimit = 0;
+ TInt err = lex.Val(softHeapLimit);
+ if(err == KErrNone && (softHeapLimit >= 0 && softHeapLimit < 1000000000))
+ {
+ aCmdLineParams.iSoftHeapLimitKb = softHeapLimit;
+ }
+ }
+ }
+ }
+
+static void PrepareSqlConfigString(RTest& aTest, const TCmdLineParams& aCmdLineParams, TDes8& aConfigStr)
+ {
+ aConfigStr.Zero();
+
+ if(aCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf8)
+ {
+ aTest.Printf(_L("--PRM--Database Encoding: UTF8\r\n"));
+ aConfigStr.Append(_L8("encoding=\"UTF-8\";"));
+ }
+ else
+ {
+ aTest.Printf(_L("--PRM--Database Encoding: UTF16\r\n"));
+ aConfigStr.Append(_L8("encoding=\"UTF-16\";"));
+ }
+
+ aTest.Printf(_L("--PRM--Database page size: %d\r\n"), aCmdLineParams.iPageSize);
+ TBuf8<20> pageSizeBuf;
+ pageSizeBuf.Format(_L8("page_size=%d;"), aCmdLineParams.iPageSize);
+ aConfigStr.Append(pageSizeBuf);
+
+ aTest.Printf(_L("--PRM--Database cache size: %d\r\n"), aCmdLineParams.iCacheSize);
+ TBuf8<20> cacheSizeBuf;
+ cacheSizeBuf.Format(_L8("cache_size=%d;"), aCmdLineParams.iCacheSize);
+ aConfigStr.Append(cacheSizeBuf);
+
+ aTest.Printf(_L("--PRM--Database drive: %S\r\n"), &aCmdLineParams.iDriveName);
+
+ if(aCmdLineParams.iSoftHeapLimitKb > 0)
+ {
+ aTest.Printf(_L("--PRM--Soft heap limit: %d Kb\r\n"), aCmdLineParams.iSoftHeapLimitKb);
+ }
+ else
+ {
+ aTest.Printf(_L("--PRM--Soft heap limit: default\r\n"));
+ }
+ }
+
+#ifdef SQL_SOFT_HEAP_LIMIT_TEST
+
+static TInt KillProcess(const TDesC& aProcessName)
+ {
+ TFullName name;
+ TBuf<64> pattern(aProcessName);
+ TInt length = pattern.Length();
+ pattern += _L("*");
+ TFindProcess procFinder(pattern);
+
+ while (procFinder.Next(name) == KErrNone)
+ {
+ if (name.Length() > length)
+ {//If found name is a string containing aProcessName string.
+ TChar c(name[length]);
+ if (c.IsAlphaDigit() ||
+ c == TChar('_') ||
+ c == TChar('-'))
+ {
+ // If the found name is other valid application name
+ // starting with aProcessName string.
+ continue;
+ }
+ }
+ RProcess proc;
+ if (proc.Open(name) == KErrNone)
+ {
+ proc.Kill(0);
+ }
+ proc.Close();
+ }
+ return KErrNone;
+ }
+
+_LIT(KSqlSrvName, "sqlsrv.exe");
+_LIT(KSqlSrvConfigFile, "c:\\test\\t_sqlserver.cfg");
+
+static void ReplaceConfigFile(const TDesC16& aConfig)
+ {
+ RFs fs;
+ TInt err = fs.Connect();
+ __ASSERT_ALWAYS(err == KErrNone, User::Invariant());
+
+ (void)KillProcess(KSqlSrvName);
+
+ (void)fs.MkDirAll(KSqlSrvConfigFile);
+ (void)fs.Delete(KSqlSrvConfigFile);
+
+ RFile file;
+ err = file.Create(fs, KSqlSrvConfigFile, EFileRead | EFileWrite);
+ __ASSERT_ALWAYS(err == KErrNone, User::Invariant());
+
+ TPtrC8 p((const TUint8*)aConfig.Ptr(), aConfig.Length() * sizeof(TUint16));
+ err = file.Write(p);
+ file.Close();
+ __ASSERT_ALWAYS(err == KErrNone, User::Invariant());
+
+ fs.Close();
+ }
+
+static void DeleteConfigFile()
+ {
+ RFs fs;
+ TInt err = fs.Connect();
+ __ASSERT_ALWAYS(err == KErrNone, User::Invariant());
+
+ (void)KillProcess(KSqlSrvName);
+
+ (void)fs.MkDirAll(KSqlSrvConfigFile);
+ (void)fs.Delete(KSqlSrvConfigFile);
+
+ fs.Close();
+ }
+
+#endif //SQL_SOFT_HEAP_LIMIT_TEST
+
+void GetCmdLineParamsAndSqlConfigString(RTest& aTest, const TDesC& aTestName, TCmdLineParams& aCmdLineParams, TDes8& aConfigStr)
+ {
+ TBuf<200> cmdLine;
+ GetCmdLine(aTest, aTestName, cmdLine);
+ RArray<TPtrC> prmNames;
+ RArray<TPtrC> prmValues;
+ ExtractCmdLineParams(cmdLine, prmNames, prmValues);
+ ExtractParamNamesAndValues(prmNames, prmValues, aCmdLineParams);
+ prmValues.Close();
+ prmNames.Close();
+ PrepareSqlConfigString(aTest, aCmdLineParams, aConfigStr);
+ }
+
+void PrepareDbName(const TDesC& aDeafultDbName, const TDriveName& aDriveName, TDes& aDbName)
+ {
+ TParse parse;
+ parse.Set(aDriveName, &aDeafultDbName, 0);
+ const TDesC& dbFilePath = parse.FullName();
+ aDbName.Copy(dbFilePath);
+ }
+
+void SetSoftHeapLimit(TInt aSoftHeapLimit)
+ {
+ if(aSoftHeapLimit > 0)
+ {
+#ifdef SQL_SOFT_HEAP_LIMIT_TEST
+ TBuf<50> configBuf;
+ configBuf.Format(_L("soft_heap_limit_kb=%d"), aSoftHeapLimit);
+ ReplaceConfigFile(configBuf);
+#else
+ RDebug::Print(_L("The soft heap limit cannot be set if \"SQL_SOFT_HEAP_LIMIT_TEST\" macro is not defined!\r\n"));
+#endif
+ }
+ else if(aSoftHeapLimit < 0)
+ {
+ RDebug::Print(_L("Soft heap limit of %d Kb cannot be set!\r\n"), aSoftHeapLimit);
+ }
+ }
+
+void ResetSoftHeapLimit()
+ {
+#ifdef SQL_SOFT_HEAP_LIMIT_TEST
+ DeleteConfigFile();
+#endif
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/TEST/t_sqlcmdlineutil.h Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,66 @@
+// Copyright (c) 2010 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:
+//
+
+#ifndef T_SQLCMDLINEUTIL_H
+#define T_SQLCMDLINEUTIL_H
+
+#include <f32file.h>
+
+class RTest;
+
+struct TCmdLineParams
+ {
+ enum TDbEncoding
+ {
+ EDbUtf8,
+ EDbUtf16
+ };
+
+ inline TCmdLineParams(TDbEncoding aDefaultEncoding = EDbUtf16,
+ TInt aDefaultPageSize = 1024,
+ TInt aDefaultCacheSize = 1000) :
+ iDefaultEncoding(aDefaultEncoding),
+ iDefaultPageSize(aDefaultPageSize),
+ iDefaultCacheSize(aDefaultCacheSize)
+ {
+ SetDefaults();
+ }
+
+ inline void SetDefaults()
+ {
+ iDbEncoding = iDefaultEncoding;
+ iPageSize = iDefaultPageSize;
+ iCacheSize = iDefaultCacheSize;
+ iDriveName.Copy(_L("c:"));
+ iSoftHeapLimitKb = 0;
+ }
+
+ const TDbEncoding iDefaultEncoding;
+ const TInt iDefaultPageSize;
+ const TInt iDefaultCacheSize;
+
+ TDbEncoding iDbEncoding;
+ TInt iPageSize;
+ TInt iCacheSize;
+ TDriveName iDriveName;
+ TInt iSoftHeapLimitKb;
+ };
+
+void GetCmdLineParamsAndSqlConfigString(RTest& aTest, const TDesC& aTestName, TCmdLineParams& aCmdLineParams, TDes8& aConfigStr);
+void PrepareDbName(const TDesC& aDeafultDbName, const TDriveName& aDriveName, TDes& aDbName);
+void SetSoftHeapLimit(TInt aSoftHeapLimit);
+void ResetSoftHeapLimit();
+
+#endif//T_SQLCMDLINEUTIL_H
--- a/persistentstorage/sql/TEST/t_sqlcompact1.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlcompact1.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -77,6 +77,39 @@
///////////////////////////////////////////////////////////////////////////////////////
+//t_sqlcompact1 timeouts in WDP builds.
+//This function is used to check whether the time limit is reaqched or not.
+TBool IsTimeLimitReached()
+ {
+ struct TStartTime
+ {
+ TStartTime()
+ {
+ iTime.HomeTime();
+ }
+ TTime iTime;
+ };
+
+ static TStartTime startTime;
+ const TInt KTestTimeLimit = 100;//seconds
+
+ TTime currTime;
+ currTime.HomeTime();
+
+ TTimeIntervalSeconds s;
+ TInt err = currTime.SecondsFrom(startTime.iTime, s);
+ TEST2(err, KErrNone);
+ return s.Int() > KTestTimeLimit;
+ }
+
+void GetHomeTimeAsString(TDes& aStr)
+ {
+ TTime time;
+ time.HomeTime();
+ TDateTime dt = time.DateTime();
+ aStr.Format(_L("%02d:%02d:%02d.%06d"), dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond());
+ }
+
void CreateTestEnv()
{
RFs fs;
@@ -116,6 +149,8 @@
{
TInt err = TheDb.Open(aDbName);
TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("BEGIN TRANSACTION"));
+ TEST(err >= 0);
TheText.SetLength(TheText.MaxLength());
TheText.Fill(TChar('A'));
for(TInt i=0;i<100;++i)
@@ -124,6 +159,8 @@
err = TheDb.Exec(TheSqlBuf);
TEST2(err, 1);
}
+ err = TheDb.Exec(_L("COMMIT TRANSACTION"));
+ TEST(err >= 0);
TheDb.Close();
}
@@ -132,6 +169,8 @@
TInt freePageCount = -1;
TInt err = TheDb.Open(aDbName);
TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("BEGIN TRANSACTION"));
+ TEST(err >= 0);
for(TInt i=0;;++i)
{
TheSqlBuf.Format(_L("DELETE FROM A WHERE I=%d"), i + 1);
@@ -146,6 +185,8 @@
break;
}
}
+ err = TheDb.Exec(_L("COMMIT TRANSACTION"));
+ TEST(err >= 0);
TheDb.Close();
return freePageCount;
}
@@ -177,6 +218,10 @@
TInt i;
+ TBuf<50> timeBuf;
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time1: %S\r\n"), &timeBuf);
+
//Create databases, tables, insert records, delete part of the just inserted records.
for(i=0;i<KSize;++i)
{
@@ -186,6 +231,9 @@
freePageCount[i] = DeleteRecords(KDbName[i], KFreePageCount[i], KDbPageSize[i]);
}
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time2: %S\r\n"), &timeBuf);
+
//Open the first database, attach all others.
TInt err = TheDb.Open(KDbName1());
TEST2(err, KErrNone);
@@ -194,6 +242,9 @@
err = TheDb.Attach(KDbName[i], KDbAttachName[i]);
TEST2(err, KErrNone);
}
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time3: %S\r\n"), &timeBuf);
//Check the size of the main database.
RSqlDatabase::TSize size;
@@ -219,6 +270,9 @@
TEST2(count, expected);
}
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time4: %S\r\n"), &timeBuf);
+
//Detach databases and close the main database.
for(i=0;i<KSize;++i)
{
@@ -227,6 +281,9 @@
}
TheDb.Close();
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time5: %S\r\n"), &timeBuf);
+
//Cleanup.
for(i=0;i<KSize;++i)
{
@@ -252,6 +309,8 @@
TInt err = TheDb.Create(KDbName1, &config);
TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("BEGIN TRANSACTION"));
+ TEST(err >= 0);
err = TheDb.Exec(_L("CREATE TABLE A(I INTEGER, T TEXT)"));
TEST(err >= 0);
//Insert records
@@ -263,6 +322,8 @@
err = TheDb.Exec(TheSqlBuf);
TEST2(err, 1);
}
+ err = TheDb.Exec(_L("COMMIT TRANSACTION"));
+ TEST(err >= 0);
//Delete all records making a lot of free pages. This operation should kick-off the background compaction
err = TheDb.Exec(_L("DELETE FROM A WHERE 1"));
TEST2(err, aRecordCount);
@@ -288,11 +349,18 @@
*/
void CompactDbTest2()
{
+ TBuf<50> timeBuf;
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time1: %S\r\n"), &timeBuf);
+
const TInt KPageSize = 1024;
//Number of records to be added and removed from database. Need to be increased when testing on a faster
// hardware, otherwise at fastest case the background compaction could be finished in just 1 step.
- const TInt KRecordCount = 2000;
+ const TInt KRecordCount = 2000;
PrepareDb(KPageSize, KRecordCount);
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time2: %S\r\n"), &timeBuf);
//Check the free space-1
RSqlDatabase::TSize size1;
@@ -321,6 +389,9 @@
{
TEST(size2.iFree == size1.iFree);
}
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time3: %S\r\n"), &timeBuf);
//Wait (KSqlCompactStepIntervalMs + KSqlCompactStepLengthMs) ms. During the pause only part of the free pages
//should be removed (whatever can be completed for KSqlCompactStepLengthMs ms).
@@ -335,6 +406,9 @@
TheTest.Printf(_L("WARNING: Background compaction finished in 1 step. Initial number of records need to be increased.\r\n"));
}
TEST(size3.iFree > 0 && size3.iFree < size2.iFree);
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time4: %S\r\n"), &timeBuf);
//Wait another (KSqlCompactStepIntervalMs + KSqlCompactStepLengthMs) ms. During the pause only part of the free pages
//should be removed (whatever can be completed for KSqlCompactStepLengthMs ms).
@@ -345,6 +419,9 @@
TEST2(err, KErrNone);
TheTest.Printf(_L("===Free space after compaction-3, pages=%d\r\n"), size4.iFree / KPageSize);
TEST((size4.iFree > 0 && size4.iFree < size3.iFree) || (size4.iFree == 0));
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time5: %S\r\n"), &timeBuf);
//Cleanup
TheDb.Close();
@@ -370,10 +447,17 @@
*/
void CompactDbTest3()
{
+ TBuf<50> timeBuf;
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time1: %S\r\n"), &timeBuf);
+
const TInt KPageSize = 1024;
const TInt KRecordCount = 1000;
PrepareDb(KPageSize, KRecordCount);
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time2: %S\r\n"), &timeBuf);
+
//Check the free space-1
RSqlDatabase::TSize size1;
TInt err = TheDb.Size(size1);
@@ -406,6 +490,10 @@
break;
}
}
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time3: %S\r\n"), &timeBuf);
+
//Check the free space-2
RSqlDatabase::TSize size2;
err = TheDb.Size(size2);
@@ -432,10 +520,18 @@
*/
void ManualCompactTest()
{
+ TBuf<50> timeBuf;
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time1: %S\r\n"), &timeBuf);
+
//Create a database with 1000 free pages
const TInt KPageSize = 1024;
const TInt KRecordCount = 1000;
PrepareDb(KPageSize, KRecordCount, ETrue);//create the database with manual compaction mode
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time2: %S\r\n"), &timeBuf);
+
//Check the free space-1
RSqlDatabase::TSize size1;
TInt err = TheDb.Size(size1);
@@ -446,6 +542,10 @@
//Compact
err = TheDb.Compact(RSqlDatabase::EMaxCompaction);
TEST2(err, size1.iFree);
+
+ GetHomeTimeAsString(timeBuf);
+ TheTest.Printf(_L("===Time3: %S\r\n"), &timeBuf);
+
//Cleanup
TheDb.Close();
(void)RSqlDatabase::Delete(KDbName1);
@@ -456,12 +556,30 @@
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-4072 Manual Compact() - attached databases, different page sizes"));
CompactDbTest1();
+ if(IsTimeLimitReached())
+ {
+ TheTest.Printf(_L("===Test timeout!\r\n"));
+ return;
+ }
+
TheTest.Next( _L(" @SYMTestCaseID:SYSLIB-SQL-UT-4073 Background compaction steps test"));
CompactDbTest2();
+ if(IsTimeLimitReached())
+ {
+ TheTest.Printf(_L("===Test timeout!\r\n"));
+ return;
+ }
+
TheTest.Next( _L(" @SYMTestCaseID:SYSLIB-SQL-UT-4074 Background compaction timer test"));
CompactDbTest3();
+ if(IsTimeLimitReached())
+ {
+ TheTest.Printf(_L("===Test timeout!\r\n"));
+ return;
+ }
+
TheTest.Next( _L(" @SYMTestCaseID:SYSLIB-SQL-UT-4103 Big manual compaction test"));
ManualCompactTest();
}
--- a/persistentstorage/sql/TEST/t_sqlcompact2.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlcompact2.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -835,7 +835,7 @@
break;
}
- (void)TheFs.SetErrorCondition(err, ++ioCounter);
+ (void)TheFs.SetErrorCondition(err, ioCounter++);
CSqlCompactEntry* impl = compactor->iEntries[0];
impl->iPageCount = freePageCount2;
--- a/persistentstorage/sql/TEST/t_sqlcompact4.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlcompact4.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1019,6 +1019,78 @@
(void)RSqlDatabase::Delete(KDbName);
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4209
+@SYMTestCaseDesc Corrupted database background compaction test.
+ The test creates a database, inserts records, then deletes part of the records.
+ The free pages count should be big enough to kick off the background compaction.
+ But the database is closed immediatelly and then the db file is corrupted in a such
+ way that during the "database open" operation the corruption is not detected.
+ But the corruption is detected during the background compaction. The SQL server
+ should detect during the compaction that the databas eis corrupted and should
+ stop compacting the database (and draining the battery). Unfortunatelly, this
+ cannot be tested automatically, so a breakpoint should be set at the User::After()
+ call, and then the SQL server side should be debugged in order to berify that the
+ background compaction is really stopped for that database.
+@SYMTestPriority High
+@SYMTestActions Corrupted database background compaction test.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF ou1cimx1#406830
+*/
+void CorruptedDbBckgCompactionTest()
+ {
+ //Step 1: Create a database with some records
+ const TInt KOperationCount = 100;
+ (void)RSqlDatabase::Delete(KDbName);
+ TInt err = TheDb.Create(KDbName);
+ TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("BEGIN"));
+ TEST(err >= 0);
+ err = TheDb.Exec(_L("CREATE TABLE A(I INTEGER, T TEXT)"));
+ TEST2(err, 1);
+ TheText.SetLength(KTextLen);
+ TheText.Fill(TChar('A'));
+ for(TInt i=0;i<=KOperationCount;++i)
+ {
+ TheSqlTexLen.Format(_L("INSERT INTO A VALUES(%d, '%S')"), i + 1, &TheText);
+ err = TheDb.Exec(TheSqlTexLen);
+ TEST2(err, 1);
+ }
+ err = TheDb.Exec(_L("COMMIT"));
+ TEST(err >= 0);
+ //Step 2: Delete some records to free some space
+ err = TheDb.Exec(_L("DELETE FROM A WHERE (I % 2) = 0"));
+ TEST(err > 0);
+ //Step 3: Close the database
+ TheDb.Close();
+ //Step 4: Corrupt the database
+ RFs fs;
+ err = fs.Connect();
+ TEST2(err, KErrNone);
+ RFile file;
+ err = file.Open(fs, KDbName, EFileRead | EFileWrite);
+ TEST2(err, KErrNone);
+ TInt pos = 5000;
+ err = file.Seek(ESeekStart, pos);
+ TEST2(err, KErrNone);
+ TheSqlQuery.SetLength(1000);
+ for(TInt i=0;i<30;++i)
+ {
+ err = file.Write(TheSqlQuery);
+ TEST2(err, KErrNone);
+ }
+ file.Close();
+ //Step 5: Check the background compaction. Wait 10 seconds allowing the SQL server to try to compact the
+ // database. The SQL server should detect that the SQL database is corrupted and should stop trying to
+ // compact the database.
+ err = TheDb.Open(KDbName);
+ TEST2(err, KErrNone);
+ User::After(10000000);
+ //
+ TheDb.Close();
+ (void)RSqlDatabase::Delete(KDbName);
+ }
+
void DoTestsL()
{
CreateTestDatabase8();
@@ -1049,6 +1121,9 @@
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-4071 Background compaction activated inside a DDL transaction - test"));
BackgroundCompactionInDDLTransactionTest();
+
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4209 Corrupted database background compaction test"));
+ CorruptedDbBckgCompactionTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqlconfigfile.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlconfigfile.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -730,7 +730,7 @@
TheDb.Close();
err = -1;
const TInt KTestRecCnt = 100;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
err = TheDb.Open(KTestDbName);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/TEST/t_sqlcorrupt.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,255 @@
+// Copyright (c) 2010 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 <e32test.h>
+#include <bautils.h>
+#include <sqldb.h>
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+RSqlDatabase TheDb;
+RTest TheTest(_L("t_sqlcorrupt test"));
+
+_LIT(KTestDir, "c:\\test\\");
+
+_LIT(KDbName, "c:[08770000]t_sqlcorrupt.db");
+_LIT(KFullDbName, "c:\\private\\10281E17\\[08770000]t_sqlcorrupt.db");
+
+_LIT(KDbName2, "c:[08770000]t_sqlcorrupt2.db");
+_LIT(KFullDbName2, "c:\\private\\10281E17\\[08770000]t_sqlcorrupt2.db");
+
+RFs TheFs;
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+void DestroyTestEnv()
+ {
+ TheDb.Close();
+ (void)RSqlDatabase::Delete(KDbName2);
+ (void)RSqlDatabase::Delete(KDbName);
+ TheFs.Close();
+ }
+
+///////////////////////////////////////////////////////////////////////////////////////
+//Test macros and functions
+void Check1(TInt aValue, TInt aLine)
+ {
+ if(!aValue)
+ {
+ DestroyTestEnv();
+ RDebug::Print(_L("*** Boolean expression evaluated to false. Line %d\r\n"), aLine);
+ TheTest(EFalse, aLine);
+ }
+ }
+void Check2(TInt aValue, TInt aExpected, TInt aLine)
+ {
+ if(aValue != aExpected)
+ {
+ DestroyTestEnv();
+ RDebug::Print(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue);
+ TheTest(EFalse, aLine);
+ }
+ }
+#define TEST(arg) ::Check1((arg), __LINE__)
+#define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__)
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+enum TDbEncoding
+ {
+ EDbEncUtf16,
+ EDbEncUtf8,
+ };
+
+void DoCorruptedSecureDbTest(TDbEncoding aEncoding)
+ {
+ (void)RSqlDatabase::Delete(KDbName);
+
+ RSqlSecurityPolicy policy;
+ TInt err = policy.Create(TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+
+ err = policy.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+ err = policy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+ err = policy.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+
+ err = policy.SetPolicy(RSqlSecurityPolicy::ETable, _L("A"), RSqlSecurityPolicy::EWritePolicy, TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+ err = policy.SetPolicy(RSqlSecurityPolicy::ETable, _L("A"), RSqlSecurityPolicy::EReadPolicy, TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+
+ if(aEncoding == EDbEncUtf16)
+ {
+ err = TheDb.Create(KDbName, policy);
+ }
+ else
+ {
+ _LIT8(KConfig, "encoding = \"UTF-8\"");
+ err = TheDb.Create(KDbName, policy, &KConfig);
+ }
+ TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("CREATE TABLE A(I INTEGER); INSERT INTO A VALUES(10)"));
+ TEST(err >= 0);
+ TheDb.Close();
+ policy.Close();
+
+ CFileMan* fm = NULL;
+ TRAP(err, fm = CFileMan::NewL(TheFs));
+ TEST2(err, KErrNone);
+
+ //Make a copy of the database
+ err = fm->Copy(KFullDbName, KFullDbName2);
+ TEST2(err, KErrNone);
+ //Get the database file size and calculate the iterations count.
+ TEntry entry;
+ err = TheFs.Entry(KFullDbName, entry);
+ TEST2(err, KErrNone);
+ const TInt KCorruptBlockLen = 19;
+ const TInt KIterationCnt = entry.iSize / KCorruptBlockLen;
+ //
+ TBuf8<KCorruptBlockLen> invalidData;
+ invalidData.SetLength(KCorruptBlockLen);
+ invalidData.Fill(TChar(0xCC));
+ //
+ for(TInt i=0;i<KIterationCnt;++i)
+ {
+ TheTest.Printf(_L("% 4d\r"), i + 1);
+ //Corrupt the database
+ err = fm->Copy(KFullDbName2, KFullDbName);
+ TEST2(err, KErrNone);
+ RFile file;
+ err = file.Open(TheFs, KFullDbName, EFileRead | EFileWrite);
+ TEST2(err, KErrNone);
+ err = file.Write(i * KCorruptBlockLen, invalidData);
+ TEST2(err, KErrNone);
+ file.Close();
+ //Try to open the database and read the record
+ TBool testPassed = EFalse;
+ err = TheDb.Open(KDbName);
+ if(err == KErrNone)
+ {
+ RSqlStatement stmt;
+ err = stmt.Prepare(TheDb, _L("SELECT I FROM A"));
+ if(err == KErrNone)
+ {
+ err = stmt.Next();
+ if(err == KSqlAtRow)
+ {
+ TInt val = stmt.ColumnInt(0);
+ if(val == 10)
+ {
+ testPassed = ETrue;
+ err = KErrNone;
+ }
+ else
+ {
+ err = KErrGeneral;
+ }
+ }
+ stmt.Close();
+ }
+ }
+
+ TheDb.Close();
+ (void)RSqlDatabase::Delete(KDbName);
+ TheTest.Printf(_L("Iteration % 4d, err=%d\r\n"), i + 1, err);
+ if(!testPassed)
+ {
+ TEST(err != KErrNone);
+ }
+ }//end of - for(TInt i=0;i<KIterationCnt;++i)
+
+ delete fm;
+ TheTest.Printf(_L("\r\n"));
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4202
+@SYMTestCaseDesc Invalid UTF16 encoded secure database test.
+@SYMTestPriority High
+@SYMTestActions The test creates 16-bit encoded secure database with one table and one record.
+ Then the test simulates a database corruption by writing 19 bytes with random values
+ from "pos" to "pos + 19", where "pos" is a valid db file position, incremented by 19
+ at the end of each test iteration.
+@SYMTestExpectedResults Test must not fail
+*/
+void CorruptedSecureDbTest16()
+ {
+ DoCorruptedSecureDbTest(EDbEncUtf16);
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4202
+@SYMTestCaseDesc Invalid UTF8 encoded secure database test.
+@SYMTestPriority High
+@SYMTestActions The test creates 8-bit encoded secure database with one table and one record.
+ Then the test simulates a database corruption by writing 19 bytes with random values
+ from "pos" to "pos + 19", where "pos" is a valid db file position, incremented by 19
+ at the end of each test iteration.
+@SYMTestExpectedResults Test must not fail
+*/
+void CorruptedSecureDbTest8()
+ {
+ DoCorruptedSecureDbTest(EDbEncUtf8);
+ }
+
+void CreateTestEnv()
+ {
+ TInt err = TheFs.Connect();
+ TEST2(err, KErrNone);
+
+ err = TheFs.MkDir(KTestDir);
+ TEST(err == KErrNone || err == KErrAlreadyExists);
+
+ err = TheFs.CreatePrivatePath(EDriveC);
+ TEST(err == KErrNone || err == KErrAlreadyExists);
+ }
+
+void DoTestsL()
+ {
+ TheTest.Start(_L("@SYMTestCaseID:PDS-SQL-CT-4202 Corrupted UTF16 encoded secure database test"));
+ CorruptedSecureDbTest16();
+
+ TheTest.Next(_L("@SYMTestCaseID:PDS-SQL-CT-4203 Corrupted UTF8 encoded secure database test"));
+ CorruptedSecureDbTest8();
+ }
+
+TInt E32Main()
+ {
+ TheTest.Title();
+
+ CTrapCleanup* tc = CTrapCleanup::New();
+ TheTest(tc != NULL);
+
+ __UHEAP_MARK;
+
+ CreateTestEnv();
+ TRAPD(err, DoTestsL());
+ DestroyTestEnv();
+ TEST2(err, KErrNone);
+
+ __UHEAP_MARKEND;
+
+ TheTest.End();
+ TheTest.Close();
+
+ delete tc;
+
+ User::Heap().Check();
+ return KErrNone;
+ }
--- a/persistentstorage/sql/TEST/t_sqldbconfigfile.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqldbconfigfile.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1001,7 +1001,7 @@
err = KErrNotFound;
TInt iter = 0;
TheTest.Printf(_L("Iteration\r\n"));
- for(TInt cnt = 1; !isFinished; ++cnt)
+ for(TInt cnt = 0; !isFinished; ++cnt)
{
for(TInt fsError = KErrNotFound; fsError >= KErrUnderflow; --fsError) // errors -1 to -10 will be generated
{
--- a/persistentstorage/sql/TEST/t_sqldefect.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqldefect.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1394,7 +1394,7 @@
// Begin test
TInt fsError = KErrGeneral;
- TInt count = 1;
+ TInt count = 0;
const TInt KMaxOps = 300;
@@ -1634,7 +1634,8 @@
}
/**
-Test defect where calling RSQLStatement::DeclaredColumnType() on a table which contains long (> 20 characters) column type names results in a USER 11 panic.
+Test defect where calling RSQLStatement::DeclaredColumnType() on a table which contains long (> 20 characters) column type
+names results in a USER 11 panic.
This test should pass because these are valid SQL column types
*/
void LongColumnTypeTest()
--- a/persistentstorage/sql/TEST/t_sqlenvcreate.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlenvcreate.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -12,7 +12,7 @@
//
// Description:
// SQL security - copying secure test databases to C:
-// Please, ensure that t_sqlenvcreate test is executed before the other sql security tests
+// Please, ensure that t_sqlenvcreate test is executed before the other sql tests
//
//
@@ -59,9 +59,19 @@
_LIT(KDb8org, "z:\\private\\10281e17\\[98765432]t_2defaultpolicies.db");
_LIT(KDb8, "c:\\private\\10281e17\\[98765432]t_2defaultpolicies.db");
+_LIT(KPrivateSubDir, "c:\\private\\10281e17\\cfg-TestDir.db\\");
+
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
//Test macros and functions
+static void Check(TInt aValue, TInt aLine)
+ {
+ if(!aValue)
+ {
+ RDebug::Print(_L("*** Line %d\r\n"), aLine);
+ TheTest(EFalse, aLine);
+ }
+ }
static void Check(TInt aValue, TInt aExpected, TInt aLine)
{
if(aValue != aExpected)
@@ -70,6 +80,7 @@
TheTest(EFalse, aLine);
}
}
+#define TEST(arg) ::Check((arg), __LINE__)
#define TEST2(aValue, aExpected) ::Check(aValue, aExpected, __LINE__)
///////////////////////////////////////////////////////////////////////////////////////
@@ -82,6 +93,11 @@
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-LEGACY-T_SQLENVCREATE-0001 Copy secure databases from Z: to C: "));
+ //Create a subdir in the private datacage. The SQL production code should properly detects
+ //KPrivateSubDir is a directory not a database file
+ err = fs.MkDir(KPrivateSubDir);
+ TEST(err == KErrNone || err == KErrAlreadyExists);
+
err = BaflUtils::CopyFile(fs, KDbZFileName1, KDbCFileName1);
TEST2(err, KErrNone);
err = fs.SetAtt(KDbCFileName1, 0, KEntryAttReadOnly);
--- a/persistentstorage/sql/TEST/t_sqlenvdestroy.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlenvdestroy.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -36,6 +36,10 @@
_LIT(KDb7, "c:\\private\\10281e17\\[98765432]t_invobject.db");
_LIT(KDb8, "c:\\private\\10281e17\\[98765432]t_2defaultpolicies.db");
+_LIT(KPrivateSubDir, "c:\\private\\10281e17\\cfg-TestDir.db\\");
+
+TParse TheParse;
+
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
//Test macros and functions
@@ -60,6 +64,53 @@
}
}
+void PrintDiskUsage(RFs& aFs, const TDesC& aPath, TInt aOffset = 0)
+ {
+ _LIT(KSpace, " ");
+ TheTest.Printf(_L("%*.*S%S\r\n"), aOffset, aOffset, &KSpace, &aPath);
+ TFindFile findFile(aFs);
+ CDir* fileNameCol = NULL;
+ TBuf<8> fileNameMask;
+ fileNameMask.Copy(_L("*.*"));
+ TInt err = findFile.FindWildByDir(fileNameMask, aPath, fileNameCol);
+ if(err == KErrNone)
+ {
+ do
+ {
+ const TDesC& file = findFile.File();//"file" variable contains the drive and the path. the file name in "file" is invalid in this case.
+ (void)TheParse.Set(file, NULL, NULL);
+ TPtrC driveName = TheParse.Drive();
+ if(aPath.FindF(driveName) >= 0)
+ {
+ TInt cnt = fileNameCol->Count();
+ for(TInt i=0;i<cnt;++i)
+ {
+ const ::TEntry& entry = (*fileNameCol)[i];
+ if(!entry.IsDir())
+ {
+ TheTest.Printf(_L("%*.*S %S, size=%d\r\n"), aOffset, aOffset, &KSpace, &entry.iName, entry.iSize);
+ }
+ else
+ {
+ TBuf<100> path;
+ path.Copy(aPath);
+ path.Append(entry.iName);
+ path.Append(_L("\\"));
+ PrintDiskUsage(aFs, path, aOffset + 4);
+ }
+ }
+ } // if(aPath.FindF(driveName) >= 0)
+
+ delete fileNameCol;
+ fileNameCol = NULL;
+ } while((err = findFile.FindWild(fileNameCol)) == KErrNone);//Get the next set of files
+ }
+ else
+ {
+ TheTest.Printf(_L(" FindWildByDir() failed with err=%d\r\n"), err);
+ }
+ }
+
void DoRun()
{
RFs fs;
@@ -83,6 +134,17 @@
DoDeleteFile(fs, KDb7);
DoDeleteFile(fs, KDb8);
+ TheTest.Printf(_L("====================================================\r\n"));
+ PrintDiskUsage(fs, _L("c:\\"));
+ TheTest.Printf(_L("====================================================\r\n"));
+
+ //Remove the created subdir in the private datacage.
+ err = fs.RmDir(KPrivateSubDir);
+ if(err != KErrNone && err != KErrNotFound)
+ {
+ TheTest.Printf(_L("Error %d deleting \"%S\" directory.\n"), err, &KPrivateSubDir);
+ }
+
fs.Close();
}
--- a/persistentstorage/sql/TEST/t_sqlfilebuf64.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlfilebuf64.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -30,6 +30,7 @@
_LIT(KTestDir, "c:\\test\\");
_LIT(KTestFile, "c:\\test\\t_sqlfilebuf64.bin");
_LIT(KTestFile2, "\\test\\t_sqlfilebuf64_2.bin");
+_LIT(KTestFile3, "c:\\test\\t_sqlfilebuf64_3.bin");
static TBuf8<1024> TheBuf;
static TFileName TheDbName;
@@ -49,6 +50,10 @@
EOomTempTest
};
+//Used in read/write OOM tests
+const TUint8 KChar = 'A';
+const TInt KPageSize = 32768;
+
///////////////////////////////////////////////////////////////////////////////////////
void DeleteTestFiles()
@@ -57,6 +62,7 @@
{
(void)TheFs.Delete(TheDbName);
}
+ (void)TheFs.Delete(KTestFile3);
(void)TheFs.Delete(KTestFile);
}
@@ -508,20 +514,18 @@
const TInt KBufMaxSize = 20;// This is half the file size
RFileBuf64 fbuf(KBufMaxSize);
TInt err = fbuf.Open(TheFs, KTestFile, EFileWrite | EFileRead | EFileShareReadersOrWriters);
- TEST2(err, KErrNone);
+ TEST2(err, KErrNone);
fbuf.ProfilerReset();
//Zero max length request
- HBufC8* buf1 = HBufC8::New(0);
- TEST(buf1 != NULL);
- TPtr8 ptr1 = buf1->Des();
+ TUint8 buf1[1];
+ TPtr8 ptr1(buf1, 0);
err = fbuf.Read(0, ptr1);
TEST2(err, KErrNone);
- delete buf1;
TEST2(fbuf.iFileReadCount, 0);
TEST2(fbuf.iFileReadAmount, 0);
TEST2(fbuf.iFileSizeCount, 0);
-
+
//Too big request
TBuf8<KBufMaxSize * 2> buf2;
err = fbuf.Read(0, buf2);
@@ -536,6 +540,30 @@
TEST2(err, KErrNone);
TEST2(buf2.Length(), 0);
+ //Write "5678" in the buffer, pos [4..8)
+ err = fbuf.Write(4, _L8("5678"));
+ TEST2(err, KErrNone);
+
+ //Too big request. There are pending data in the buffer.
+ TBuf8<KBufMaxSize + 2> buf3;
+ err = fbuf.Read(1, buf3);
+ TEST2(err, KErrNone);
+ VerifyFileContent(buf3, 1);
+
+ //Read from a non-zero file position to move the buffer start pos. The cached file pos will be 35 at the end.
+ TBuf8<5> buf4;
+ err = fbuf.Read(30, buf4);
+ TEST2(err, KErrNone);
+ VerifyFileContent(buf4, 30);
+ err = fbuf.Read(35, buf4);
+ TEST2(err, KErrNone);
+ VerifyFileContent(buf4, 35);
+
+ //Too big request. No pending data in the buffer. The file read pos is before the position of the cached data in the buffer.
+ err = fbuf.Read(10, buf3);
+ TEST2(err, KErrNone);
+ VerifyFileContent(buf3, 10);
+
fbuf.Close();
}
@@ -797,15 +825,21 @@
parse.Set(KTestFile2, &drvName, NULL);
TheDbName.Copy(parse.FullName());
TRAP(err, BaflUtils::EnsurePathExistsL(TheFs, TheDbName));
- TEST(err == KErrNone || err == KErrAlreadyExists);
- (void)TheFs.Delete(TheDbName);
- RFileBuf64 fbuf64(8 * 1024);
- err = fbuf64.Create(TheFs, TheDbName, EFileRead | EFileWrite);
- TEST2(err, KErrNone);
- TInt readAhead = fbuf64.SetReadAheadSize(vparam.iBlockSize, vparam.iRecReadBufSize);
- TheTest.Printf(_L(" Read-ahead size=%d.\r\n"), readAhead);
- fbuf64.Close();
- (void)TheFs.Delete(TheDbName);
+ if(err == KErrNone || err == KErrAlreadyExists)
+ {
+ (void)TheFs.Delete(TheDbName);
+ RFileBuf64 fbuf64(8 * 1024);
+ err = fbuf64.Create(TheFs, TheDbName, EFileRead | EFileWrite);
+ TEST2(err, KErrNone);
+ TInt readAhead = fbuf64.SetReadAheadSize(vparam.iBlockSize, vparam.iRecReadBufSize);
+ TheTest.Printf(_L(" Read-ahead size=%d.\r\n"), readAhead);
+ fbuf64.Close();
+ (void)TheFs.Delete(TheDbName);
+ }
+ else
+ {
+ TheTest.Printf(_L("Drive %C. BaflUtils::EnsurePathExistsL() has failed with err=%d.\r\n"), 'A' + drive, err);
+ }
}
}
else
@@ -981,6 +1015,247 @@
(void)TheFs.Delete(KTestFile);
}
+/**
+@SYMTestCaseID PDS-SQL-UT-4195
+@SYMTestCaseDesc RFileBuf64::Create() file I/O error simulation test.
+ The test calls RFileBuf64:Create() in a file I/O error simulation loop.
+@SYMTestActions RFileBuf64::Create() file I/O error simulation test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145198
+*/
+void CreateFileIoErrTest()
+ {
+ TInt err = KErrGeneral;
+ TInt cnt = 0;
+ for(;err<KErrNone;++cnt)
+ {
+ TheTest.Printf(_L("===Iteration %d. Simulated error:\r\n"), cnt);
+ for (TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError)
+ {
+ TheTest.Printf(_L("%d "), fsError);
+ __UHEAP_MARK;
+ (void)TheFs.SetErrorCondition(fsError, cnt);
+ RFileBuf64 fbuf(1024);//buffer capacity = 1024 bytes
+ err = fbuf.Create(TheFs, KTestFile3, EFileRead | EFileWrite);
+ (void)TheFs.SetErrorCondition(KErrNone);
+ fbuf.Close();
+ __UHEAP_MARKEND;
+ TInt err2 = TheFs.Delete(KTestFile3);
+ TInt expectedErr = err == KErrNone ? KErrNone : KErrNotFound;
+ TEST2(err2, expectedErr);
+ }
+ TheTest.Printf(_L("\r\n"));
+ }
+ TheTest.Printf(_L("\r\n===File I/O error simulation test succeeded on iteration %d===\r\n"), cnt);
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4196
+@SYMTestCaseDesc RFileBuf64::Open() file I/O error simulation test.
+ The test calls RFileBuf64:Open() in a file I/O error simulation loop.
+@SYMTestActions RFileBuf64::Open() file I/O error simulation test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145198
+*/
+void OpenFileIoErrTest()
+ {
+ RFileBuf64 fbuf(1024);//buffer capacity = 1024 bytes
+ TInt err = fbuf.Create(TheFs, KTestFile3, EFileRead | EFileWrite);
+ fbuf.Close();
+ TEST2(err, KErrNone);
+ err = KErrGeneral;
+ TInt cnt = 0;
+ for(;err<KErrNone;++cnt)
+ {
+ TheTest.Printf(_L("===Iteration %d. Simulated error:\r\n"), cnt);
+ for (TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError)
+ {
+ TheTest.Printf(_L("%d "), fsError);
+ __UHEAP_MARK;
+ (void)TheFs.SetErrorCondition(fsError, cnt);
+ err = fbuf.Open(TheFs, KTestFile3, EFileRead | EFileWrite);
+ (void)TheFs.SetErrorCondition(KErrNone);
+ fbuf.Close();
+ __UHEAP_MARKEND;
+ }
+ TheTest.Printf(_L("\r\n"));
+ }
+ TheTest.Printf(_L("\r\n===File I/O error simulation test succeeded on iteration %d===\r\n"), cnt);
+ (void)TheFs.Delete(KTestFile3);
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4197
+@SYMTestCaseDesc RFileBuf64::Temp() file I/O error simulation test.
+ The test calls RFileBuf64:Temp() in a file I/O error simulation loop.
+@SYMTestActions RFileBuf64::temp() file I/O error simulation test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF DEF145198
+*/
+void TempFileIoErrTest()
+ {
+ TInt err = KErrGeneral;
+ TInt cnt = 0;
+ for(;err<KErrNone;++cnt)
+ {
+ TheTest.Printf(_L("===Iteration %d. Simulated error:\r\n"), cnt);
+ for (TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError)
+ {
+ TheTest.Printf(_L("%d "), fsError);
+ __UHEAP_MARK;
+ (void)TheFs.SetErrorCondition(fsError, cnt);
+ RFileBuf64 fbuf(1024);//buffer capacity = 1024 bytes
+ TFileName tmpFileName;
+ err = fbuf.Temp(TheFs, KTestDir, tmpFileName, EFileWrite | EFileRead);
+ (void)TheFs.SetErrorCondition(KErrNone);
+ fbuf.Close();
+ __UHEAP_MARKEND;
+ TInt err2 = TheFs.Delete(tmpFileName);
+ TInt expectedErr = err == KErrNone ? KErrNone : KErrNotFound;
+ TEST2(err2, expectedErr);
+ }
+ TheTest.Printf(_L("\r\n"));
+ }
+ TheTest.Printf(_L("\r\n===File I/O error simulation test succeeded on iteration %d===\r\n"), cnt);
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4207
+@SYMTestCaseDesc RFileBuf64::Write() OOM test.
+ The test calls RFileBuf64:Write() in an OOM
+ simulation loop and verifies that no memory is leaked.
+ The test also check that RFileBuf::DoSetCapacity() correctly operates in
+ "out of memory" situation.
+@SYMTestActions RFileBuf64::Write() OOM test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF 380056
+*/
+void WriteOomTest()
+ {
+ HBufC8* databuf = HBufC8::New(KPageSize);
+ TEST(databuf != NULL);
+ TPtr8 dataptr = databuf->Des();
+ dataptr.SetLength(KPageSize);
+ dataptr.Fill(TChar(KChar));
+
+ TInt err = KErrNoMemory;
+ TInt failingAllocationNo = 0;
+ TheTest.Printf(_L("Iteration:\r\n"));
+ while(err == KErrNoMemory)
+ {
+ TheTest.Printf(_L(" %d"), ++failingAllocationNo);
+
+ (void)TheFs.Delete(KTestFile);
+
+ MarkHandles();
+ MarkAllocatedCells();
+
+ __UHEAP_MARK;
+ __UHEAP_SETBURSTFAIL(RAllocator::EBurstFailNext, failingAllocationNo, KBurstRate);
+
+ const TInt KDefaultBufCapacity = 1024;
+ RFileBuf64 fbuf(KDefaultBufCapacity);
+ err = fbuf.Create(TheFs, KTestFile, EFileWrite | EFileRead);
+ if(err == KErrNone)
+ {
+ err = fbuf.Write(0LL, dataptr);
+ }
+ fbuf.Close();
+
+ __UHEAP_RESET;
+ __UHEAP_MARKEND;
+
+ CheckAllocatedCells();
+ CheckHandles();
+ }
+ TEST2(err, KErrNone);
+ RFile64 file;
+ err = file.Open(TheFs, KTestFile, EFileRead);
+ TEST2(err, KErrNone);
+ dataptr.Zero();
+ err = file.Read(dataptr);
+ TEST2(err, KErrNone);
+ file.Close();
+ TEST2(dataptr.Length(), KPageSize);
+ for(TInt i=0;i<KPageSize;++i)
+ {
+ TEST(dataptr[i] == KChar);
+ }
+ TheTest.Printf(_L("\r\n=== OOM Test succeeded at heap failure rate of %d ===\r\n"), failingAllocationNo);
+
+ //The file is left undeleted - to be used in ReadOomTest().
+ delete databuf;
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4208
+@SYMTestCaseDesc RFileBuf64::Read() OOM test.
+ The test calls RFileBuf64:Read() in an OOM
+ simulation loop and verifies that no memory is leaked.
+ The test also check that RFileBuf::DoSetCapacity() correctly operates in
+ "out of memory" situation.
+@SYMTestActions RFileBuf64::Read() OOM test.
+@SYMTestExpectedResults Test must not fail
+@SYMTestPriority High
+@SYMDEF 380056
+*/
+void ReadOomTest()
+ {
+ HBufC8* databuf = HBufC8::New(KPageSize);
+ TEST(databuf != NULL);
+ TPtr8 dataptr = databuf->Des();
+
+ TInt err = KErrNoMemory;
+ TInt failingAllocationNo = 0;
+ TheTest.Printf(_L("Iteration:\r\n"));
+ while(err == KErrNoMemory)
+ {
+ TheTest.Printf(_L(" %d"), ++failingAllocationNo);
+
+ MarkHandles();
+ MarkAllocatedCells();
+
+ __UHEAP_MARK;
+ __UHEAP_SETBURSTFAIL(RAllocator::EBurstFailNext, failingAllocationNo, KBurstRate);
+
+ const TInt KDefaultBufCapacity = 1024;
+ RFileBuf64 fbuf(KDefaultBufCapacity);
+ err = fbuf.Open(TheFs, KTestFile, EFileRead);
+ if(err == KErrNone)
+ {
+ err = fbuf.Read(0LL, dataptr);
+ }
+ fbuf.Close();
+
+ __UHEAP_RESET;
+ __UHEAP_MARKEND;
+
+ CheckAllocatedCells();
+ CheckHandles();
+ }
+ TEST2(err, KErrNone);
+ RFile64 file;
+ err = file.Open(TheFs, KTestFile, EFileRead);
+ TEST2(err, KErrNone);
+ dataptr.Zero();
+ err = file.Read(dataptr);
+ TEST2(err, KErrNone);
+ file.Close();
+ TEST2(dataptr.Length(), KPageSize);
+ for(TInt i=0;i<KPageSize;++i)
+ {
+ TEST(dataptr[i] == KChar);
+ }
+ TheTest.Printf(_L("\r\n=== OOM Test succeeded at heap failure rate of %d ===\r\n"), failingAllocationNo);
+
+ (void)TheFs.Delete(KTestFile);
+ delete databuf;
+ }
+
void DoTests()
{
TheTest.Start(_L(" @SYMTestCaseID:PDS-SQL-UT-4132 RFileBuf64 write test 1"));
@@ -1015,6 +1290,17 @@
OomTest(EOomOpenTest);
TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4142 RFileBuf64::Temp() OOM test"));
OomTest(EOomTempTest);
+ TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4207 RFileBuf64::Write() OOM test"));
+ WriteOomTest();
+ TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4208 RFileBuf64::Read() OOM test"));
+ ReadOomTest();
+
+ TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4195 RFileBuf64::Create() file I/O error simulation test"));
+ CreateFileIoErrTest();
+ TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4196 RFileBuf64::Open() file I/O error simulation test"));
+ OpenFileIoErrTest();
+ TheTest.Next( _L(" @SYMTestCaseID:PDS-SQL-UT-4197 RFileBuf64::Temp() file I/O error simulation test"));
+ OpenFileIoErrTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqlfserr.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlfserr.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -165,7 +165,7 @@
TEST(err >= 0);
TheDb.Close();
err = KErrNotFound;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError)
@@ -225,7 +225,7 @@
TEST(err >= 0);
TheDb.Close();
err = KErrNotFound;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError)
@@ -284,6 +284,35 @@
TEST2(err, KErrNone);
}
+//Creates public shared, private secure and public secure databases.
+void DoCreateTestDatabases(const TPtrC aDbName[], TInt aCount)
+ {
+ TEST(aCount > 0);
+ for(TInt i=0;i<aCount;++i)
+ {
+ TheTest.Printf(_L("Database: \"%S\"\r\n"), &aDbName[i]);
+ (void)RSqlDatabase::Delete(aDbName[i]);
+ TInt err = KErrGeneral;
+ if(i == (aCount - 1))
+ {
+ RSqlSecurityPolicy policy;
+ CreateTestSecurityPolicy(policy);
+ err = TheDb.Create(aDbName[i], policy);
+ policy.Close();
+ }
+ else
+ {
+ err = TheDb.Create(aDbName[i]);
+ }
+ TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)"));
+ TEST(err >= 0);
+ err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')"));
+ TEST2(err, 1);
+ TheDb.Close();
+ }
+ }
+
/**
@SYMTestCaseID SYSLIB-SQL-UT-3421
@SYMTestCaseDesc Test for DEF103859 "SQLITE panic, _DEBUG mode, persistent file I/O error simulation".
@@ -300,31 +329,12 @@
{
TPtrC dbName[] = {KTestDbName(), KPrivateTestDbName(), KSecureTestDbName()};
const TInt KDbNameCnt = sizeof(dbName) / sizeof(dbName[0]);
+ DoCreateTestDatabases(dbName, KDbNameCnt);
for(TInt k=0;k<KDbNameCnt;++k)
{
TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]);
- (void)RSqlDatabase::Delete(dbName[k]);
- TInt err = KErrGeneral;
- if(k == (KDbNameCnt - 1))
- {
- RSqlSecurityPolicy policy;
- CreateTestSecurityPolicy(policy);
- err = TheDb.Create(dbName[k], policy);
- policy.Close();
- }
- else
- {
- err = TheDb.Create(dbName[k]);
- }
- TEST2(err, KErrNone);
- err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)"));
- TEST(err >= 0);
- err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')"));
- TEST2(err, 1);
- TheDb.Close();
-
- err = KErrNotFound;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ TInt err = KErrNotFound;
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError)
@@ -354,7 +364,7 @@
err = RSqlDatabase::Delete(dbName[k]);
TEST2(err, KErrNone);
TheTest.Printf(_L("\r\n"));
- }
+ }//end of: for(TInt k=0;k<KDbNameCnt;++k)
}
/**
@@ -380,7 +390,7 @@
{
TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]);
TInt err = -1;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError)
@@ -413,6 +423,78 @@
}
/**
+@SYMTestCaseID PDS-SQL-UT-4189
+@SYMTestCaseDesc Test for DEF145125 "SQL, low code coverage".
+ The test creates public shared, private secure and public secure test databases.
+ Then the test opens the publich shared database and attempts to attach one of the other two
+ in a file I/O error simulation loop.
+@SYMTestPriority High
+@SYMTestActions Test for DEF145125 - "SQL, low code coverage".
+@SYMTestExpectedResults The test must not fail
+@SYMDEF DEF145125
+*/
+void AttachDatabaseTest()
+ {
+ TPtrC dbName[] = {KTestDbName(), KPrivateTestDbName(), KSecureTestDbName()};
+ const TInt KDbNameCnt = sizeof(dbName) / sizeof(dbName[0]);
+ DoCreateTestDatabases(dbName, KDbNameCnt);
+ for(TInt k=1;k<KDbNameCnt;++k)
+ {
+ TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]);
+ TInt err = KErrGeneral;
+ for(TInt cnt=0;err<KErrNone;++cnt)
+ {
+ TheTest.Printf(_L("%d \r"), cnt);
+ for(TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError)
+ {
+ err = TheDb.Open(KTestDbName);
+ TEST2(err, KErrNone);
+ (void)TheFs.SetErrorCondition(fsError, cnt);
+ err = TheDb.Attach(dbName[k], _L("DB2"));
+ (void)TheFs.SetErrorCondition(KErrNone);
+ (void)TheDb.Detach(_L("DB2"));
+ TheDb.Close();//close the database to recover from the last error
+ }
+ }
+ TEST2(err, KErrNone);
+ err = RSqlDatabase::Delete(dbName[k]);
+ TEST2(err, KErrNone);
+ TheTest.Printf(_L("\r\n"));
+ }
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-UT-4190
+@SYMTestCaseDesc Test for DEF145125 "SQL, low code coverage".
+ The tests attempts to delete a database in a file I/O error simulation loop.
+@SYMTestPriority High
+@SYMTestActions Test for DEF145125 - "SQL, low code coverage".
+@SYMTestExpectedResults The test must not fail
+@SYMDEF DEF145125
+*/
+void DeleteDatabaseTest()
+ {
+ TPtrC dbName[] = {KTestDbName(), KPrivateTestDbName(), KSecureTestDbName()};
+ const TInt KDbNameCnt = sizeof(dbName) / sizeof(dbName[0]);
+ DoCreateTestDatabases(dbName, KDbNameCnt);
+ for(TInt k=0;k<KDbNameCnt;++k)
+ {
+ TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]);
+ TInt err = KErrGeneral;
+ for(TInt cnt=1;err<KErrNone;++cnt)
+ {
+ TheTest.Printf(_L("%d \r"), cnt);
+ (void)TheFs.SetErrorCondition(KErrGeneral, cnt);
+ err = RSqlDatabase::Delete(dbName[k]);
+ (void)TheFs.SetErrorCondition(KErrNone);
+ }
+ TEST2(err, KErrNone);
+ err = RSqlDatabase::Delete(KTestDbName);
+ TEST2(err, KErrNotFound);
+ }
+ }
+
+/**
@SYMTestCaseID SYSLIB-SQL-UT-3462
@SYMTestCaseDesc Test for DEF105434 "SQL, persistent file I/O simulation, COMMIT problem".
The test creates a test database with one table, inserts one record.
@@ -434,7 +516,7 @@
TEST2(err, 1);
TheDb.Close();
err = -1;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
err = TheDb.Open(KTestDbName);
@@ -499,7 +581,7 @@
TEST2(err, 1);
TheDb.Close();
err = -1;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
err = TheDb.Open(KTestDbName);
@@ -717,7 +799,7 @@
TInt rc = -1;
TBuf8<KMaxFileName + 1> dbFileName8;
dbFileName8.Copy(TheRmvMediaDbFileName);
- for(TInt cnt=1;rc!=SQLITE_OK;++cnt)
+ for(TInt cnt=0;rc!=SQLITE_OK;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
sqlite3* dbHandle = NULL;
@@ -818,7 +900,7 @@
TheDb.Close();
//"File I/O" error simulation loop
err = KErrCorrupt;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
TEST2(TheDb.Open(KTestDbName), KErrNone);
@@ -901,7 +983,7 @@
TEST(size.iFree > 0);
//"File I/O" error simulation loop
err = KErrCorrupt;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
TEST2(TheDb.Open(KTestDbName), KErrNone);
@@ -991,7 +1073,7 @@
TheDb.Close();
err = KErrCorrupt;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
TEST2(TheDb.Open(KTestDbName), KErrNone);
@@ -1090,7 +1172,7 @@
TPtr8 bufptr = buf->Des();
err = KErrCorrupt;
- for(TInt cnt=1;err<KErrNone;++cnt)
+ for(TInt cnt=0;err<KErrNone;++cnt)
{
TheTest.Printf(_L("%d \r"), cnt);
TEST2(TheDb.Open(KTestDbName), KErrNone);
@@ -1133,6 +1215,10 @@
OpenDatabaseTest();
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-3434 Create database during file I/O error "));
CreateDatabaseTest();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4189 Attach database during file I/O error "));
+ AttachDatabaseTest();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4190 Delete database during file I/O error "));
+ DeleteDatabaseTest();
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-3462 Select record test during file I/O error "));
SelectRecordTest();
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-UT-3463 Insert record test during file I/O error "));
--- a/persistentstorage/sql/TEST/t_sqlload.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlload.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -60,6 +60,9 @@
//Binary data length
const TInt KBinDataLen = 2003;
+//StatementMaxNumberTest() time limit in seconds.
+const TInt KTestTimeLimit = 60;//seconds
+
///////////////////////////////////////////////////////////////////////////////////////
void DeleteTestFiles()
@@ -69,6 +72,14 @@
RSqlDatabase::Delete(KTestDbName1);
}
+void GetHomeTimeAsString(TDes& aStr)
+ {
+ TTime time;
+ time.HomeTime();
+ TDateTime dt = time.DateTime();
+ aStr.Format(_L("%02d:%02d:%02d.%06d"), dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond());
+ }
+
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
//Test macros and functions
@@ -115,6 +126,30 @@
///////////////////////////////////////////////////////////////////////////////////////
+//StatementMaxNumberTest() timeouts in WDP builds.
+//This function is used return the seconds passed from the start of the test case.
+TTimeIntervalSeconds ExecutionTimeSeconds()
+ {
+ struct TStartTime
+ {
+ TStartTime()
+ {
+ iTime.HomeTime();
+ }
+ TTime iTime;
+ };
+
+ static TStartTime startTime;
+
+ TTime currTime;
+ currTime.HomeTime();
+
+ TTimeIntervalSeconds s;
+ TInt err = currTime.SecondsFrom(startTime.iTime, s);
+ TEST2(err, KErrNone);
+ return s;
+ }
+
void CreateTestDir()
{
RFs fs;
@@ -532,10 +567,127 @@
CloseTestThreads(threads, statuses, KTestThreadCnt);
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4201
+@SYMTestCaseDesc Max number of SQL statements test.
+@SYMTestPriority High
+@SYMTestActions The test creates a table with couple of records and then
+ creates as many as possible SQL statements. The expected result is
+ that either the statement creation process will fail with KErrNoMemory or
+ the max number of statements to be created is reached (100000).
+ Then the test deletes 1/2 of the created statements objects and
+ after that attempts to execute Next() on the rest of them.
+ Note that the test has a time limit of 500 seconds. Otherwise on some platforms
+ with WDP feature switched on the test may timeout.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF DEF145236
+*/
+void StatementMaxNumberTest()
+ {
+ TBuf<30> time;
+ GetHomeTimeAsString(time);
+ TheTest.Printf(_L("=== %S: Create database\r\n"), &time);
+
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ RSqlDatabase db;
+ TInt err = db.Create(KTestDbName1);
+ TEST2(err, KErrNone);
+ err = db.Exec(_L("CREATE TABLE A(I INTEGER); INSERT INTO A(I) VALUES(1); INSERT INTO A(I) VALUES(2);"));
+ TEST(err >= 0);
+
+ GetHomeTimeAsString(time);
+ TheTest.Printf(_L("=== %S: Create statements array\r\n"), &time);
+
+ //Reserve memory for the statement objects
+ const TInt KMaxStmtCount = 100000;
+ RSqlStatement* stmt = new RSqlStatement[KMaxStmtCount];
+ TEST(stmt != NULL);
+
+ //Create as many statement objects as possible
+ TInt idx = 0;
+ err = KErrNone;
+ for(;idx<KMaxStmtCount;++idx)
+ {
+ err = stmt[idx].Prepare(db, _L("SELECT * FROM A WHERE I>=0 AND I<10"));
+ if(err != KErrNone)
+ {
+ break;
+ }
+ if((idx % 100) == 0)
+ {
+ GetHomeTimeAsString(time);
+ TTimeIntervalSeconds s = ExecutionTimeSeconds();
+ TheTest.Printf(_L("=== %S: Create % 5d statements. %d seconds.\r\n"), &time, idx + 1, s.Int());
+ if(s.Int() > KTestTimeLimit)
+ {
+ TheTest.Printf(_L("=== %S: The time limit reached.\r\n"), &time);
+ ++idx;//The idx-th statement is valid, the statement count is idx + 1.
+ break;
+ }
+ }
+ }
+
+ TInt stmtCnt = idx;
+ TheTest.Printf(_L("%d created statement objects. Last error: %d.\r\n"), stmtCnt, err);
+ TEST(err == KErrNone || err == KErrNoMemory);
+
+ //Close 1/2 of the statements to free some memory
+ idx = 0;
+ for(;idx<(stmtCnt/2);++idx)
+ {
+ stmt[idx].Close();
+ if((idx % 100) == 0)
+ {
+ GetHomeTimeAsString(time);
+ TheTest.Printf(_L("=== %S: % 5d statements closed\r\n"), &time, idx + 1);
+ }
+ }
+
+ //Now, there should be enough memory to be able to execute Next() on the rest of the statements
+ for(TInt j=0;idx<stmtCnt;++idx,++j)
+ {
+ err = stmt[idx].Next();
+ TEST2(err, KSqlAtRow);
+ err = stmt[idx].Next();
+ TEST2(err, KSqlAtRow);
+ err = stmt[idx].Next();
+ TEST2(err, KSqlAtEnd);
+ GetHomeTimeAsString(time);
+ TTimeIntervalSeconds s = ExecutionTimeSeconds();
+ if((j % 100) == 0)
+ {
+ TheTest.Printf(_L("=== %S: % 5d statements processed. %d seconds.\r\n"), &time, j + 1, s.Int());
+ }
+ if(s.Int() > KTestTimeLimit)
+ {
+ TheTest.Printf(_L("=== %S: The time limit reached.\r\n"), &time);
+ break;
+ }
+ }
+
+ //Cleanup
+ for(idx=0;idx<stmtCnt;++idx)
+ {
+ stmt[idx].Close();
+ if((idx % 100) == 0)
+ {
+ GetHomeTimeAsString(time);
+ TheTest.Printf(_L("=== %S: % 5d statements closed\r\n"), &time, idx + 1);
+ }
+ }
+ delete [] stmt;
+ db.Close();
+ (void)RSqlDatabase::Delete(KTestDbName1);
+ GetHomeTimeAsString(time);
+ TheTest.Printf(_L("=== %S: Test case end\r\n"), &time);
+ }
+
void DoTests()
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-CT-1627-0001 SQL server load test "));
SqlLoadTest();
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4201 Statement max number test"));
+ StatementMaxNumberTest();
}
TInt E32Main()
--- a/persistentstorage/sql/TEST/t_sqloom2.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqloom2.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -45,7 +45,7 @@
//"RSqlStatement::Prepare()" OOM test (8-bit SELECT SQL statement)
void PrepareStmt8L(RSqlDatabase& aDb, RSqlStatement& aStmt)
{
- _LIT8(KSqlString, "SELECT * FROM BBB");
+ _LIT8(KSqlString, "SELECT * FROM BBB WHERE Fld1=? AND Fld4<>?");
TInt err = aStmt.Prepare(aDb, KSqlString);
User::LeaveIfError(err);
}
@@ -53,14 +53,14 @@
//"RSqlStatement::PrepareL()" OOM test (8-bit SELECT SQL statement)
void PrepareStmt8_2L(RSqlDatabase& aDb, RSqlStatement& aStmt)
{
- _LIT8(KSqlString, "SELECT * FROM BBB");
+ _LIT8(KSqlString, "SELECT * FROM BBB WHERE Fld1=? AND Fld4<>?");
aStmt.PrepareL(aDb, KSqlString);
}
//"RSqlStatement::Prepare()" OOM test (8-bit SELECT SQL statement), syntax error
void PrepareBadStmt8L(RSqlDatabase& aDb, RSqlStatement& aStmt)
{
- _LIT8(KSqlString, "SELECT123 * FROM BBB");
+ _LIT8(KSqlString, "SELECT123 * FROM BBB WHERE Fld1=? AND Fld4<>?");
TInt err = aStmt.Prepare(aDb, KSqlString);
User::LeaveIfError(err);
}
@@ -68,16 +68,18 @@
//"RSqlStatement::Prepare()" OOM test (8-bit SELECT SQL statement, move next)
void PrepareMoveStmt8L(RSqlDatabase& aDb, RSqlStatement& aStmt)
{
- _LIT8(KSqlString, "SELECT * FROM BBB");
+ _LIT8(KSqlString, "SELECT * FROM BBB WHERE Fld1=? AND Fld4<>?");
TInt err = aStmt.Prepare(aDb, KSqlString);
- if(err == KErrNone)
- {
- err = aStmt.Next();
- if(err == KSqlAtRow)
- {
- err = KErrNone;
- }
- }
+ User::LeaveIfError(err);
+ err = aStmt.BindInt(0, 1);
+ User::LeaveIfError(err);
+ err = aStmt.BindText(1, _L("data244weewfn43wr83224iu23ewkjfbrektug4i433b3k45b"));
+ User::LeaveIfError(err);
+ err = aStmt.Next();
+ if(err == KSqlAtRow)
+ {
+ err = KErrNone;
+ }
User::LeaveIfError(err);
}
--- a/persistentstorage/sql/TEST/t_sqloom5.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqloom5.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -614,7 +614,7 @@
attached (secure and non-secure).
UTF8 encoded database is used.
@SYMTestExpectedResults Test must not fail
-@SYMDEF DEF????
+@SYMDEF DEF144603
*/
void Utf8OpenAttachDatabaseOomTest()
{
--- a/persistentstorage/sql/TEST/t_sqlperformance.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlperformance.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -19,6 +19,7 @@
#include <hal.h>
#include <stdlib.h>
#include <sqldb.h>
+#include "t_sqlcmdlineutil.h"
#include "SqlSrvStrings.h"
#include "sqlite3.h"
#include "SqliteSymbian.h"
@@ -27,15 +28,12 @@
RTest TheTest(_L("t_sqlperformance test"));
RFs TheFs;
+TBuf<200> TheTestTitle;
+TCmdLineParams TheCmdLineParams;
+TBuf8<200> TheSqlConfigString;
-TBuf<200> TheTestTitle;
-TBuf<256> TheCmd;
-TParse TheParse;
-TBuf<8> TheDriveName;
-
-_LIT8(KDbEncodingUtf8, "encoding=UTF-8");
-_LIT(KDbEncodingUtf8text, "UTF8 encoded db");
-_LIT(KDbEncodingUtf16text, "UTF16 encoded db");
+_LIT(KUtf8, "UTF8 ");
+_LIT(KUtf16, "UTF16");
TFileName TheSecureDbName;
TFileName TheNonSecureDbName;
@@ -43,14 +41,6 @@
TFileName TheNonSecureTmpDbName;
TFileName TheSglRecDbFileName;
-enum TDbEncoding
- {
- EDbUtf8,
- EDbUtf16
- };
-
-TDbEncoding TheDbEncoding;
-
_LIT(KSqlServerPrivateDir, "\\private\\10281e17\\");
_LIT(KCreateDbScript, "z:\\test\\contacts_schema_to_vendors.sql");
@@ -157,9 +147,10 @@
file.Close();
- HBUFC* sql2 = HBUFC::New(size);
+ HBUFC* sql2 = HBUFC::New(size + 1);
TEST(sql2 != NULL);
sql2->Des().Copy(sql->Des());
+ sql2->Des().Append(TChar(0));
delete sql;
return sql2;
@@ -249,7 +240,7 @@
{
RSqlDatabase::Delete(aDbName);
RSqlDatabase db;
- TInt err = db.Create(aDbName, TheDbEncoding == EDbUtf16 ? NULL : &KDbEncodingUtf8);
+ TInt err = db.Create(aDbName, &TheSqlConfigString);
TEST2(err, KErrNone);
CreateDbSchema(db);
db.Close();
@@ -277,7 +268,7 @@
securityPolicy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, TSecurityPolicy(ECapabilityWriteUserData));
securityPolicy.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, TSecurityPolicy(ECapabilityReadUserData));
RSqlDatabase db;
- err = db.Create(aDbName, securityPolicy, TheDbEncoding == EDbUtf16 ? NULL : &KDbEncodingUtf8);
+ err = db.Create(aDbName, securityPolicy, &TheSqlConfigString);
TEST2(err, KErrNone);
securityPolicy.Close();
CreateDbSchema(db);
@@ -505,7 +496,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Template class offering Create() and Open() methods for creating/opening a sqlite3 handle.
-template <TDbEncoding TYPE> class TDbHelper2
+template <TCmdLineParams::TDbEncoding TYPE> class TDbHelper2
{
public:
static void Create(const TDesC& aDbName);
@@ -543,7 +534,7 @@
}
//Explicit TDbHelper2 class specialization for creating/opening a database with UTF8 default encoding
-template <> class TDbHelper2<EDbUtf8>
+template <> class TDbHelper2<TCmdLineParams::EDbUtf8>
{
public:
static void Create(const TDesC& aDbFileName)
@@ -581,7 +572,7 @@
};
//Explicit TDbHelper2 class specialization for creating/opening a database with UTF16 default encoding
-template <> class TDbHelper2<EDbUtf16>
+template <> class TDbHelper2<TCmdLineParams::EDbUtf16>
{
public:
static void Create(const TDesC& aDbFileName)
@@ -814,7 +805,7 @@
fmtstr.Copy(aUpdateSql);
sqlite3SymbianLibInit();
- sqlite3* dbHandle = TDbHelper2<EDbUtf8>::Open(aDbName);
+ sqlite3* dbHandle = TDbHelper2<TCmdLineParams::EDbUtf8>::Open(aDbName);
TUint32 start = User::FastCounter();
for(TInt id=1;id<=KTestTecordCount;++id)
@@ -842,7 +833,7 @@
TheTest.Printf(_L("\"Update (without parameters)\" test\r\n"));
sqlite3SymbianLibInit();
- sqlite3* dbHandle = TDbHelper2<EDbUtf16>::Open(aDbName);
+ sqlite3* dbHandle = TDbHelper2<TCmdLineParams::EDbUtf16>::Open(aDbName);
TUint32 start = User::FastCounter();
for(TInt id=1;id<=KTestTecordCount;++id)
@@ -998,7 +989,8 @@
delete sql;
}
-template <TDbEncoding TYPE, class HBUFC, class PTRC, class DESC> void PerformanceTest2(const TDesC& aDbFileName,
+template <TCmdLineParams::TDbEncoding TYPE, class HBUFC, class PTRC, class DESC> void PerformanceTest2(
+ const TDesC& aDbFileName,
const DESC& aCommitStr,
const DESC& aUpdateSql,
const DESC& aSelectSql,
@@ -1039,10 +1031,10 @@
delete fm;
}
//Explicit PerformanceTest2() template instantiations.
-template void PerformanceTest2<EDbUtf8, HBufC8, TPtrC8, TDesC8>(const TDesC&, const TDesC8&, const TDesC8&, const TDesC8&, const TDesC8&);
-template void PerformanceTest2<EDbUtf16, HBufC8, TPtrC8, TDesC8>(const TDesC&, const TDesC8&, const TDesC8&, const TDesC8&, const TDesC8&);
-template void PerformanceTest2<EDbUtf8, HBufC16, TPtrC16, TDesC16>(const TDesC&, const TDesC16&, const TDesC16&, const TDesC16&, const TDesC16&);
-template void PerformanceTest2<EDbUtf16, HBufC16, TPtrC16, TDesC16>(const TDesC&, const TDesC16&, const TDesC16&, const TDesC16&, const TDesC16&);
+template void PerformanceTest2<TCmdLineParams::EDbUtf8, HBufC8, TPtrC8, TDesC8>(const TDesC&, const TDesC8&, const TDesC8&, const TDesC8&, const TDesC8&);
+template void PerformanceTest2<TCmdLineParams::EDbUtf16, HBufC8, TPtrC8, TDesC8>(const TDesC&, const TDesC8&, const TDesC8&, const TDesC8&, const TDesC8&);
+template void PerformanceTest2<TCmdLineParams::EDbUtf8, HBufC16, TPtrC16, TDesC16>(const TDesC&, const TDesC16&, const TDesC16&, const TDesC16&, const TDesC16&);
+template void PerformanceTest2<TCmdLineParams::EDbUtf16, HBufC16, TPtrC16, TDesC16>(const TDesC&, const TDesC16&, const TDesC16&, const TDesC16&, const TDesC16&);
void ColumnValueAccessTest()
{
@@ -1056,7 +1048,7 @@
//Create a test database
RSqlDatabase db;
- TInt err = db.Create(TheNonSecureDbName2);
+ TInt err = db.Create(TheNonSecureDbName2, &TheSqlConfigString);
TEST2(err, KErrNone);
_LIT(KCreateSql, "CREATE TABLE A(%S INTEGER, %S INTEGER, %S INTEGER, %S INTEGER)");
sql.Format(KCreateSql, &colNames[0], &colNames[1], &colNames[2], &colNames[3]);
@@ -1259,57 +1251,50 @@
TheTest.Printf(_L("Single \"delete\" test\r\n"));
SingleDeleteTest();
- TheTestTitle.Copy(_L("SERVER, UTF8 SQL strings, non-secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L("\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF8 SQL strings, non-secure, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
PerformanceTest<HBufC8, TPtrC8, TDesC8, ENonSecureDb>(TheNonSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
- TheTestTitle.Copy(_L("SERVER, UTF8 SQL strings, non-secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L(", update test (without parameters)"));
- TheTestTitle.Append(_L("\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF8 SQL strings, non-secure, update test (without parameters), encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
UpdateWPTest<TBuf8<200>, TDesC8, ENonSecureDb>(TheNonSecureDbName, KUpdateSql2_8());
- TheTestTitle.Copy(_L("SERVER, UTF8 SQL strings, secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L("\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF8 SQL strings, secure, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
PerformanceTest<HBufC8, TPtrC8, TDesC8, ESecureDb>(TheSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
TheTest.Printf(_L("SQLITE, UTF8 encoded database, UTF8 SQL strings\r\n"));
- PerformanceTest2<EDbUtf8, HBufC8, TPtrC8, TDesC8>(TheNonSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
+ PerformanceTest2<TCmdLineParams::EDbUtf8, HBufC8, TPtrC8, TDesC8>(TheNonSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
TheTest.Printf(_L("SQLITE, UTF8 encoded database, UTF8 SQL strings, update test (without parameters)\r\n"));
UpdateWPTest2<TDesC8>(TheNonSecureDbName, KUpdateSql2_8());
TheTest.Printf(_L("SQLITE, UTF16 encoded database, UTF8 SQL strings\r\n"));
- PerformanceTest2<EDbUtf16, HBufC8, TPtrC8, TDesC8>(TheNonSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
+ PerformanceTest2<TCmdLineParams::EDbUtf16, HBufC8, TPtrC8, TDesC8>(TheNonSecureDbName, KCommitStr8(), KUpdateSql8(), KSelectSql8(), KDeleteSql8());
- TheTestTitle.Copy(_L("SERVER, UTF16 SQL strings, non-secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L("\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF16 SQL strings, non-secure, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
PerformanceTest<HBufC16, TPtrC16, TDesC16, ENonSecureDb>(TheNonSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
- TheTestTitle.Copy(_L("SERVER, UTF16 SQL strings, non-secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L(", update test (without parameters)\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF16 SQL strings, non-secure, update test (without parameters), encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
UpdateWPTest<TBuf16<200>, TDesC16, ENonSecureDb>(TheNonSecureDbName, KUpdateSql2_16());
- TheTestTitle.Copy(_L("SERVER, UTF16 SQL strings, secure, "));
- TheTestTitle.Append(TheDbEncoding == EDbUtf16 ? KDbEncodingUtf16text : KDbEncodingUtf8text);
- TheTestTitle.Append(_L("\r\n"));
+ TheTestTitle.Format(_L("SERVER, UTF16 SQL strings, secure, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
TheTest.Printf(TheTestTitle);
PerformanceTest<HBufC16, TPtrC16, TDesC16, ESecureDb>(TheSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
TheTest.Printf(_L("SQLITE, UTF8 encoded database, UTF16 SQL strings\r\n"));
- PerformanceTest2<EDbUtf8, HBufC16, TPtrC16, TDesC16>(TheNonSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
+ PerformanceTest2<TCmdLineParams::EDbUtf8, HBufC16, TPtrC16, TDesC16>(TheNonSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
TheTest.Printf(_L("SQLITE, UTF16 encoded database, UTF16 SQL strings\r\n"));
- PerformanceTest2<EDbUtf16, HBufC16, TPtrC16, TDesC16>(TheNonSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
+ PerformanceTest2<TCmdLineParams::EDbUtf16, HBufC16, TPtrC16, TDesC16>(TheNonSecureDbName, KCommitStr16(), KUpdateSql16(), KSelectSql16(), KDeleteSql16());
TheTest.Printf(_L("SQLITE, UTF16 encoded database, UTF16 SQL strings, update test (without parameters)\r\n"));
UpdateWPTest2<TDesC16>(TheNonSecureDbName, KUpdateSql2_16());
@@ -1322,85 +1307,32 @@
}
-//Usage: "t_sqlperformance [[-16/-8] [<drive letter>:]]"
-
TInt E32Main()
{
TheTest.Title();
CTrapCleanup* tc = CTrapCleanup::New();
-
- TheDbEncoding = EDbUtf16;
+ TheTest(tc != NULL);
- User::CommandLine(TheCmd);
- TheCmd.TrimAll();
- if(TheCmd.Length() > 0)
- {
- TPtrC prm1(KNullDesC);
- TPtrC prm2(KNullDesC);
- TInt pos = TheCmd.Locate(TChar(' '));
- if(pos > 0)
- {
- prm1.Set(TheCmd.Left(pos));
- prm2.Set(TheCmd.Mid(pos + 1));
- }
- else
- {
- prm1.Set(TheCmd);
- }
- if(prm1.Compare(_L("-8")) == 0)
- {
- TheDbEncoding = EDbUtf8;
- TheDriveName.Copy(prm2);
- }
- else if(prm2.Compare(_L("-8")) == 0)
- {
- TheDbEncoding = EDbUtf8;
- TheDriveName.Copy(prm1);
- }
- else if(prm1.Compare(_L("-16")) == 0)
- {
- TheDbEncoding = EDbUtf16;
- TheDriveName.Copy(prm2);
- }
- else if(prm2.Compare(_L("-16")) == 0)
- {
- TheDbEncoding = EDbUtf16;
- TheDriveName.Copy(prm1);
- }
- }
+ GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance"), TheCmdLineParams, TheSqlConfigString);
+ _LIT(KSecureDbName, "c:[2121212A]t_perfdb.db");
+ PrepareDbName(KSecureDbName, TheCmdLineParams.iDriveName, TheSecureDbName);
+ _LIT(KNonSecureDbName, "c:\\test\\t_perfdb.db");
+ PrepareDbName(KNonSecureDbName, TheCmdLineParams.iDriveName, TheNonSecureDbName);
+ _LIT(KNonSecureDbName2, "c:\\test\\t_perfdb2.db");
+ PrepareDbName(KNonSecureDbName2, TheCmdLineParams.iDriveName, TheNonSecureDbName2);
+ _LIT(KNonSecureTmpDbName, "c:\\test\\tmp.db");
+ PrepareDbName(KNonSecureTmpDbName, TheCmdLineParams.iDriveName, TheNonSecureTmpDbName);
+ _LIT(KSglRecDbName, "c:\\test\\default_avacon.dbSQL");
+ PrepareDbName(KSglRecDbName, TheCmdLineParams.iDriveName, TheSglRecDbFileName);
- //Construct test database file names
- _LIT(KSecureDbName, "c:[2121212A]t_perfdb.db");
- TheParse.Set(TheDriveName, &KSecureDbName, 0);
- const TDesC& dbFilePath1 = TheParse.FullName();
- TheSecureDbName.Copy(dbFilePath1);
-
- _LIT(KNonSecureDbName, "c:\\test\\t_perfdb.db");
- TheParse.Set(TheDriveName, &KNonSecureDbName, 0);
- const TDesC& dbFilePath2 = TheParse.FullName();
- TheNonSecureDbName.Copy(dbFilePath2);
-
- _LIT(KNonSecureDbName2, "c:\\test\\t_perfdb2.db");
- TheParse.Set(TheDriveName, &KNonSecureDbName2, 0);
- const TDesC& dbFilePath3 = TheParse.FullName();
- TheNonSecureDbName2.Copy(dbFilePath3);
-
- _LIT(KNonSecureTmpDbName, "c:\\test\\tmp.db");
- TheParse.Set(TheDriveName, &KNonSecureTmpDbName, 0);
- const TDesC& dbFilePath4 = TheParse.FullName();
- TheNonSecureTmpDbName.Copy(dbFilePath4);
-
- _LIT(KSglRecDbName, "c:\\test\\default_avacon.dbSQL");
- TheParse.Set(TheDriveName, &KSglRecDbName, 0);
- const TDesC& dbFilePath5 = TheParse.FullName();
- TheSglRecDbFileName.Copy(dbFilePath5);
+ TheTest.Printf(_L("==Databases: %S, %S, %S, %S, %S\r\n"), &TheSecureDbName, &TheNonSecureDbName,
+ &TheNonSecureDbName2, &TheNonSecureTmpDbName,
+ &TheSglRecDbFileName);
__UHEAP_MARK;
TestEnvInit();
- TheTest.Printf(_L("==Databases: %S, %S, %S, %S, %S\r\n"), &TheSecureDbName, &TheNonSecureDbName,
- &TheNonSecureDbName2, &TheNonSecureTmpDbName, &TheSglRecDbFileName);
DoTests();
TestEnvDestroy();
--- a/persistentstorage/sql/TEST/t_sqlperformance2.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlperformance2.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -16,6 +16,7 @@
#include <e32test.h>
#include <bautils.h>
#include <sqldb.h>
+#include "t_sqlcmdlineutil.h"
///////////////////////////////////////////////////////////////////////////////////////
@@ -24,11 +25,14 @@
TFileName TheDbFileName;
RFs TheFs;
-TInt TheBlobSize = 1024 * 256;
+TBuf<200> TheTestTitle;
+TCmdLineParams TheCmdLineParams;
+TBuf8<200> TheSqlConfigString;
-TBuf<256> TheCmd;
-TDriveName TheDriveName;
-TParse TheParse;
+_LIT(KUtf8, "UTF8 ");
+_LIT(KUtf16, "UTF16");
+
+TInt TheBlobSize = 1024 * 256;
///////////////////////////////////////////////////////////////////////////////////////
@@ -69,20 +73,16 @@
{
TInt err = TheFs.Connect();
TEST2(err, KErrNone);
- //Get the drive number from the database file name
- err = TheParse.Set(TheDbFileName, NULL, NULL);
- TEST2(err, KErrNone);
- TPtrC driveName = TheParse.Drive();
- TEST(driveName.Length() > 0);
- TInt driveNumber = -1;
- err = RFs::CharToDrive(driveName[0], driveNumber);
+ //
+ TInt driveNumber = -1;
+ err = RFs::CharToDrive(TheCmdLineParams.iDriveName[0], driveNumber);
TEST2(err, KErrNone);
TDriveNumber driveNo = static_cast <TDriveNumber> (driveNumber);
TDriveInfo driveInfo;
err = TheFs.Drive(driveInfo, driveNo);
TEST2(err, KErrNone);
//Create the test directory
- err = TheFs.MkDir(TheParse.DriveAndPath());
+ err = TheFs.MkDirAll(TheDbFileName);
TEST(err == KErrNone || err == KErrAlreadyExists);
//Print drive info and the database name
_LIT(KType1, "Not present");
@@ -130,7 +130,7 @@
void CreateTestDb()
{
(void)RSqlDatabase::Delete(TheDbFileName);
- TInt err = TheDb.Create(TheDbFileName);
+ TInt err = TheDb.Create(TheDbFileName, &TheSqlConfigString);
TEST2(err, KErrNone);
err = TheDb.Exec(_L8("CREATE TABLE A(B BLOB)"));
TEST2(err, 1);
@@ -531,7 +531,7 @@
(void)RSqlDatabase::Delete(TheDbFileName);
}
-void DoReadBlobIncrL(TDes8& aDes)
+void DoReadBlobIncrL(TDes8& aDes, TInt aMaxLength)
{
TTime t1, t2, t3, t4;
@@ -547,7 +547,7 @@
openTime = t2.MicroSecondsFrom(t1);
t3.HomeTime();
- strm.ReadL(aDes);
+ strm.ReadL(aDes, aMaxLength);
t4.HomeTime();
readTime = t4.MicroSecondsFrom(t3);
@@ -563,7 +563,7 @@
TEST(data != NULL);
TPtr8 dataptr = data->Des();
- TRAPD(err, DoReadBlobIncrL(dataptr));
+ TRAPD(err, DoReadBlobIncrL(dataptr, TheBlobSize));
TEST2(err, KErrNone);
TEST2(dataptr.Length(), TheBlobSize);
@@ -661,7 +661,7 @@
t5.HomeTime();
err = strm.ColumnBinary(stmt, 0);
TEST2(err, KErrNone);
- TRAP(err, strm.ReadL(dataptr));
+ TRAP(err, strm.ReadL(dataptr, TheBlobSize));
t6.HomeTime();
TEST2(err, KErrNone);
TEST2(dataptr.Length(), TheBlobSize);
@@ -746,6 +746,7 @@
const TInt KBufLen = 32768; // 32Kb
HBufC8* buf = HBufC8::NewL(KBufLen);
TPtr8 dataPtr = buf->Des();
+ dataPtr.SetLength(KBufLen);
dataPtr.Fill('A', KBufLen);
CreateTestDb();
@@ -812,6 +813,7 @@
const TInt KBufLen = 32768; // 32Kb
HBufC8* buf = HBufC8::NewL(KBufLen);
TPtr8 dataPtr = buf->Des();
+ dataPtr.SetLength(KBufLen);
dataPtr.Fill('A', KBufLen);
CreateTestDb();
@@ -889,6 +891,7 @@
TInt bufLen = TheBlobSize;
HBufC8* buf = HBufC8::NewL(bufLen);
TPtr8 dataPtr = buf->Des();
+ dataPtr.SetLength(bufLen);
dataPtr.Fill('Z', bufLen);
CreateTestDb();
@@ -953,6 +956,7 @@
TInt bufLen = TheBlobSize;
HBufC8* buf = HBufC8::NewL(bufLen);
TPtr8 dataPtr = buf->Des();
+ dataPtr.SetLength(bufLen);
dataPtr.Fill('Z', bufLen);
CreateTestDb();
@@ -1024,6 +1028,7 @@
TInt bufLen = TheBlobSize;
HBufC8* buf = HBufC8::NewL(bufLen);
TPtr8 dataPtr = buf->Des();
+ dataPtr.SetLength(bufLen);
dataPtr.Fill('A', bufLen);
CreateTestDb();
@@ -1104,10 +1109,14 @@
void DoTests()
{
- TheTest.Start(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4084 SQL, BLOB write, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4084 SQL, BLOB write, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Start(TheTestTitle);
BlobWriteTest();
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4085 SQL, BLOB read, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4085 SQL, BLOB read, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
BlobReadTest();
TheTest.Printf(_L("==================================================================\r\n"));
@@ -1117,33 +1126,41 @@
TheBlobSize = 1024 * 1024 + 128 * 1024;//1.125Mb
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4115 SQL, sequential BLOB writes, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4115 SQL, sequential BLOB writes, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
TRAPD(err, SequentialWriteTestL());
TEST2(err, KErrNone);
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4116 SQL, transaction sequential BLOB writes, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4116 SQL, transaction sequential BLOB writes, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
TRAP(err, TransSequentialWriteTestL());
TEST2(err, KErrNone);
TheBlobSize = 256 * 1024 ; // 256Kb
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4117 SQL, whole BLOB write, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4117 SQL, whole BLOB write, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
TRAP(err, WholeWriteTestL());
TEST2(err, KErrNone);
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4118 SQL, transaction whole BLOB write, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4118 SQL, transaction whole BLOB write, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
TRAP(err, TransWholeWriteTestL());
TEST2(err, KErrNone);
- TheTest.Next(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4119 SQL, whole BLOB read, performance tests\r\n"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:SYSLIB-SQL-UT-4119 SQL, whole BLOB read, performance tests, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
TRAP(err, WholeReadTestL());
TEST2(err, KErrNone);
#endif//!defined __WINS__ && !defined __WINSCW__ && !defined _DEBUG
}
-//Usage: "t_sqlperformance2 [<drive letter>:]"
-
TInt E32Main()
{
TheTest.Title();
@@ -1153,17 +1170,11 @@
__UHEAP_MARK;
- User::CommandLine(TheCmd);
- TheCmd.TrimAll();
- if(TheCmd.Length() > 0)
- {
- TheDriveName.Copy(TheCmd);
- }
+ GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance2"), TheCmdLineParams, TheSqlConfigString);
+ _LIT(KDbName, "c:\\test\\t_sqlperformance2.db");
+ PrepareDbName(KDbName, TheCmdLineParams.iDriveName, TheDbFileName);
- _LIT(KDbName, "c:\\test\\t_sqlperformance2.db");
- TheParse.Set(TheDriveName, &KDbName, 0);
- const TDesC& dbFilePath = TheParse.FullName();
- TheDbFileName.Copy(dbFilePath);
+ TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName);
TestEnvInit();
DoTests();
--- a/persistentstorage/sql/TEST/t_sqlperformance3.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlperformance3.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -17,6 +17,7 @@
#include <bautils.h>
#include <hal.h>
#include <sqldb.h>
+#include "t_sqlcmdlineutil.h"
RTest TheTest(_L("t_sqlperformance3 test"));
RSqlDatabase TheDb;
@@ -24,9 +25,12 @@
_LIT(KDbName, "c:\\test\\t_sqlperformance3.db");
TFileName TheDbFileName;
-TBuf<256> TheCmd;
-TDriveName TheDriveName;
-TParse TheParse;
+TBuf<200> TheTestTitle;
+TCmdLineParams TheCmdLineParams(TCmdLineParams::EDbUtf16, 4096, 10000);
+TBuf8<200> TheSqlConfigString;
+
+_LIT(KUtf8, "UTF8 ");
+_LIT(KUtf16, "UTF16");
TInt TheFastCounterFreq = 0;
@@ -156,14 +160,13 @@
void DoCreateDbFile()
{
- _LIT8(KConfig, "page_size=4096;cache_size=10000;");
TUint32 fc1 = User::FastCounter();
- TInt err = TheDb.Create(TheDbFileName, &KConfig);
+ TInt err = TheDb.Create(TheDbFileName, &TheSqlConfigString);
if(err != KErrNone)
{
if(err == KErrAlreadyExists)
{
- err = TheDb.Open(TheDbFileName, &KConfig);
+ err = TheDb.Open(TheDbFileName, &TheSqlConfigString);
if(err == KErrNone)
{
TUint32 fc2 = User::FastCounter();
@@ -1080,19 +1083,19 @@
{
CalcIterationsCount();
- TheTest.Start(_L("@SYMTestCaseID:PDS-SQL-UT-4149 Create database"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:PDS-SQL-UT-4149 Create database, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Start(TheTestTitle);
CreateDb();
- TBuf<80> buf;
- buf.Format(_L("@SYMTestCaseID:PDS-SQL-UT-4150 Harvest %d items"), KItemCnt);
- TheTest.Next(buf);
+ TheTestTitle.Format(_L("@SYMTestCaseID:PDS-SQL-UT-4150 Harvest %d items, encoding: \"%S\", page size: %d\r\n"),
+ KItemCnt, TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
Harvest();
PrintResults();
}
-//Usage: "t_sqlperformance3 [<drive letter>:]"
-
TInt E32Main()
{
TheTest.Title();
@@ -1101,17 +1104,11 @@
TheTest(tc != NULL);
__UHEAP_MARK;
-
- User::CommandLine(TheCmd);
- TheCmd.TrimAll();
- if(TheCmd.Length() > 0)
- {
- TheDriveName.Copy(TheCmd);
- }
- TheParse.Set(TheDriveName, &KDbName, 0);
- const TDesC& dbFilePath = TheParse.FullName();
- TheDbFileName.Copy(dbFilePath);
- TheTest.Printf(_L("==Database file name: %S\r\n"), &TheDbFileName);
+
+ GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance3"), TheCmdLineParams, TheSqlConfigString);
+ PrepareDbName(KDbName, TheCmdLineParams.iDriveName, TheDbFileName);
+
+ TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName);
TestEnvDestroy();
TestEnvInit();
--- a/persistentstorage/sql/TEST/t_sqlperformance4.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlperformance4.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -17,6 +17,7 @@
#include <bautils.h>
#include <sqldb.h>
#include <hal.h>
+#include "t_sqlcmdlineutil.h"
///////////////////////////////////////////////////////////////////////////////////////
@@ -27,11 +28,12 @@
_LIT(KCDriveDatabase, "c:[a000017f]t_sqlperformance4.db");
TFileName TheDbFileName;
-TBuf<256> TheCmd;
-TDriveName TheDriveName;
-TParse TheParse;
+TBuf<200> TheTestTitle;
+TCmdLineParams TheCmdLineParams;
+TBuf8<200> TheSqlConfigString;
-_LIT8( KMCSqlConfig, "cache_size=1024; page_size=1024; " );
+_LIT(KUtf8, "UTF8 ");
+_LIT(KUtf16, "UTF16");
_LIT(KMusicCreateTable, "CREATE TABLE Music("
L"UniqueId INTEGER PRIMARY KEY,"
@@ -194,14 +196,8 @@
TheTest.Printf(_L("Creating Database %S\n"), &aDbName);
- TInt err = TheDbC.Create(aDbName, securityPolicy, &KMCSqlConfig);
-
- TBuf<64> tmp;
- tmp.Copy(KMCSqlConfig);
- tmp.Append(_L("\n"));
-
- TheTest.Printf(tmp);
-
+ TInt err = TheDbC.Create(aDbName, securityPolicy, &TheSqlConfigString);
+
if (KErrAlreadyExists == err)
{
@@ -210,7 +206,7 @@
User::LeaveIfError(TheDbC.Delete(aDbName));
// try again
- err = TheDbC.Create(aDbName, securityPolicy, &KMCSqlConfig);
+ err = TheDbC.Create(aDbName, securityPolicy, &TheSqlConfigString);
}
@@ -280,7 +276,7 @@
TEST2(sql.Length(), fileLen);
//Open main database
- err = TheDbC.Open(TheDbFileName);
+ err = TheDbC.Open(TheDbFileName, &TheSqlConfigString);
TEST2(err, KErrNone);
TheTest.Printf(_L("Beginning INSERTS...\n"));
@@ -372,13 +368,13 @@
void DoTests()
{
- TheTest.Start(_L("@SYMTestCaseID:PDS-SQL-UT-4151; SQL Music Player Db Performance Test"));
+ TheTestTitle.Format(_L("@SYMTestCaseID:PDS-SQL-UT-4151; SQL Music Player Db Performance Test, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Start(TheTestTitle);
RunTest();
}
-//Usage: "t_sqlperformance4 [<drive letter>:]"
-
TInt E32Main()
{
TheTest.Title();
@@ -388,16 +384,10 @@
__UHEAP_MARK;
- User::CommandLine(TheCmd);
- TheCmd.TrimAll();
- if(TheCmd.Length() > 0)
- {
- TheDriveName.Copy(TheCmd);
- }
- TheParse.Set(TheDriveName, &KCDriveDatabase, 0);
- const TDesC& dbFilePath = TheParse.FullName();
- TheDbFileName.Copy(dbFilePath);
- TheTest.Printf(_L("==Database file name: %S\r\n"), &TheDbFileName);
+ GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance4"), TheCmdLineParams, TheSqlConfigString);
+ PrepareDbName(KCDriveDatabase, TheCmdLineParams.iDriveName, TheDbFileName);
+
+ TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName);
TestEnvInit();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/TEST/t_sqlperformance5.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,421 @@
+// Copyright (c) 2010 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: MDS harvesting performance test
+//
+#include <e32test.h>
+#include <e32math.h>
+#include <bautils.h>
+#include <hal.h>
+#include <sqldb.h>
+#include "t_sqlcmdlineutil.h"
+
+RTest TheTest(_L("t_sqlperformance5 test"));
+RSqlDatabase TheDb;
+
+_LIT(KDbName, "c:\\test\\t_sqlperformance5.db");
+
+TFileName TheDbFileName;
+TBuf<200> TheTestTitle;
+TCmdLineParams TheCmdLineParams(TCmdLineParams::EDbUtf16, 16384, 32);
+TBuf8<200> TheSqlConfigString;
+
+_LIT(KUtf8, "UTF8 ");
+_LIT(KUtf16, "UTF16");
+
+const TInt KThumbnailCount = 60;
+const TInt KMaxThumbnailSize = 40 * 1024;
+
+const TInt KThumbnailSizes[KThumbnailCount] =
+ {
+ //1 2 3 4 5 6 7 8 9 10
+ 22054, 24076, 33281, 24733, 33094, 31443, 29264, 28725, 31798, 29322, //1
+ 25002, 26926, 31097, 21988, 33659, 29081, 33050, 36857, 37686, 24034, //2
+ 21093, 28314, 20186, 27222, 28600, 32735, 27279, 31898, 31380, 36316, //3
+ 34295, 31642, 21829, 32912, 31584, 32557, 36601, 22744, 32808, 26130, //4
+ 31222, 21545, 35899, 22257, 25856, 31169, 34893, 23496, 23034, 30381, //5
+ 25810, 27123, 33442, 22275, 30260, 31028, 32415, 27345, 26614, 33704 //6
+ };
+
+TInt TheFastCounterFreq = 0;
+
+TInt TheCreateDbTime = 0;
+TInt TheCreateTablesTime = 0;
+TInt TheBindParamsTime = 0;
+TInt TheStmtExecTime = 0;
+TInt TheStmtResetTime = 0;
+TInt ThePopulateTempTableTime = 0;
+TInt TheFlushTime = 0;
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+void TestEnvDestroy()
+ {
+ TheDb.Close();
+ (void)RSqlDatabase::Delete(TheDbFileName);
+ ResetSoftHeapLimit();
+ }
+
+///////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////
+//Test macros and functions
+void Check1(TInt aValue, TInt aLine)
+ {
+ if(!aValue)
+ {
+ TestEnvDestroy();
+ TheTest.Printf(_L("*** Line %d\r\n"), aLine);
+ TheTest(EFalse, aLine);
+ }
+ }
+void Check2(TInt aValue, TInt aExpected, TInt aLine)
+ {
+ if(aValue != aExpected)
+ {
+ TSqlRetCodeClass cl = SqlRetCodeClass(aValue);
+ if(cl == ESqlDbError)
+ {
+ TPtrC errmsg = TheDb.LastErrorMessage();
+ TheTest.Printf(_L("*** SQLite err=\"%S\"\r\n"), &errmsg);
+ }
+ TestEnvDestroy();
+ TheTest.Printf(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue);
+ TheTest(EFalse, aLine);
+ }
+ }
+#define TEST(arg) ::Check1((arg), __LINE__)
+#define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__)
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+void TestEnvInit()
+ {
+ RFs fs;
+ TInt err = fs.Connect();
+ TEST2(err, KErrNone);
+ err = fs.MkDirAll(TheDbFileName);
+ TEST(err == KErrNone || err == KErrAlreadyExists);
+ fs.Close();
+ }
+
+TInt TimeDiffUs(TUint32 aStartTicks, TUint32 aEndTicks)
+ {
+ if(TheFastCounterFreq == 0)
+ {
+ TEST2(HAL::Get(HAL::EFastCounterFrequency, TheFastCounterFreq), KErrNone);
+ TheTest.Printf(_L("==Fast counter frequency: %d Hz\r\n"), TheFastCounterFreq);
+ }
+ TInt64 diffTicks = (TInt64)aEndTicks - (TInt64)aStartTicks;
+ if(diffTicks < 0)
+ {
+ diffTicks = KMaxTUint32 + diffTicks + 1;
+ }
+ const TInt KMicroSecIn1Sec = 1000000;
+ TInt us = (diffTicks * KMicroSecIn1Sec) / TheFastCounterFreq;
+ return us;
+ }
+
+void PrintTime(const TDesC& aFmt, TUint32 aStartTicks, TUint32 aEndTicks)
+ {
+ TInt us = TimeDiffUs(aStartTicks, aEndTicks);
+ TheTest.Printf(aFmt, us);
+ }
+
+//=============================================================================
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4205
+@SYMTestCaseDesc Thumbnail database performance test.
+@SYMTestPriority Medium
+@SYMTestActions The test executes statements to create the thumbnail database.
+@SYMTestExpectedResults The test must not fail
+@SYMDEF ou1cimx1#362240
+*/
+void CreateDb()
+ {
+ (void)RSqlDatabase::Delete(TheDbFileName);
+
+ TUint32 fc1 = User::FastCounter();
+
+ TInt err = TheDb.Create(TheDbFileName, &TheSqlConfigString);
+
+ TUint32 fc2 = User::FastCounter();
+ TheCreateDbTime = TimeDiffUs(fc1, fc2);
+
+ TEST2(err, KErrNone);
+
+ fc1 = User::FastCounter();
+
+ err = TheDb.Exec(_L("CREATE TABLE ThumbnailInfo (Path TEXT COLLATE NOCASE,TNId INTEGER,Size INTEGER,Format INTEGER,TNPath TEXT COLLATE NOCASE,Width INTEGER,Height INTEGER,OrigWidth INTEGER,OrigHeight INTEGER,Flags INTEGER,VideoPosition INTEGER,Orientation INTEGER,humbFromPath INTEGER,Modified LARGEINT);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE TABLE ThumbnailInfoData(Data BLOB);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE TABLE ThumbnailDeleted(Path TEXT UNIQUE COLLATE NOCASE);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE INDEX idx1 ON ThumbnailInfo(Path, Size);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE INDEX idx4 ON ThumbnailDeleted(Path);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE TABLE ThumbnailVersion (Major INTEGER,Minor INTEGER,IMEI TEXT COLLATE NOCASE);"));
+ TEST(err >= 0);
+
+ fc2 = User::FastCounter();
+ TheCreateTablesTime = TimeDiffUs(fc1, fc2);
+
+ TheDb.Close();
+ }
+
+void PoulateTempTables(RSqlStatement& aStmt1, RSqlStatement& aStmt2)
+ {
+ HBufC8* thumbnailBuf = HBufC8::New(KMaxThumbnailSize);
+ TEST(thumbnailBuf != NULL);
+ TPtr8 thumbnailData = thumbnailBuf->Des();
+ thumbnailData.SetLength(KMaxThumbnailSize);
+ thumbnailData.Fill(TChar('A'));
+
+ TUint32 fc3 = User::FastCounter();
+
+ for(TInt i=0;i<KThumbnailCount;++i)
+ {
+ TUint32 fc1 = User::FastCounter();
+
+ TInt paramIndex = aStmt1.ParameterIndex(_L(":Path"));
+ TEST(paramIndex >= 0);
+ TInt err = aStmt1.BindText(paramIndex, _L("c:\\test\\abcdefgh123456789.jpg"));
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Width"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 50);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Height"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 40);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":OrigWidth"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 1000);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":OrigHeight"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 2000);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Format"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 10);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Flags"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 0x1E);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Size"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 1200);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Orient"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 2);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":ThumbFromPath"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt(paramIndex, 1);
+ TEST2(err, KErrNone);
+
+ paramIndex = aStmt1.ParameterIndex(_L(":Modified"));
+ TEST(paramIndex >= 0);
+ err = aStmt1.BindInt64(paramIndex, 3212398543392LL);
+ TEST2(err, KErrNone);
+
+ TUint32 fc2 = User::FastCounter();
+ TheBindParamsTime += TimeDiffUs(fc1, fc2);
+
+ fc1 = User::FastCounter();
+ err = aStmt1.Exec();
+ fc2 = User::FastCounter();
+ TheStmtExecTime += TimeDiffUs(fc1, fc2);
+
+ TEST2(err, 1);
+
+ fc1 = User::FastCounter();
+ err = aStmt1.Reset();
+ fc2 = User::FastCounter();
+ TheStmtResetTime += TimeDiffUs(fc1, fc2);
+
+ TEST2(err, KErrNone);
+
+ thumbnailData.SetLength(KThumbnailSizes[i]);
+
+ fc1 = User::FastCounter();
+ paramIndex = aStmt2.ParameterIndex(_L(":Data"));
+ TEST(paramIndex >= 0);
+ err = aStmt2.BindBinary(paramIndex, thumbnailData);
+ TEST2(err, KErrNone);
+ fc2 = User::FastCounter();
+ TheBindParamsTime += TimeDiffUs(fc1, fc2);
+
+ fc1 = User::FastCounter();
+ err = aStmt2.Exec();
+ fc2 = User::FastCounter();
+ TheStmtExecTime += TimeDiffUs(fc1, fc2);
+
+ TEST2(err, 1);
+
+ fc1 = User::FastCounter();
+ err = aStmt2.Reset();
+ fc2 = User::FastCounter();
+ TheStmtResetTime += TimeDiffUs(fc1, fc2);
+
+ TEST2(err, KErrNone);
+ }
+
+ TUint32 fc4 = User::FastCounter();
+ ThePopulateTempTableTime += TimeDiffUs(fc3, fc4);
+
+ delete thumbnailBuf;
+ }
+
+void FlushTemptTables()
+ {
+ TUint32 fc1 = User::FastCounter();
+
+ TInt err = TheDb.Exec(_L("BEGIN TRANSACTION"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("INSERT INTO ThumbnailInfo SELECT * FROM TempThumbnailInfo;"));
+ TEST2(err, KThumbnailCount);
+
+ err = TheDb.Exec(_L("INSERT INTO ThumbnailInfoData SELECT * FROM TempThumbnailInfoData;"));
+ TEST2(err, KThumbnailCount);
+
+ err = TheDb.Exec(_L("DELETE FROM TempThumbnailInfo;"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("DELETE FROM TempThumbnailInfoData;"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("COMMIT;"));
+ TEST(err >= 0);
+
+ TUint32 fc2 = User::FastCounter();
+ TheFlushTime += TimeDiffUs(fc1, fc2);
+ }
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4206
+@SYMTestCaseDesc Thumbnail database performance test.
+@SYMTestPriority Medium
+@SYMTestActions The test inserts 60 thumbnails with summary size of 1.7Mb into the thumbnail database.
+@SYMTestExpectedResults The test must not fail
+@SYMDEF ou1cimx1#362240
+*/
+void PopulateDb()
+ {
+ TInt dataToCommit = 0;
+ for(TInt i=0;i<KThumbnailCount;++i)
+ {
+ dataToCommit += KThumbnailSizes[i];
+ }
+ TReal d = dataToCommit / 1024.0;
+ TheTest.Printf(_L("==dataToCommit=%d bytes (%8.2lf Mb)\r\n"), dataToCommit, d);
+
+ TInt err = TheDb.Open(TheDbFileName, &TheSqlConfigString);
+ TEST2(err, KErrNone);
+
+ err = TheDb.Exec(_L("CREATE TEMP TABLE TempThumbnailInfo (Path TEXT COLLATE NOCASE,TNId INTEGER,Size INTEGER,Format INTEGER,TNPath TEXT COLLATE NOCASE,Width INTEGER,Height INTEGER,OrigWidth INTEGER,OrigHeight INTEGER,Flags INTEGER,VideoPosition INTEGER,Orientation INTEGER,ThumbFromPath INTEGER,Modified LARGEINT);"));
+ TEST(err >= 0);
+
+ err = TheDb.Exec(_L("CREATE TEMP TABLE TempThumbnailInfoData (Data BLOB);"));
+ TEST(err >= 0);
+
+ RSqlStatement stmt1;
+ err = stmt1.Prepare(TheDb, _L("INSERT INTO TempThumbnailInfo(Path,Size,Format,Width,Height,OrigWidth,OrigHeight,Flags,Orientation,ThumbFromPath,Modified) VALUES (:Path,:Size,:Format,:Width,:Height,:OrigWidth,:OrigHeight,:Flags,:Orient,:ThumbFromPath,:Modified);"));
+ TEST2(err, KErrNone);
+
+ RSqlStatement stmt2;
+ err = stmt2.Prepare(TheDb, _L("INSERT INTO TempThumbnailInfoData (Data) VALUES (:Data);"));
+ TEST2(err, KErrNone);
+
+ PoulateTempTables(stmt1, stmt2);
+ FlushTemptTables();
+
+ stmt2.Close();
+ stmt1.Close();
+ TheDb.Close();
+
+ TheTest.Printf(_L("==Create database, time=%d microseconds\r\n"), TheCreateDbTime);
+ TheTest.Printf(_L("==Create tables, time=%d microseconds\r\n"), TheCreateTablesTime);
+ TheTest.Printf(_L("==Bind parameters time, time=%d microseconds\r\n"), TheBindParamsTime);
+ TheTest.Printf(_L("==Temp tables, statement exec, time=%d microseconds\r\n"), TheStmtExecTime);
+ TheTest.Printf(_L("==Temp tables, statement reset, time=%d microseconds\r\n"), TheStmtResetTime);
+ TheTest.Printf(_L("==Populate temp tables, time=%d microseconds\r\n"), ThePopulateTempTableTime);
+ TheTest.Printf(_L("==Copy temp tables to main tables, time=%d microseconds\r\n"), TheFlushTime);
+ }
+
+void DoTestsL()
+ {
+ TheTestTitle.Format(_L("@SYMTestCaseID:PDS-SQL-CT-4205 Create database, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Start(TheTestTitle);
+ CreateDb();
+
+ TheTestTitle.Format(_L("@SYMTestCaseID:PDS-SQL-CT-4206 Populate database, encoding: \"%S\", page size: %d\r\n"),
+ TheCmdLineParams.iDbEncoding == TCmdLineParams::EDbUtf16 ? &KUtf16 : &KUtf8, TheCmdLineParams.iPageSize);
+ TheTest.Next(TheTestTitle);
+ PopulateDb();
+
+ (void)RSqlDatabase::Delete(TheDbFileName);
+ }
+
+TInt E32Main()
+ {
+ TheTest.Title();
+
+ CTrapCleanup* tc = CTrapCleanup::New();
+ TheTest(tc != NULL);
+
+ __UHEAP_MARK;
+
+ GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance5"), TheCmdLineParams, TheSqlConfigString);
+ PrepareDbName(KDbName, TheCmdLineParams.iDriveName, TheDbFileName);
+ SetSoftHeapLimit(TheCmdLineParams.iSoftHeapLimitKb);
+
+ TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName);
+
+ TestEnvDestroy();
+ TestEnvInit();
+ TRAPD(err, DoTestsL());
+ TestEnvDestroy();
+ TEST2(err, KErrNone);
+
+ __UHEAP_MARKEND;
+
+ TheTest.End();
+ TheTest.Close();
+
+ delete tc;
+
+ User::Heap().Check();
+ return KErrNone;
+ }
--- a/persistentstorage/sql/TEST/t_sqlprivcage.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlprivcage.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -242,6 +242,9 @@
//Very long private database name
err = db.Create(_L("c:\\private\\21212124\\hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.db"));
TEST2(err, KErrBadName);
+ //Private database name without drive letter
+ err = db.Create(_L("\\private\\21212124\\dbname_no_drive_letter.db"));
+ TEST2(err, KErrBadName);
//Zero length private database name
err = db.Create(_L(""));
TEST2(err, KErrBadName);
@@ -302,10 +305,14 @@
TEST2(err, 1);
db2.Close();
- //Open database 1, attach database 2
+ //Open database 1
RSqlDatabase db;
err = db.Open(KTestDb1);
TEST2(err, KErrNone);
+ //An attempt to attach a database with zero length name
+ err = db.Attach(_L(""), _L("Db2"));
+ TEST2(err, KErrBadName);
+ //Attach database 2
err = db.Attach(KTestDb2, _L("Db2"));
TEST2(err, KErrNone);
@@ -349,6 +356,32 @@
stmt.Close();
db.Close();
+ //Open database 1, attach read-only database 2
+ err = db.Open(KTestDb1);
+ TEST2(err, KErrNone);
+ //Make database 2 read-only.
+ err = TheFs.SetAtt(KTestDb2, KEntryAttReadOnly, 0);
+ TEST2(err, KErrNone);
+ //Attach database 2
+ err = db.Attach(KTestDb2, _L("Db2"));
+ TEST2(err, KErrNone);
+ //
+ err = db.Exec(_L("INSERT INTO Db2.A(ID, T) VALUES(3, 'AAA')"));
+ TPtrC errmsg = db.LastErrorMessage();
+ TheTest.Printf(_L(" === Read-only private attached database. Msg=%S, err=%d\r\n"), &errmsg, err);
+ TEST(err != KErrNone);
+ TSqlScalarFullSelectQuery q(db);
+ TBuf<20> text2;
+ TRAP(err, q.SelectTextL(_L("SELECT T FROM Db2.A WHERE ID=2"), text2));
+ TEST2(err, KErrNone);
+ TEST(text2 == _L("AAA"));
+ //
+ err = db.Detach(_L("Db2"));
+ TEST2(err, KErrNone);
+ err = TheFs.SetAtt(KTestDb2, 0, KEntryAttReadOnly);
+ TEST2(err, KErrNone);
+ db.Close();
+
err = RSqlDatabase::Delete(KTestDb2);
TEST2(err, KErrNone);
err = RSqlDatabase::Delete(KTestDb1);
--- a/persistentstorage/sql/TEST/t_sqlscalarfullselect.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlscalarfullselect.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -321,6 +321,75 @@
DestroyTestDb(db);
}
+/**
+@SYMTestCaseID PDS-SQL-CT-4204
+@SYMTestCaseDesc TSqlScalarFullSelectQuery - border test.
+@SYMTestPriority High
+@SYMTestActions The test checks some border test cases such as:
+ - retrieving NULL column as integer;
+ - retrieving NULL column as 64-bit integer;
+ - retrieving NULL column as TReal;
+ - retrieving column value smaller than KMinTInt, as integer;
+ - retrieving column value bigger than KMaxTInt, as integer;
+@SYMTestExpectedResults Test must not fail
+*/
+void ScalarFullSelectBorderTest()
+ {
+ (void)RSqlDatabase::Delete(KTestDatabase1);
+ RSqlDatabase db;
+ TInt rc = db.Create(KTestDatabase1);
+ TEST2(rc, KErrNone);
+ rc = db.Exec(_L("CREATE TABLE A(F1 INTEGER NULL, F2 INTEGER NULL, F3 FLOAT NULL, F4 TEXT NULL, F5 BLOB NULL)"));
+ TEST(rc >= 0);
+
+ TSqlScalarFullSelectQuery q(db);
+
+ //Insert one record. Bigger than KMaxTInt F1 column value. Smaller than KMinTInt F2 column value.
+ rc = db.Exec(_L("INSERT INTO A(F1,F2,F4) VALUES(5000000000,-5000000000,'aljhsfdlgefberveurfgvefkjgs;kjfgs;kjfsd')"));
+ TEST2(rc, 1);
+ //Select NULL column value as int.
+ TInt res = -1;
+ TRAP(rc, res = q.SelectIntL(_L("SELECT F5 FROM A")));
+ TEST2(rc, KErrNone);
+ TEST2(res, 0);
+ //Select NULL column value as int64.
+ res = -1;
+ TRAP(rc, res = q.SelectInt64L(_L("SELECT F5 FROM A")));
+ TEST2(rc, KErrNone);
+ TEST2(res, 0);
+ //Select NULL column value as TReal.
+ TReal res2 = -1.0;
+ TRAP(rc, res2 = q.SelectRealL(_L("SELECT F5 FROM A")));
+ TEST2(rc, KErrNone);
+ TEST(Abs(res2) < 0.000001);
+ //Select NULL column value as text.
+ TBuf<10> text;
+ TRAP(rc, res = q.SelectTextL(_L("SELECT F5 FROM A"), text));
+ TEST2(rc, KErrNone);
+ TEST2(res, 0);
+ TEST2(text.Length(), 0);
+ //Select NULL column value as binary.
+ TBuf8<10> data;
+ TRAP(rc, res = q.SelectBinaryL(_L("SELECT F5 FROM A"), data));
+ TEST2(rc, KErrNone);
+ TEST2(res, 0);
+ TEST2(data.Length(), 0);
+ //Select column value bigger than KMaxTInt, as int.
+ res = -1;
+ TRAP(rc, res = q.SelectIntL(_L("SELECT F1 FROM A")));
+ TEST2(rc, KErrNone);
+ TEST2(res, KMaxTInt);
+ //Select column value smaller than KMinTInt, as int.
+ res = -1;
+ TRAP(rc, res = q.SelectIntL(_L("SELECT F2 FROM A")));
+ TEST2(rc, KErrNone);
+ TEST2(res, KMinTInt);
+
+ db.Close();
+ (void)RSqlDatabase::Delete(KTestDatabase1);
+ }
+
+
void DoTestsL()
{
TheTest.Start(_L(" @SYMTestCaseID:SYSLIB-SQL-CT-1809 Scalar fullselect test. 16-bit SQL "));
@@ -334,6 +403,9 @@
TheTest.Next(_L(" @SYMTestCaseID:SYSLIB-SQL-CT-1810 Scalar fullselect - negative test. 8-bit SQL "));
ScalarFullSelectNegativeTestL< TBuf8<100> >();
+
+ TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-CT-4204 Scalar fullselect - border cases "));
+ ScalarFullSelectBorderTest();
}
TInt E32Main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sql/TEST/t_sqlsecurity6.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,127 @@
+// Copyright (c) 2010 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 <e32test.h>
+#include <bautils.h>
+#include <sqldb.h>
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+RSqlDatabase TheDb;
+RTest TheTest(_L("t_sqlsecurity6 test"));
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+void DestroyTestEnv()
+ {
+ TheDb.Close();
+ (void)RSqlDatabase::Delete(_L("c:[00009876]"));
+ }
+
+///////////////////////////////////////////////////////////////////////////////////////
+//Test macros and functions
+void Check1(TInt aValue, TInt aLine)
+ {
+ if(!aValue)
+ {
+ DestroyTestEnv();
+ RDebug::Print(_L("*** Boolean expression evaluated to false. Line %d\r\n"), aLine);
+ TheTest(EFalse, aLine);
+ }
+ }
+void Check2(TInt aValue, TInt aExpected, TInt aLine)
+ {
+ if(aValue != aExpected)
+ {
+ DestroyTestEnv();
+ RDebug::Print(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue);
+ TheTest(EFalse, aLine);
+ }
+ }
+#define TEST(arg) ::Check1((arg), __LINE__)
+#define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__)
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+/**
+@SYMTestCaseID PDS-SQL-CT-4199
+@SYMTestCaseDesc Invalid secure database UIDs test.
+@SYMTestPriority High
+@SYMTestActions The test attempts to create a secure database using invalid UIDs:
+ - with length less than 8 hes digits;
+ - with invalid characters in the UID;
+ - wiht database name containing the UID only;
+@SYMTestExpectedResults Test must not fail
+@SYMDEF DEF145236
+*/
+void InvalidSecureUidsTest()
+ {
+ RSqlSecurityPolicy policy;
+ TInt err = policy.Create(TSecurityPolicy::EAlwaysPass);
+ TEST2(err, KErrNone);
+
+ //The UID in the database name is too short. It must be 8 hex digits UID.
+ err = TheDb.Create(_L("c:[9876]t_sqlsecurity6.db"), policy);
+ TEST2(err, KErrArgument);
+
+ //Short UID, used as a database name.
+ err = TheDb.Create(_L("c:[9876]"), policy);
+ TEST2(err, KErrArgument);
+
+ //Invalid UID.
+ err = TheDb.Create(_L("c:[KH0A0Q0J]"), policy);
+ TEST2(err, KErrArgument);
+
+ //UID, used as a database name.
+ err = TheDb.Create(_L("c:[00009876]"), policy);
+ TEST2(err, KErrNone);
+ err = TheDb.Exec(_L("CREATE TABLE A(I INTEGER)"));
+ TEST(err >= 0);
+ TheDb.Close();
+ err = RSqlDatabase::Delete(_L("c:[00009876]"));
+ TEST2(err, KErrNone);
+
+ policy.Close();
+ }
+
+void DoTestsL()
+ {
+ TheTest.Start(_L("@SYMTestCaseID:PDS-SQL-CT-4199 Invalid secure UIDs test"));
+ InvalidSecureUidsTest();
+ }
+
+TInt E32Main()
+ {
+ TheTest.Title();
+
+ CTrapCleanup* tc = CTrapCleanup::New();
+ TheTest(tc != NULL);
+
+ __UHEAP_MARK;
+
+ TRAPD(err, DoTestsL());
+ DestroyTestEnv();
+ TEST2(err, KErrNone);
+
+ __UHEAP_MARKEND;
+
+ TheTest.End();
+ TheTest.Close();
+
+ delete tc;
+
+ User::Heap().Check();
+ return KErrNone;
+ }
--- a/persistentstorage/sql/TEST/t_sqlstartup.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/t_sqlstartup.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -22,6 +22,9 @@
_LIT(KCfgDb1ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup1.db.02"); // config file version 2 for t_sqlstartup1.db
_LIT(KCfgDb2ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup2.db.05"); // config file version 5 for t_sqlstartup2.db
+//This subdir is created by t_sqlenvcreate app. It should not be returned in the list of files for backup.
+_LIT(KPrivateSubDir, "c:\\private\\10281e17\\TestDir.db");
+
///////////////////////////////////////////////////////////////////////////////////////
RTest TheTest(_L("t_sqlstartup test"));
@@ -189,7 +192,18 @@
const TUid KDbUd = {0x98765432};
RArray<TParse> files;
TRAP(err, server->GetBackUpListL(KDbUd, files));
- fileCnt = files.Count();
+ fileCnt = files.Count();
+ if(err == KErrNone)
+ {
+ //No directories should be returned in the list of files for backup
+ for(TInt i=0;i<fileCnt;++i)
+ {
+ const TParse& parse = files[i];
+ TPtrC fname = parse.FullName();
+ TInt rc = KPrivateSubDir().CompareF(parse.FullName());
+ TEST(rc != 0);
+ }
+ }
files.Close();
OomPostStep();
}
@@ -221,7 +235,7 @@
{
TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError);
err = KErrNotFound;
- TInt cnt=1;
+ TInt cnt=0;
while(err<KErrNone)
{
TheTest.Printf(_L("%d "), cnt);
@@ -259,7 +273,7 @@
TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError);
err = KErrNotFound;
TInt fileCnt = 0;
- TInt cnt=1;
+ TInt cnt=0;
while(err<KErrNone)
{
TheTest.Printf(_L("%d "), cnt);
@@ -268,6 +282,17 @@
RArray<TParse> files;
TRAP(err, server->GetBackUpListL(KDbUd, files));
fileCnt = files.Count();
+ if(err == KErrNone)
+ {
+ //No directories should be returned in the list of files for backup
+ for(TInt i=0;i<fileCnt;++i)
+ {
+ const TParse& parse = files[i];
+ TPtrC fname = parse.FullName();
+ TInt rc = KPrivateSubDir().CompareF(parse.FullName());
+ TEST(rc != 0);
+ }
+ }
files.Close();
(void)server->Fs().SetErrorCondition(KErrNone);
if(err != KErrNone)
--- a/persistentstorage/sql/TEST/testexecute/SQLite/config/Configuration.ini Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/testexecute/SQLite/config/Configuration.ini Thu Jul 22 16:49:09 2010 +0100
@@ -26,7 +26,7 @@
Function4=ScalarFullSelect
Method4=SelectIntL
-Result4=1024
+Result4=DEFAULT_SOFT_HEAP_LIMIT
Use_Set4=1
Statement4=PRAGMA cache_size;
Close5=
@@ -214,7 +214,7 @@
Function4=ScalarFullSelect
Method4=SelectIntL
-Result4=1024
+Result4=DEFAULT_SOFT_HEAP_LIMIT
Use_Set4=1
Statement4=PRAGMA cache_size;
@@ -257,7 +257,7 @@
Function5=ScalarFullSelect
Method5=SelectIntL
-Result5=1024
+Result5=DEFAULT_SOFT_HEAP_LIMIT
Use_Set5=1
Statement5=PRAGMA cache_size;
--- a/persistentstorage/sql/TEST/testexecute/SQLite/config/Robustness.ini.DEVBOARD Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/testexecute/SQLite/config/Robustness.ini.DEVBOARD Thu Jul 22 16:49:09 2010 +0100
@@ -19,7 +19,7 @@
NewBlock5=FillDisk150K
NewBlock6=FillDisk100K
-Exec7=Begin Transaction;
+NoOperation7=
// Fill the disk until an out of disk error occurs. Then close the
// database because once it's reported a disk full error all bets are off..
NewBlock8=FillDisk1
@@ -33,12 +33,12 @@
// still be usable.
Open11=E:\Robustness0.db
-// Check the original block is still ok...
-NewBlock12=CheckBlock10-1
-
// Delete the data that we used to fill the disk. This is easy, our 'AddBlock'
// data has 'Someint' values that are negative, the filldisk data is positive.
-Exec13=Delete From Sometable where Someint >= 0;
+Exec12=Delete From Sometable where Someint >= 0;
+
+// Check the original block is still ok...
+NewBlock13=CheckBlock10-1
NewBlock14=AddBlock10-2
NewBlock15=CheckBlock10-2
--- a/persistentstorage/sql/TEST/testexecute/SQLite/config/Robustness.ini.EMULATOR Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/testexecute/SQLite/config/Robustness.ini.EMULATOR Thu Jul 22 16:49:09 2010 +0100
@@ -19,7 +19,7 @@
NewBlock5=FillDisk150K
NewBlock6=FillDisk100K
-Exec7=Begin Transaction;
+NoOperation7=
// Fill the disk until an out of disk error occurs. Then close the
// database because once it's reported a disk full error all bets are off..
NewBlock8=FillDisk1
@@ -33,12 +33,12 @@
// still be usable.
Open11=T:\Robustness0.db
-// Check the original block is still ok...
-NewBlock12=CheckBlock10-1
-
// Delete the data that we used to fill the disk. This is easy, our 'AddBlock'
// data has 'Someint' values that are negative, the filldisk data is positive.
-Exec13=Delete From Sometable where Someint >= 0;
+Exec12=Delete From Sometable where Someint >= 0;
+
+// Check the original block is still ok...
+NewBlock13=CheckBlock10-1
NewBlock14=AddBlock10-2
NewBlock15=CheckBlock10-2
--- a/persistentstorage/sql/TEST/testexecute/SQLite/src/cdtest.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sql/TEST/testexecute/SQLite/src/cdtest.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -18,6 +18,13 @@
#include "common.h"
#include<bautils.h>
+//Constants taken from SqlSrvConfig.h
+#ifdef __WINSCW__
+ const TInt KDefaultSoftHeapLimitKb = 1024;
+#else
+ const TInt KDefaultSoftHeapLimitKb = 8192;
+#endif
+
// Includes any code required for 'Code-Driven' testing, generally tests
// that cannot be data-driven (or not completely).
@@ -476,8 +483,17 @@
actual = asfs->SelectIntL(stmt8);
else
actual = asfs->SelectIntL(stmt);
+
TInt expected;
- conv.Val(expected);
+ if (res.CompareF(_L("DEFAULT_SOFT_HEAP_LIMIT")) == 0)
+ {
+ expected = KDefaultSoftHeapLimitKb;
+ }
+ else
+ {
+ conv.Val(expected);
+ }
+
if( actual != expected )
{
SetTestStepResult(EFail);
--- a/persistentstorage/sqlite3api/GROUP/BLD.INF Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/GROUP/BLD.INF Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -33,9 +33,414 @@
PRJ_TESTEXPORTS
-../GROUP/sqlite3tests.iby /epoc32/rom/include/sqlite3tests.iby
-../GROUP/sqlite3tests.bat /epoc32/data/z/system/test/sqlite3tests.bat
-../GROUP/config.ini /epoc32/data/z/system/test/config.ini
+../GROUP/sqlite3tests.iby /epoc32/rom/include/sqlite3tests.iby
+../GROUP/sqlite3tests.bat z:/test/sqlite3tests.bat
+../GROUP/config.ini z:/test/config.ini
+
+../TEST/TclScript/speed1p.explain z:/private/10285A82/speed1p.explain
+../TEST/TclScript/speed4p.explain z:/private/10285A82/speed4p.explain
+../TEST/TclScript/fuzz_common.tcl z:/private/10285A82/fuzz_common.tcl
+../TEST/TclScript/malloc_common.tcl z:/private/10285A82/malloc_common.tcl
+../TEST/TclScript/tester.tcl z:/private/10285A82/tester.tcl
+../TEST/TclScript/thread_common.tcl z:/private/10285A82/thread_common.tcl
+../TEST/TclScript/trans2.test.gz z:/private/10285A82/trans2.test.gz
+../TEST/TclScript/aggerror.test z:/private/10285A82/aggerror.test
+../TEST/TclScript/alias.test z:/private/10285A82/alias.test
+../TEST/TclScript/all.test z:/private/10285A82/all.test
+../TEST/TclScript/alter.test z:/private/10285A82/alter.test
+../TEST/TclScript/alter2.test z:/private/10285A82/alter2.test
+../TEST/TclScript/alter3.test z:/private/10285A82/alter3.test
+../TEST/TclScript/altermalloc.test z:/private/10285A82/altermalloc.test
+../TEST/TclScript/analyze.test z:/private/10285A82/analyze.test
+../TEST/TclScript/async.test z:/private/10285A82/async.test
+../TEST/TclScript/async2.test z:/private/10285A82/async2.test
+../TEST/TclScript/async3.test z:/private/10285A82/async3.test
+../TEST/TclScript/attach.test z:/private/10285A82/attach.test
+../TEST/TclScript/attach2.test z:/private/10285A82/attach2.test
+../TEST/TclScript/attach3.test z:/private/10285A82/attach3.test
+../TEST/TclScript/attachmalloc.test z:/private/10285A82/attachmalloc.test
+../TEST/TclScript/auth.test z:/private/10285A82/auth.test
+../TEST/TclScript/auth2.test z:/private/10285A82/auth2.test
+../TEST/TclScript/autoinc.test z:/private/10285A82/autoinc.test
+../TEST/TclScript/autovacuum.test z:/private/10285A82/autovacuum.test
+../TEST/TclScript/autovacuum_ioerr2.test z:/private/10285A82/autovacuum_ioerr2.test
+../TEST/TclScript/avtrans.test z:/private/10285A82/avtrans.test
+../TEST/TclScript/badutf.test z:/private/10285A82/badutf.test
+../TEST/TclScript/between.test z:/private/10285A82/between.test
+../TEST/TclScript/bigfile.test z:/private/10285A82/bigfile.test
+../TEST/TclScript/bigrow.test z:/private/10285A82/bigrow.test
+../TEST/TclScript/bind.test z:/private/10285A82/bind.test
+../TEST/TclScript/bindxfer.test z:/private/10285A82/bindxfer.test
+../TEST/TclScript/bitvec.test z:/private/10285A82/bitvec.test
+../TEST/TclScript/blob.test z:/private/10285A82/blob.test
+../TEST/TclScript/busy.test z:/private/10285A82/busy.test
+../TEST/TclScript/cache.test z:/private/10285A82/cache.test
+../TEST/TclScript/capi2.test z:/private/10285A82/capi2.test
+../TEST/TclScript/capi3.test z:/private/10285A82/capi3.test
+../TEST/TclScript/capi3b.test z:/private/10285A82/capi3b.test
+../TEST/TclScript/capi3c.test z:/private/10285A82/capi3c.test
+../TEST/TclScript/capi3d.test z:/private/10285A82/capi3d.test
+../TEST/TclScript/cast.test z:/private/10285A82/cast.test
+../TEST/TclScript/check.test z:/private/10285A82/check.test
+../TEST/TclScript/collate1.test z:/private/10285A82/collate1.test
+../TEST/TclScript/collate2.test z:/private/10285A82/collate2.test
+../TEST/TclScript/collate3.test z:/private/10285A82/collate3.test
+../TEST/TclScript/collate4.test z:/private/10285A82/collate4.test
+../TEST/TclScript/collate5.test z:/private/10285A82/collate5.test
+../TEST/TclScript/collate6.test z:/private/10285A82/collate6.test
+../TEST/TclScript/collate7.test z:/private/10285A82/collate7.test
+../TEST/TclScript/collate8.test z:/private/10285A82/collate8.test
+../TEST/TclScript/collate9.test z:/private/10285A82/collate9.test
+../TEST/TclScript/collateA.test z:/private/10285A82/collateA.test
+../TEST/TclScript/colmeta.test z:/private/10285A82/colmeta.test
+../TEST/TclScript/colname.test z:/private/10285A82/colname.test
+../TEST/TclScript/conflict.test z:/private/10285A82/conflict.test
+../TEST/TclScript/corrupt.test z:/private/10285A82/corrupt.test
+../TEST/TclScript/corrupt2.test z:/private/10285A82/corrupt2.test
+../TEST/TclScript/corrupt3.test z:/private/10285A82/corrupt3.test
+../TEST/TclScript/corrupt4.test z:/private/10285A82/corrupt4.test
+../TEST/TclScript/corrupt5.test z:/private/10285A82/corrupt5.test
+../TEST/TclScript/corrupt6.test z:/private/10285A82/corrupt6.test
+../TEST/TclScript/corrupt7.test z:/private/10285A82/corrupt7.test
+../TEST/TclScript/corrupt8.test z:/private/10285A82/corrupt8.test
+../TEST/TclScript/corrupt9.test z:/private/10285A82/corrupt9.test
+../TEST/TclScript/corruptA.test z:/private/10285A82/corruptA.test
+../TEST/TclScript/crash.test z:/private/10285A82/crash.test
+../TEST/TclScript/crash2.test z:/private/10285A82/crash2.test
+../TEST/TclScript/crash3.test z:/private/10285A82/crash3.test
+../TEST/TclScript/crash4.test z:/private/10285A82/crash4.test
+../TEST/TclScript/crash5.test z:/private/10285A82/crash5.test
+../TEST/TclScript/crash6.test z:/private/10285A82/crash6.test
+../TEST/TclScript/crash7.test z:/private/10285A82/crash7.test
+../TEST/TclScript/createtab.test z:/private/10285A82/createtab.test
+../TEST/TclScript/cse.test z:/private/10285A82/cse.test
+../TEST/TclScript/date.test z:/private/10285A82/date.test
+../TEST/TclScript/default.test z:/private/10285A82/default.test
+../TEST/TclScript/delete.test z:/private/10285A82/delete.test
+../TEST/TclScript/delete2.test z:/private/10285A82/delete2.test
+../TEST/TclScript/delete3.test z:/private/10285A82/delete3.test
+../TEST/TclScript/descidx1.test z:/private/10285A82/descidx1.test
+../TEST/TclScript/descidx2.test z:/private/10285A82/descidx2.test
+../TEST/TclScript/descidx3.test z:/private/10285A82/descidx3.test
+../TEST/TclScript/diskfull.test z:/private/10285A82/diskfull.test
+../TEST/TclScript/distinctagg.test z:/private/10285A82/distinctagg.test
+../TEST/TclScript/enc.test z:/private/10285A82/enc.test
+../TEST/TclScript/enc2.test z:/private/10285A82/enc2.test
+../TEST/TclScript/enc3.test z:/private/10285A82/enc3.test
+../TEST/TclScript/eval.test z:/private/10285A82/eval.test
+../TEST/TclScript/exclusive.test z:/private/10285A82/exclusive.test
+../TEST/TclScript/exclusive2.test z:/private/10285A82/exclusive2.test
+../TEST/TclScript/exec.test z:/private/10285A82/exec.test
+../TEST/TclScript/expr.test z:/private/10285A82/expr.test
+../TEST/TclScript/filectrl.test z:/private/10285A82/filectrl.test
+../TEST/TclScript/filefmt.test z:/private/10285A82/filefmt.test
+../TEST/TclScript/fkey1.test z:/private/10285A82/fkey1.test
+../TEST/TclScript/format4.test z:/private/10285A82/format4.test
+../TEST/TclScript/fts1a.test z:/private/10285A82/fts1a.test
+../TEST/TclScript/fts1b.test z:/private/10285A82/fts1b.test
+../TEST/TclScript/fts1c.test z:/private/10285A82/fts1c.test
+../TEST/TclScript/fts1d.test z:/private/10285A82/fts1d.test
+../TEST/TclScript/fts1e.test z:/private/10285A82/fts1e.test
+../TEST/TclScript/fts1f.test z:/private/10285A82/fts1f.test
+../TEST/TclScript/fts1i.test z:/private/10285A82/fts1i.test
+../TEST/TclScript/fts1j.test z:/private/10285A82/fts1j.test
+../TEST/TclScript/fts1k.test z:/private/10285A82/fts1k.test
+../TEST/TclScript/fts1l.test z:/private/10285A82/fts1l.test
+../TEST/TclScript/fts1m.test z:/private/10285A82/fts1m.test
+../TEST/TclScript/fts1n.test z:/private/10285A82/fts1n.test
+../TEST/TclScript/fts1o.test z:/private/10285A82/fts1o.test
+../TEST/TclScript/fts1porter.test z:/private/10285A82/fts1porter.test
+../TEST/TclScript/fts2.test z:/private/10285A82/fts2.test
+../TEST/TclScript/fts2a.test z:/private/10285A82/fts2a.test
+../TEST/TclScript/fts2b.test z:/private/10285A82/fts2b.test
+../TEST/TclScript/fts2c.test z:/private/10285A82/fts2c.test
+../TEST/TclScript/fts2d.test z:/private/10285A82/fts2d.test
+../TEST/TclScript/fts2e.test z:/private/10285A82/fts2e.test
+../TEST/TclScript/fts2f.test z:/private/10285A82/fts2f.test
+../TEST/TclScript/fts2g.test z:/private/10285A82/fts2g.test
+../TEST/TclScript/fts2h.test z:/private/10285A82/fts2h.test
+../TEST/TclScript/fts2i.test z:/private/10285A82/fts2i.test
+../TEST/TclScript/fts2j.test z:/private/10285A82/fts2j.test
+../TEST/TclScript/fts2k.test z:/private/10285A82/fts2k.test
+../TEST/TclScript/fts2l.test z:/private/10285A82/fts2l.test
+../TEST/TclScript/fts2m.test z:/private/10285A82/fts2m.test
+../TEST/TclScript/fts2n.test z:/private/10285A82/fts2n.test
+../TEST/TclScript/fts2o.test z:/private/10285A82/fts2o.test
+../TEST/TclScript/fts2p.test z:/private/10285A82/fts2p.test
+../TEST/TclScript/fts2q.test z:/private/10285A82/fts2q.test
+../TEST/TclScript/fts2r.test z:/private/10285A82/fts2r.test
+../TEST/TclScript/fts2token.test z:/private/10285A82/fts2token.test
+../TEST/TclScript/fts3.test z:/private/10285A82/fts3.test
+../TEST/TclScript/fts3aa.test z:/private/10285A82/fts3aa.test
+../TEST/TclScript/fts3ab.test z:/private/10285A82/fts3ab.test
+../TEST/TclScript/fts3ac.test z:/private/10285A82/fts3ac.test
+../TEST/TclScript/fts3ad.test z:/private/10285A82/fts3ad.test
+../TEST/TclScript/fts3ae.test z:/private/10285A82/fts3ae.test
+../TEST/TclScript/fts3af.test z:/private/10285A82/fts3af.test
+../TEST/TclScript/fts3ag.test z:/private/10285A82/fts3ag.test
+../TEST/TclScript/fts3ah.test z:/private/10285A82/fts3ah.test
+../TEST/TclScript/fts3ai.test z:/private/10285A82/fts3ai.test
+../TEST/TclScript/fts3aj.test z:/private/10285A82/fts3aj.test
+../TEST/TclScript/fts3ak.test z:/private/10285A82/fts3ak.test
+../TEST/TclScript/fts3al.test z:/private/10285A82/fts3al.test
+../TEST/TclScript/fts3am.test z:/private/10285A82/fts3am.test
+../TEST/TclScript/fts3an.test z:/private/10285A82/fts3an.test
+../TEST/TclScript/fts3ao.test z:/private/10285A82/fts3ao.test
+../TEST/TclScript/fts3atoken.test z:/private/10285A82/fts3atoken.test
+../TEST/TclScript/fts3b.test z:/private/10285A82/fts3b.test
+../TEST/TclScript/fts3c.test z:/private/10285A82/fts3c.test
+../TEST/TclScript/fts3d.test z:/private/10285A82/fts3d.test
+../TEST/TclScript/fts3e.test z:/private/10285A82/fts3e.test
+../TEST/TclScript/fts3near.test z:/private/10285A82/fts3near.test
+../TEST/TclScript/func.test z:/private/10285A82/func.test
+../TEST/TclScript/fuzz.test z:/private/10285A82/fuzz.test
+../TEST/TclScript/fuzz2.test z:/private/10285A82/fuzz2.test
+../TEST/TclScript/fuzz_malloc.test z:/private/10285A82/fuzz_malloc.test
+../TEST/TclScript/hook.test z:/private/10285A82/hook.test
+../TEST/TclScript/icu.test z:/private/10285A82/icu.test
+../TEST/TclScript/in.test z:/private/10285A82/in.test
+../TEST/TclScript/in2.test z:/private/10285A82/in2.test
+../TEST/TclScript/in3.test z:/private/10285A82/in3.test
+../TEST/TclScript/incrblob.test z:/private/10285A82/incrblob.test
+../TEST/TclScript/incrblob2.test z:/private/10285A82/incrblob2.test
+../TEST/TclScript/incrblob_err.test z:/private/10285A82/incrblob_err.test
+../TEST/TclScript/incrvacuum.test z:/private/10285A82/incrvacuum.test
+../TEST/TclScript/incrvacuum2.test z:/private/10285A82/incrvacuum2.test
+../TEST/TclScript/incrvacuum_ioerr.test z:/private/10285A82/incrvacuum_ioerr.test
+../TEST/TclScript/index.test z:/private/10285A82/index.test
+../TEST/TclScript/index2.test z:/private/10285A82/index2.test
+../TEST/TclScript/index3.test z:/private/10285A82/index3.test
+../TEST/TclScript/insert.test z:/private/10285A82/insert.test
+../TEST/TclScript/insert2.test z:/private/10285A82/insert2.test
+../TEST/TclScript/insert3.test z:/private/10285A82/insert3.test
+../TEST/TclScript/insert4.test z:/private/10285A82/insert4.test
+../TEST/TclScript/insert5.test z:/private/10285A82/insert5.test
+../TEST/TclScript/interrupt.test z:/private/10285A82/interrupt.test
+../TEST/TclScript/intpkey.test z:/private/10285A82/intpkey.test
+../TEST/TclScript/io.test z:/private/10285A82/io.test
+../TEST/TclScript/ioerr.test z:/private/10285A82/ioerr.test
+../TEST/TclScript/ioerr2.test z:/private/10285A82/ioerr2.test
+../TEST/TclScript/ioerr3.test z:/private/10285A82/ioerr3.test
+../TEST/TclScript/ioerr4.test z:/private/10285A82/ioerr4.test
+../TEST/TclScript/ioerr5.test z:/private/10285A82/ioerr5.test
+../TEST/TclScript/join.test z:/private/10285A82/join.test
+../TEST/TclScript/join2.test z:/private/10285A82/join2.test
+../TEST/TclScript/join3.test z:/private/10285A82/join3.test
+../TEST/TclScript/join4.test z:/private/10285A82/join4.test
+../TEST/TclScript/join5.test z:/private/10285A82/join5.test
+../TEST/TclScript/journal1.test z:/private/10285A82/journal1.test
+../TEST/TclScript/jrnlmode.test z:/private/10285A82/jrnlmode.test
+../TEST/TclScript/lastinsert.test z:/private/10285A82/lastinsert.test
+../TEST/TclScript/laststmtchanges.test z:/private/10285A82/laststmtchanges.test
+../TEST/TclScript/like.test z:/private/10285A82/like.test
+../TEST/TclScript/like2.test z:/private/10285A82/like2.test
+../TEST/TclScript/limit.test z:/private/10285A82/limit.test
+../TEST/TclScript/loadext.test z:/private/10285A82/loadext.test
+../TEST/TclScript/loadext2.test z:/private/10285A82/loadext2.test
+../TEST/TclScript/lock.test z:/private/10285A82/lock.test
+../TEST/TclScript/lock2.test z:/private/10285A82/lock2.test
+../TEST/TclScript/lock3.test z:/private/10285A82/lock3.test
+../TEST/TclScript/lock4.test z:/private/10285A82/lock4.test
+../TEST/TclScript/lock5.test z:/private/10285A82/lock5.test
+../TEST/TclScript/lookaside.test z:/private/10285A82/lookaside.test
+../TEST/TclScript/main.test z:/private/10285A82/main.test
+../TEST/TclScript/malloc.test z:/private/10285A82/malloc.test
+../TEST/TclScript/malloc3.test z:/private/10285A82/malloc3.test
+../TEST/TclScript/malloc4.test z:/private/10285A82/malloc4.test
+../TEST/TclScript/malloc5.test z:/private/10285A82/malloc5.test
+../TEST/TclScript/malloc6.test z:/private/10285A82/malloc6.test
+../TEST/TclScript/malloc7.test z:/private/10285A82/malloc7.test
+../TEST/TclScript/malloc8.test z:/private/10285A82/malloc8.test
+../TEST/TclScript/malloc9.test z:/private/10285A82/malloc9.test
+../TEST/TclScript/mallocA.test z:/private/10285A82/mallocA.test
+../TEST/TclScript/mallocAll.test z:/private/10285A82/mallocAll.test
+../TEST/TclScript/mallocB.test z:/private/10285A82/mallocB.test
+../TEST/TclScript/mallocC.test z:/private/10285A82/mallocC.test
+../TEST/TclScript/mallocD.test z:/private/10285A82/mallocD.test
+../TEST/TclScript/mallocE.test z:/private/10285A82/mallocE.test
+../TEST/TclScript/mallocF.test z:/private/10285A82/mallocF.test
+../TEST/TclScript/mallocG.test z:/private/10285A82/mallocG.test
+../TEST/TclScript/mallocH.test z:/private/10285A82/mallocH.test
+../TEST/TclScript/mallocI.test z:/private/10285A82/mallocI.test
+../TEST/TclScript/manydb.test z:/private/10285A82/manydb.test
+../TEST/TclScript/memdb.test z:/private/10285A82/memdb.test
+../TEST/TclScript/memleak.test z:/private/10285A82/memleak.test
+../TEST/TclScript/memsubsys1.test z:/private/10285A82/memsubsys1.test
+../TEST/TclScript/memsubsys2.test z:/private/10285A82/memsubsys2.test
+../TEST/TclScript/minmax.test z:/private/10285A82/minmax.test
+../TEST/TclScript/minmax2.test z:/private/10285A82/minmax2.test
+../TEST/TclScript/minmax3.test z:/private/10285A82/minmax3.test
+../TEST/TclScript/misc1.test z:/private/10285A82/misc1.test
+../TEST/TclScript/misc2.test z:/private/10285A82/misc2.test
+../TEST/TclScript/misc3.test z:/private/10285A82/misc3.test
+../TEST/TclScript/misc4.test z:/private/10285A82/misc4.test
+../TEST/TclScript/misc5.test z:/private/10285A82/misc5.test
+../TEST/TclScript/misc6.test z:/private/10285A82/misc6.test
+../TEST/TclScript/misc7.test z:/private/10285A82/misc7.test
+../TEST/TclScript/misuse.test z:/private/10285A82/misuse.test
+../TEST/TclScript/mutex1.test z:/private/10285A82/mutex1.test
+../TEST/TclScript/mutex2.test z:/private/10285A82/mutex2.test
+../TEST/TclScript/nan.test z:/private/10285A82/nan.test
+../TEST/TclScript/notnull.test z:/private/10285A82/notnull.test
+../TEST/TclScript/null.test z:/private/10285A82/null.test
+../TEST/TclScript/openv2.test z:/private/10285A82/openv2.test
+../TEST/TclScript/pager.test z:/private/10285A82/pager.test
+../TEST/TclScript/pager2.test z:/private/10285A82/pager2.test
+../TEST/TclScript/pager3.test z:/private/10285A82/pager3.test
+../TEST/TclScript/pageropt.test z:/private/10285A82/pageropt.test
+../TEST/TclScript/pagesize.test z:/private/10285A82/pagesize.test
+../TEST/TclScript/pcache.test z:/private/10285A82/pcache.test
+../TEST/TclScript/permutations.test z:/private/10285A82/permutations.test
+../TEST/TclScript/pragma.test z:/private/10285A82/pragma.test
+../TEST/TclScript/pragma2.test z:/private/10285A82/pragma2.test
+../TEST/TclScript/printf.test z:/private/10285A82/printf.test
+../TEST/TclScript/progress.test z:/private/10285A82/progress.test
+../TEST/TclScript/ptrchng.test z:/private/10285A82/ptrchng.test
+../TEST/TclScript/quick.test z:/private/10285A82/quick.test
+../TEST/TclScript/quote.test z:/private/10285A82/quote.test
+../TEST/TclScript/rdonly.test z:/private/10285A82/rdonly.test
+../TEST/TclScript/reindex.test z:/private/10285A82/reindex.test
+../TEST/TclScript/rollback.test z:/private/10285A82/rollback.test
+../TEST/TclScript/rowid.test z:/private/10285A82/rowid.test
+../TEST/TclScript/rtree.test z:/private/10285A82/rtree.test
+../TEST/TclScript/safety.test z:/private/10285A82/safety.test
+../TEST/TclScript/schema.test z:/private/10285A82/schema.test
+../TEST/TclScript/schema2.test z:/private/10285A82/schema2.test
+../TEST/TclScript/select1.test z:/private/10285A82/select1.test
+../TEST/TclScript/select2.test z:/private/10285A82/select2.test
+../TEST/TclScript/select3.test z:/private/10285A82/select3.test
+../TEST/TclScript/select4.test z:/private/10285A82/select4.test
+../TEST/TclScript/select5.test z:/private/10285A82/select5.test
+../TEST/TclScript/select6.test z:/private/10285A82/select6.test
+../TEST/TclScript/select7.test z:/private/10285A82/select7.test
+../TEST/TclScript/select8.test z:/private/10285A82/select8.test
+../TEST/TclScript/select9.test z:/private/10285A82/select9.test
+../TEST/TclScript/selectA.test z:/private/10285A82/selectA.test
+../TEST/TclScript/selectB.test z:/private/10285A82/selectB.test
+../TEST/TclScript/server1.test z:/private/10285A82/server1.test
+../TEST/TclScript/shared.test z:/private/10285A82/shared.test
+../TEST/TclScript/shared2.test z:/private/10285A82/shared2.test
+../TEST/TclScript/shared3.test z:/private/10285A82/shared3.test
+../TEST/TclScript/shared4.test z:/private/10285A82/shared4.test
+../TEST/TclScript/shared_err.test z:/private/10285A82/shared_err.test
+../TEST/TclScript/shortread1.test z:/private/10285A82/shortread1.test
+../TEST/TclScript/sidedelete.test z:/private/10285A82/sidedelete.test
+../TEST/TclScript/soak.test z:/private/10285A82/soak.test
+../TEST/TclScript/softheap1.test z:/private/10285A82/softheap1.test
+../TEST/TclScript/sort.test z:/private/10285A82/sort.test
+../TEST/TclScript/speed1.test z:/private/10285A82/speed1.test
+../TEST/TclScript/speed1p.test z:/private/10285A82/speed1p.test
+../TEST/TclScript/speed2.test z:/private/10285A82/speed2.test
+../TEST/TclScript/speed3.test z:/private/10285A82/speed3.test
+../TEST/TclScript/speed4.test z:/private/10285A82/speed4.test
+../TEST/TclScript/speed4p.test z:/private/10285A82/speed4p.test
+../TEST/TclScript/sqllimits1.test z:/private/10285A82/sqllimits1.test
+../TEST/TclScript/subquery.test z:/private/10285A82/subquery.test
+../TEST/TclScript/subselect.test z:/private/10285A82/subselect.test
+../TEST/TclScript/substr.test z:/private/10285A82/substr.test
+../TEST/TclScript/sync.test z:/private/10285A82/sync.test
+../TEST/TclScript/table.test z:/private/10285A82/table.test
+../TEST/TclScript/tableapi.test z:/private/10285A82/tableapi.test
+../TEST/TclScript/tclsqlite.test z:/private/10285A82/tclsqlite.test
+../TEST/TclScript/tempdb.test z:/private/10285A82/tempdb.test
+../TEST/TclScript/temptable.test z:/private/10285A82/temptable.test
+../TEST/TclScript/thread001.test z:/private/10285A82/thread001.test
+../TEST/TclScript/thread002.test z:/private/10285A82/thread002.test
+../TEST/TclScript/thread003.test z:/private/10285A82/thread003.test
+../TEST/TclScript/thread1.test z:/private/10285A82/thread1.test
+../TEST/TclScript/thread2.test z:/private/10285A82/thread2.test
+../TEST/TclScript/tkt1435.test z:/private/10285A82/tkt1435.test
+../TEST/TclScript/tkt1443.test z:/private/10285A82/tkt1443.test
+../TEST/TclScript/tkt1444.test z:/private/10285A82/tkt1444.test
+../TEST/TclScript/tkt1449.test z:/private/10285A82/tkt1449.test
+../TEST/TclScript/tkt1473.test z:/private/10285A82/tkt1473.test
+../TEST/TclScript/tkt1501.test z:/private/10285A82/tkt1501.test
+../TEST/TclScript/tkt1512.test z:/private/10285A82/tkt1512.test
+../TEST/TclScript/tkt1514.test z:/private/10285A82/tkt1514.test
+../TEST/TclScript/tkt1536.test z:/private/10285A82/tkt1536.test
+../TEST/TclScript/tkt1537.test z:/private/10285A82/tkt1537.test
+../TEST/TclScript/tkt1567.test z:/private/10285A82/tkt1567.test
+../TEST/TclScript/tkt1644.test z:/private/10285A82/tkt1644.test
+../TEST/TclScript/tkt1667.test z:/private/10285A82/tkt1667.test
+../TEST/TclScript/tkt1873.test z:/private/10285A82/tkt1873.test
+../TEST/TclScript/tkt2141.test z:/private/10285A82/tkt2141.test
+../TEST/TclScript/tkt2192.test z:/private/10285A82/tkt2192.test
+../TEST/TclScript/tkt2213.test z:/private/10285A82/tkt2213.test
+../TEST/TclScript/tkt2251.test z:/private/10285A82/tkt2251.test
+../TEST/TclScript/tkt2285.test z:/private/10285A82/tkt2285.test
+../TEST/TclScript/tkt2332.test z:/private/10285A82/tkt2332.test
+../TEST/TclScript/tkt2339.test z:/private/10285A82/tkt2339.test
+../TEST/TclScript/tkt2391.test z:/private/10285A82/tkt2391.test
+../TEST/TclScript/tkt2409.test z:/private/10285A82/tkt2409.test
+../TEST/TclScript/tkt2450.test z:/private/10285A82/tkt2450.test
+../TEST/TclScript/tkt2640.test z:/private/10285A82/tkt2640.test
+../TEST/TclScript/tkt2643.test z:/private/10285A82/tkt2643.test
+../TEST/TclScript/tkt2686.test z:/private/10285A82/tkt2686.test
+../TEST/TclScript/tkt2767.test z:/private/10285A82/tkt2767.test
+../TEST/TclScript/tkt2817.test z:/private/10285A82/tkt2817.test
+../TEST/TclScript/tkt2820.test z:/private/10285A82/tkt2820.test
+../TEST/TclScript/tkt2822.test z:/private/10285A82/tkt2822.test
+../TEST/TclScript/tkt2832.test z:/private/10285A82/tkt2832.test
+../TEST/TclScript/tkt2854.test z:/private/10285A82/tkt2854.test
+../TEST/TclScript/tkt2920.test z:/private/10285A82/tkt2920.test
+../TEST/TclScript/tkt2927.test z:/private/10285A82/tkt2927.test
+../TEST/TclScript/tkt2942.test z:/private/10285A82/tkt2942.test
+../TEST/TclScript/tkt3080.test z:/private/10285A82/tkt3080.test
+../TEST/TclScript/tkt3093.test z:/private/10285A82/tkt3093.test
+../TEST/TclScript/tkt3121.test z:/private/10285A82/tkt3121.test
+../TEST/TclScript/tkt3201.test z:/private/10285A82/tkt3201.test
+../TEST/TclScript/tkt3292.test z:/private/10285A82/tkt3292.test
+../TEST/TclScript/tkt3298.test z:/private/10285A82/tkt3298.test
+../TEST/TclScript/tkt3334.test z:/private/10285A82/tkt3334.test
+../TEST/TclScript/tokenize.test z:/private/10285A82/tokenize.test
+../TEST/TclScript/trace.test z:/private/10285A82/trace.test
+../TEST/TclScript/trans.test z:/private/10285A82/trans.test
+../TEST/TclScript/trans2.test z:/private/10285A82/trans2.test
+../TEST/TclScript/trigger1.test z:/private/10285A82/trigger1.test
+../TEST/TclScript/trigger2.test z:/private/10285A82/trigger2.test
+../TEST/TclScript/trigger3.test z:/private/10285A82/trigger3.test
+../TEST/TclScript/trigger4.test z:/private/10285A82/trigger4.test
+../TEST/TclScript/trigger5.test z:/private/10285A82/trigger5.test
+../TEST/TclScript/trigger6.test z:/private/10285A82/trigger6.test
+../TEST/TclScript/trigger7.test z:/private/10285A82/trigger7.test
+../TEST/TclScript/trigger8.test z:/private/10285A82/trigger8.test
+../TEST/TclScript/trigger9.test z:/private/10285A82/trigger9.test
+../TEST/TclScript/triggerA.test z:/private/10285A82/triggerA.test
+../TEST/TclScript/triggerB.test z:/private/10285A82/triggerB.test
+../TEST/TclScript/types.test z:/private/10285A82/types.test
+../TEST/TclScript/types2.test z:/private/10285A82/types2.test
+../TEST/TclScript/types3.test z:/private/10285A82/types3.test
+../TEST/TclScript/unique.test z:/private/10285A82/unique.test
+../TEST/TclScript/update.test z:/private/10285A82/update.test
+../TEST/TclScript/utf16align.test z:/private/10285A82/utf16align.test
+../TEST/TclScript/vacuum.test z:/private/10285A82/vacuum.test
+../TEST/TclScript/vacuum2.test z:/private/10285A82/vacuum2.test
+../TEST/TclScript/vacuum3.test z:/private/10285A82/vacuum3.test
+../TEST/TclScript/varint.test z:/private/10285A82/varint.test
+../TEST/TclScript/veryquick.test z:/private/10285A82/veryquick.test
+../TEST/TclScript/view.test z:/private/10285A82/view.test
+../TEST/TclScript/vtab1.test z:/private/10285A82/vtab1.test
+../TEST/TclScript/vtab2.test z:/private/10285A82/vtab2.test
+../TEST/TclScript/vtab3.test z:/private/10285A82/vtab3.test
+../TEST/TclScript/vtab4.test z:/private/10285A82/vtab4.test
+../TEST/TclScript/vtab5.test z:/private/10285A82/vtab5.test
+../TEST/TclScript/vtab6.test z:/private/10285A82/vtab6.test
+../TEST/TclScript/vtab7.test z:/private/10285A82/vtab7.test
+../TEST/TclScript/vtab8.test z:/private/10285A82/vtab8.test
+../TEST/TclScript/vtab9.test z:/private/10285A82/vtab9.test
+../TEST/TclScript/vtabA.test z:/private/10285A82/vtabA.test
+../TEST/TclScript/vtabB.test z:/private/10285A82/vtabB.test
+../TEST/TclScript/vtabC.test z:/private/10285A82/vtabC.test
+../TEST/TclScript/vtab_alter.test z:/private/10285A82/vtab_alter.test
+../TEST/TclScript/vtab_err.test z:/private/10285A82/vtab_err.test
+../TEST/TclScript/vtab_shared.test z:/private/10285A82/vtab_shared.test
+../TEST/TclScript/where.test z:/private/10285A82/where.test
+../TEST/TclScript/where2.test z:/private/10285A82/where2.test
+../TEST/TclScript/where3.test z:/private/10285A82/where3.test
+../TEST/TclScript/where4.test z:/private/10285A82/where4.test
+../TEST/TclScript/where5.test z:/private/10285A82/where5.test
+../TEST/TclScript/where6.test z:/private/10285A82/where6.test
+../TEST/TclScript/zeroblob.test z:/private/10285A82/zeroblob.test
PRJ_TESTMMPFILES
@@ -52,8 +457,3 @@
../GROUP/t_sqliteperf2.mmp
../GROUP/t_sqlitedef.mmp
../GROUP/t_sqlitedb64.mmp manual
-
-
-PRJ_TESTEXTENSIONS
-start extension syslibs/test/sqlite3_copysqlite3testfiles
-end
--- a/persistentstorage/sqlite3api/GROUP/sqlite3tests.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/GROUP/sqlite3tests.iby Thu Jul 22 16:49:09 2010 +0100
@@ -20,6 +20,8 @@
REM SQLITE3
+#include <sqlite3.iby>
+
#ifndef __STDIOSERVER_EXE__
#define __STDIOSERVER_EXE__
file=ABI_DIR\BUILD_DIR\StdioServer.exe sys\bin\StdioServer.exe
@@ -27,10 +29,10 @@
#ifndef __TCLSQLITE3_CONFIG_INI__
#define __TCLSQLITE3_CONFIG_INI__
-data=ZSYSTEM\test\config.ini system\data\config.ini
+data=DATAZ_\test\config.ini system\data\config.ini
#endif
-data=ZSYSTEM\test\sqlite3Tests.bat \TEST\sqlite3Tests.bat
+data=DATAZ_\test\sqlite3Tests.bat \TEST\sqlite3Tests.bat
data=ZPRIVATE\10285A82\speed1p.explain \PRIVATE\10285A82\speed1p.explain
data=ZPRIVATE\10285A82\speed4p.explain \PRIVATE\10285A82\speed4p.explain
--- a/persistentstorage/sqlite3api/SQLite/fts1.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/SQLite/fts1.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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 "sqlite3.h"
#ifdef __cplusplus
--- a/persistentstorage/sqlite3api/SQLite/parse.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/SQLite/parse.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#define TK_SEMI 1
#define TK_EXPLAIN 2
#define TK_QUERY 3
--- a/persistentstorage/sqlite3api/SQLite/printf.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/SQLite/printf.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
** The "printf" code that follows dates from the 1980's. It is in
** the public domain. The original comments are included here for
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/compat/opendir.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/compat/opendir.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
* opendir.c --
*
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/generic/regerrs.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/generic/regerrs.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
{ REG_OKAY, "REG_OKAY", "no errors detected" },
{ REG_NOMATCH, "REG_NOMATCH", "failed to match" },
{ REG_BADPAT, "REG_BADPAT", "invalid regexp (reg version 0.8)" },
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclAppleScriptHeader.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclAppleScriptHeader.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#if __POWERPC__
#include "MW_TclAppleScriptHeaderPPC"
#elif __CFM68K__
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclBuildLibHeader.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclBuildLibHeader.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#if __POWERPC__
#include "MW_TclBuildLibHeaderPPC"
#elif __CFM68K__
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclHeader.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclHeader.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#if __POWERPC__
#include "MW_TclHeaderPPC"
#elif __CFM68K__
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclStaticHeader.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclStaticHeader.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#if __POWERPC__
#include "MW_TclStaticHeaderPPC"
#elif __CFM68K__
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclTestHeader.h Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/mac/MW_TclTestHeader.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
#if __POWERPC__
#include "MW_TclTestHeaderPPC"
#elif __CFM68K__
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/unix/tclUnixCompat.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/unix/tclUnixCompat.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
* tclUnixCompat.c
*
--- a/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/win/buildall.vc.bat Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/win/buildall.vc.bat Thu Jul 22 16:49:09 2010 +0100
@@ -1,18 +1,3 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
@echo off
:: This is an example batchfile for building everything. Please
--- a/persistentstorage/sqlite3api/TEST/TclScript/crashtest1.c Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/sqlite3api/TEST/TclScript/crashtest1.c Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
/*
** This program tests the ability of SQLite database to recover from a crash.
** This program runs under Unix only, but the results are applicable to all
--- a/persistentstorage/store/INC/S32FILE.INL Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/INC/S32FILE.INL Thu Jul 22 16:49:09 2010 +0100
@@ -290,10 +290,14 @@
@param aFs Handle to a file server session.
@param aName The full path name of the file containing the store.
@param aFileMode The mode in which the file is to be accessed. The mode is
-defined by the TFileMode type.
+defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::OpenL(aFs,aName,aFileMode,KPermanentFileStoreFactoryFunction));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::OpenL(aFs,aName,aFileMode|EFileWriteDirectIO,KPermanentFileStoreFactoryFunction));
+ }
inline CPermanentFileStore* CPermanentFileStore::OpenLC(RFs& aFs,const TDesC& aName,TUint aFileMode)
/** Opens a file containing a permanent file store, constructs a permanent file
store object, and places the pointer onto the cleanup stack.
@@ -301,10 +305,14 @@
@param aFs Handle to a file server session.
@param aName The full path name of the file containing the store.
@param aFileMode The mode in which the file is to be accessed. The mode is
-defined by the TFileMode type.
+defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::OpenLC(aFs,aName,aFileMode,KPermanentFileStoreFactoryFunction));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::OpenLC(aFs,aName,aFileMode|EFileWriteDirectIO,KPermanentFileStoreFactoryFunction));
+ }
inline CPermanentFileStore* CPermanentFileStore::CreateL(RFs& aFs,const TDesC& aName,TUint aFileMode)
/** Creates a new file and constructs a new permanent file store object to be associated
with this file.
@@ -313,10 +321,14 @@
@param aName The full path name of the new file. A file with this name must
not already exist, otherwise the function leaves.
@param aFileMode The mode in which the new file is to be accessed. This mode
-is defined by the TFileMode type.
+is defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::CreateL(aFs,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::CreateL(aFs,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::CreateLC(RFs& aFs,const TDesC& aName,TUint aFileMode)
/** Creates a new file and constructs a new permanent file store object to be associated
with this file, and places the pointer onto the cleanup stack.
@@ -325,10 +337,14 @@
@param aName The full path name of the new file. A file with this name must
not already exist, otherwise the function leaves.
@param aFileMode The mode in which the new file is to be accessed. This mode
-is defined by the TFileMode type.
+is defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::CreateLC(aFs,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::CreateLC(aFs,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::ReplaceL(RFs& aFs,const TDesC& aName,TUint aFileMode)
/** Creates a file, constructs a permanent file store object to be associated with
it.
@@ -341,7 +357,11 @@
defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::ReplaceL(aFs,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::ReplaceL(aFs,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::ReplaceLC(RFs& aFs,const TDesC& aName,TUint aFileMode)
/** Creates a file, constructs a permanent file store object to be associated with
it, and places the pointer onto the cleanup stack.
@@ -354,7 +374,11 @@
defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::ReplaceLC(aFs,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::ReplaceLC(aFs,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::TempL(RFs& aFs,const TDesC& aPath,TFileName& aName,TUint aFileMode)
/** Creates a temporary file and constructs a permanent file store object to be
associated with it.
@@ -372,7 +396,11 @@
defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::TempL(aFs,aPath,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::TempL(aFs,aPath,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::TempLC(RFs& aFs,const TDesC& aPath,TFileName& aName,TUint aFileMode)
/** Creates a temporary file, constructs a permanent file store object to be associated
with it, and places the pointer onto the cleanup stack.
@@ -387,18 +415,29 @@
@param aPath The path where the new file is to be created.
@param aName On return, contains the full path name of the new file.
@param aFileMode The mode in which the file is to be accessed. The mode is
-defined by the TFileMode type.
+defined by the TFileMode type.
@return A pointer to the new permanent file store object.
@see TFileMode */
- {return STATIC_CAST(CPermanentFileStore*,CFileStore::TempLC(aFs,aPath,aName,aFileMode,&DoNewL));}
+ {
+// When the file server write caching is enabled, the order of file write operations is not guaranteed. This could cause data inconsistency in some circumstances,
+// for example, when the power is lost in the middle of a database transaction. Therefore, the file write caching is disabled for this file to maintain integrity.
+ return STATIC_CAST(CPermanentFileStore*,CFileStore::TempLC(aFs,aPath,aName,aFileMode|EFileWriteDirectIO,&DoNewL));
+ }
inline CPermanentFileStore* CPermanentFileStore::FromL(RFile& aFile)
-/** Constructs a permanent file store object from an already opened file.
+/** Constructs a permanent file store object from an already opened file. It is strongly recommended to set EFileWriteDirectIO
+bit when opening the file. This is because that when the file server write caching is enabled, the
+order of file write operations is not guaranteed. This could cause data inconsistency in some
+circumstances, for example, when the power is lost in the middle of database transaction.
+Therefore, the file write caching should be switched off to maintain integrity.
+
+
The file must already be open before calling this function.
Note that ownership of the file passes to the store. The referenced RFile
is cleared and is no longer valid.
+
@param aFile A reference to the opened file.
@return A pointer to the new permanent file store object. */
{return STATIC_CAST(CPermanentFileStore*,CFileStore::FromL(aFile,KPermanentFileStoreFactoryFunction));}
@@ -406,7 +445,11 @@
/** Constructs a permanent file store object from an already opened file, and places
the pointer onto the cleanup stack.
-The file must already be open before calling this function.
+The file must already be open before calling this function. It is strongly recommended to set EFileWriteDirectIO
+bit when opening the file. This is because that when the file server write caching is enabled, the
+order of file write operations is not guaranteed. This could cause data inconsistency in some
+circumstances, for example, when the power is lost in the middle of database transaction.
+Therefore, the file write caching should be switched off to maintain integrity.
Note that ownership of the file passes to the store. The referenced RFile
is cleared and is no longer valid.
@@ -418,7 +461,11 @@
/** Constructs a new permanent file store object in an already opened file.
The file must already be open before calling this function. The existing content
-of the file is discarded.
+of the file is discarded. It is strongly recommended to set EFileWriteDirectIO
+bit when opening the file. It is because that when the file write caching in file server is on, the
+order of file writing is not guaranteed which could cause data inconsistency in some
+circumstances, for example, when the power is lost in the middle of data transaction.
+Therefore, the file write caching should be switched off to maintain the file integrity.
Note that ownership of the file passes to the store. The referenced RFile
is cleared and is no longer valid.
@@ -431,7 +478,11 @@
places the pointer onto the cleanup stack.
The file must already be open before calling this function.The existing content
-of the file is discarded.
+of the file is discarded. It is strongly recommended to set EFileWriteDirectIO
+bit when opening the file. It is because that when the write caching in file server is on, the
+order of file writing is not guaranteed which could cause data inconsistency in some
+circumstances, for example, when the power is lost in the middle of data transaction.
+Therefore, the file write caching should be switched off to maintain the file integrity.
Note that ownership of the file passes to the store. The referenced RFile
is cleared and is no longer valid.
--- a/persistentstorage/store/INC/S32FILEBUFSIZE.H Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/INC/S32FILEBUFSIZE.H Thu Jul 22 16:49:09 2010 +0100
@@ -17,7 +17,8 @@
#define S32FILEBUFSIZE_H
#ifndef DEFAULT_FILE_BUF_SIZE
- #define DEFAULT_FILE_BUF_SIZE 4096
+ #define DEFAULT_FILE_BUF_SIZE 16384
+
#else
#if DEFAULT_FILE_BUF_SIZE < 1536
#error "DEFAULT_FILE_BUF_SIZE macro value can't be less than 1536"
--- a/persistentstorage/store/ROM/StoreTests.IBY Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/ROM/StoreTests.IBY Thu Jul 22 16:49:09 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 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"
@@ -23,7 +23,7 @@
#include "pbe.iby"
// batch file that runs all automatic store tests
-data=ZSYSTEM\test\StoreTests.bat Test\StoreTests.bat
+data=DATAZ_\test\StoreTests.bat Test\StoreTests.bat
file=ABI_DIR\BUILD_DIR\t_storset.exe Test\t_storset.exe
file=ABI_DIR\BUILD_DIR\t_storcrypt.exe Test\t_storcrypt.exe
--- a/persistentstorage/store/TSTOR/T_BMStreams.inl Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/TSTOR/T_BMStreams.inl Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -25,7 +25,7 @@
// Internalize CCompound object from the stream
LOCAL_C void doInternalizeL(const TDesC& aName);
-#define STREAMRUNSIZE 1000
+#define STREAMRUNSIZE 500
// Declare a class used by the example
class CStreamA
{
--- a/persistentstorage/store/UFILE/UF_DICT.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/UFILE/UF_DICT.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -154,7 +154,11 @@
for (TInt wait=KLockoutLimit;;)
{
RFile file;
- TInt r=file.Open(aFs,aName,EFileShareExclusive|EFileWrite);
+ // When the file server write caching is enabled, the order of file write operations is not guaranteed.
+ // This could cause data inconsistency in some circumstances,for example, when the power is lost in the
+ // middle of a database transaction.Therefore, the file write caching is disabled for this file to maintain integrity.
+
+ TInt r=file.Open(aFs,aName,EFileShareExclusive|EFileWrite|EFileWriteDirectIO);
switch (r)
{
case KErrNone:
@@ -175,8 +179,12 @@
}
if (r==KErrCorrupt)
{
- // silently replace the entire file if it is corrupt
- r=file.Replace(aFs,aName,EFileShareExclusive|EFileWrite);
+ // silently replace the entire file if it is corrupt
+ // When the file server write caching is enabled, the order of file write operations is not guaranteed.
+ // This could cause data inconsistency in some circumstances,for example, when the power is lost in the
+ // middle of a database transaction.Therefore, the file write caching is disabled for this file to maintain integrity.
+ //
+ r=file.Replace(aFs,aName,EFileShareExclusive|EFileWrite|EFileWriteDirectIO);
if (r==KErrInUse)
break; // try again later...
if (r==KErrNone)
@@ -197,7 +205,10 @@
return;
}
case KErrNotFound:
- r=file.Create(aFs,aName,EFileShareExclusive|EFileWrite);
+ // When the file server write caching is enabled, the order of file write operations is not guaranteed.
+ // This could cause data inconsistency in some circumstances,for example, when the power is lost in the
+ // middle of a database transaction.Therefore, the file write caching is disabled for this file to maintain integrity.
+ r=file.Create(aFs,aName,EFileShareExclusive|EFileWrite|EFileWriteDirectIO);
if (r==KErrNone)
{
CreateStoreL(file,type);
--- a/persistentstorage/store/USTOR/UT_COLL.CPP Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/USTOR/UT_COLL.CPP Thu Jul 22 16:49:09 2010 +0100
@@ -904,16 +904,52 @@
return ::ExtentL(Host(),iMark,Coord().Base(),aStream);
}
+/* relocate a stream into [iFree, aExtent)
+
+During compaction, for each string which is to be moved from position A1 to B1, the sequence of operations is:
+
+1. Copy stream S1 content from position A1 to position B1 . The copy never overlaps so the old stream content is still good at this point.
+2. Optionally rewrite the file header to state that stream S1 is being relocated to B1 (more about the ‘optional below’)
+3. Overwrite the TOC entry for S1 to state that the content is now at B1
+
+This function completes 3 steps above and will be called again and again for every string to be moved.
+
+In terms of data consistency, first consider the impact of a mid-write failure in any of these steps (when write caching is disabled):
+1. If step #1 only partially completes the file is good as the original content is intact and the new content was being written to otherwise free space
+2. If step #2 only partially completes the header CRC fails and only the TOC reference is considered valid (so the corrupt stream relocation record is ignored).
+ The TOC will be good because it is being overwritten with the same content.
+3. If step #3 only partially completes the entry for S1 in the TOC is corrupt, BUT the relocation record for S1 in the file header is good and will
+ override the entry in the TOC.
+
+In all cases the file is never broken by a crash in mid-compaction.
+
+Step #2 is optional – there are many cases when step #3 cannot fail ‘halfway through’ because the underlying media makes atomic block/page based
+updates and the write does not cross any block boundaries. In STORE we assume that blocks cannot be smaller than 512 bytes and any flash based
+media provides the required behavior. Thus 99% of the step #2 writes are eliminated.
+
+Note that sequencing MATTERS even for just one stream. If the TOC update hits the disk before the content is moved, and then the device fails
+we will have a broken file: S1 points to B1 which contains garbage. Equally in the case where step #2 is required (i.e. when step #3 straddles
+a block boundary and could fail) step 2 has to go before the step 3. Otherwise write #3 could go to disk and fail part way through before write #2
+and leave the TOC corrupt with no recovery in the file header.
+
+Consider the case that step 2 was omitted, so the Store relies on step 3 being completed in order to know that S1 is in location B1;
+and that no flush is done after step 3. In step 4 the stream S2 is moved – at this point the old space for stream S1 at A1 is considered empty
+– and suppose it gets moved from A2 to B2 where B2 overlaps/overwrites A1. If the writes in step 3 and step 4 are re-ordered and the step 3
+write does not happen – then the TOC will claim that S1 is still at A1 but this location in the file has been overwritten with data from S2.
+A corrupted file.
+
+Based on the knowledge above, it is strongly recommended to set EFileWriteDirectIO bit when opening the file so that the order is maintained
+when writing to the file.
+*/
void CPermanentStoreCollector::RelocateStreamL(const CPermanentStoreCollector::TEntry& aReloc, TInt aExtent)
-//
-// relocate a stream into [iFree, aExtent)
-//
{
if (Coord().Accessed()) // must have exclusive access to relocate the stream
__LEAVE(KErrInUse);
//
TInt end=RelocateL(aReloc.entry.ref,aReloc.len,aReloc.entry.handle == KHandleTocBase ? EFrameDescriptive16 : EFrameData16, aExtent);
+ //Step 1, 4,....
Coord().RelocateL(aReloc.entry.handle, iFree);
+ // Step 2 & 3, 5 & 6,...
iCoordGen=Coord().Generation(); // changed by relocation
iFree = end;
}
--- a/persistentstorage/store/group/BLD.INF Mon Jun 21 22:46:09 2010 +0100
+++ b/persistentstorage/store/group/BLD.INF Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -72,7 +72,7 @@
PRJ_TESTEXPORTS
../ROM/StoreTests.IBY /epoc32/rom/include/storetests.iby
-../ROM/StoreTests.BAT /epoc32/data/z/system/test/storetests.bat
+../ROM/StoreTests.BAT z:/test/storetests.bat
PRJ_TESTMMPFILES
--- a/traceservices/commsdebugutility/TE_commsdebugutility/group/designexample.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/commsdebugutility/TE_commsdebugutility/group/designexample.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -25,7 +25,7 @@
USERINCLUDE ../inc
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-#include "comms-infras/commsdebugutility.mmh"
+#include "../group/commsdebugutility.mmh"
SOURCEPATH ../src
SOURCE designexample.cpp
--- a/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog1.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog1.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -22,7 +22,7 @@
CAPABILITY ALL -Tcb
SMPSAFE
-#include "comms-infras/commsdebugutility.mmh"
+#include "../group/commsdebugutility.mmh"
USERINCLUDE ../inc
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog3.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog3.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -21,7 +21,7 @@
CAPABILITY ALL -Tcb
SMPSAFE
-#include "comms-infras/commsdebugutility.mmh"
+#include "../group/commsdebugutility.mmh"
USERINCLUDE ../inc
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog4.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/commsdebugutility/TE_commsdebugutility/group/tlog4.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -23,7 +23,7 @@
#define __FLOGGER_UREL
MACRO __FLOG_SUPPRESS_REL_WARNING
-#include "comms-infras/commsdebugutility.mmh"
+#include "../group/commsdebugutility.mmh"
USERINCLUDE ../inc
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/traceservices/tracefw/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,23 @@
+// Copyright (c) 2010 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:
+// TraceFw
+//
+//
+
+#include "../ulogger/group/bld.inf"
+#include "../utf_trace_api/unit_test/group/bld.inf"
+#include "../ost_trace_api/unit_test/group/bld.inf"
+#include "../ulogger/unit_test/group/bld.inf"
+#include "../integ_test/ulogger/TEF/group/bld.inf"
+#include "../integ_test/ost/TEF/group/bld.inf"
--- a/traceservices/tracefw/integ_test/ost/TEF/group/te_ostv2integsuite.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/group/te_ostv2integsuite.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
--- a/traceservices/tracefw/integ_test/ost/TEF/perfdevicedriver/src/te_drv.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/perfdevicedriver/src/te_drv.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -48,7 +48,7 @@
* and loose our state. So we solve this by running the device driver as
* as it's own separate thread in the kernel (DLogicalChannelBase runs a user thread in kernel mode,
* DLogicalChannel runs a kernel thread called from a user thread).
- * We also solve the long timing issue by making an asynchrounous call by using the DoRequest call.
+ * We also solve the long timing issue by making an asynchrounous call by using the DoRequestL call.
* For this to work we need to create a DfcQ, i.e. a queue of all the incoming calls from the user side.
* These then get's run in turn.
*/
@@ -68,7 +68,7 @@
// Inherited from DLogicalChannel
virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer);
//Make an asynchronous call...
- virtual TInt DoRequest(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2);
+ virtual TInt DoRequestL(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2);
void TestUptTraces(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
void TimeUptTraces(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
@@ -80,7 +80,7 @@
TDfcQue* iDfcQ;
TKernelTimer iTimer;
- //This is used to signal when one of the async calls (to DoRequest) is finished.
+ //This is used to signal when one of the async calls (to DoRequestL) is finished.
TRequestStatus iStatus;
};
@@ -164,10 +164,10 @@
message.Complete(KErrNone, ETrue);
return;
}
- if(id < 0 ) //it was a call for DoRequest()
+ if(id < 0 ) //it was a call for DoRequestL()
{
TRequestStatus* status = (TRequestStatus*)message.Ptr0();
- DoRequest(~id, status, message.Ptr1(), message.Ptr2());
+ DoRequestL(~id, status, message.Ptr1(), message.Ptr2());
message.Complete(KErrNone, ETrue);
}
else //it was a call for DoControl, we dont implement that now so just fall through
@@ -178,7 +178,7 @@
}
}
-TInt DUptUTraceChannel::DoRequest(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2)
+TInt DUptUTraceChannel::DoRequestL(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2)
{
TInt error = KErrNone;
@@ -258,11 +258,11 @@
{
TTestTimer timer;
if(aReqNo == RUptUTrace::ESanityTestTimer)
- results.iPass = timer.TestKernelTimer(results.iTime);
+ results.iPass = timer.TestKernelTimerL(results.iTime);
if(aReqNo == RUptUTrace::ESanityTestLongTimer)
- results.iPass = timer.TestKernelLongTimer(results.iTime);
+ results.iPass = timer.TestKernelLongTimerL(results.iTime);
if(aReqNo == RUptUTrace::ESanityUtraceTimer)
- results.iPass = timer.TestUTraceKernelTimer(results.iTime);
+ results.iPass = timer.TestUTraceKernelTimerL(results.iTime);
}
if(!error)
error = Kern::ThreadRawWrite(iClient, a1, (TUint8 *)&results, sizeof(TSanityResults));
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/inc/te_ostv2integsuite_defs.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/inc/te_ostv2integsuite_defs.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -15,11 +15,11 @@
//
-
/**
@file te_uloggerostv2integsuite_defs.h
@internalTechnology
*/
+
#if (!defined TE_ULOGGER_MCL_SUITEDEFS_H)
#define TE_ULOGGER_MCL_SUITEDEFS_H
@@ -31,8 +31,8 @@
public:
~CClearConfig();
CClearConfig();
- void Clear(RULogger& loggerSession);
- void Default(RULogger& loggerSession);
+ void ClearL(RULogger& loggerSession);
+ void DefaultL(RULogger& loggerSession);
//private:
};
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/inc/te_tracecontrolcmds.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/inc/te_tracecontrolcmds.h Thu Jul 22 16:49:09 2010 +0100
@@ -51,7 +51,7 @@
TInt StopAndDeleteFile(RULogger& aLogger);
TInt Stop(RULogger& aLogger);
TInt DeleteFile();
- void SetFilter(CArrayFixFlat<TUint8>* aFilters);
+ void SetFilterL(CArrayFixFlat<TUint8>* aFilters);
TInt Test();
private:
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_ostv2integsuite_defs.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_ostv2integsuite_defs.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -36,7 +36,7 @@
/*Constructor*/
}
-void CClearConfig::Clear(RULogger& loggerSession)
+void CClearConfig::ClearL(RULogger& loggerSession)
{
loggerSession.Stop();//C.A. previously:loggerSession.StopOutputting();
loggerSession.DeActivateInputPlugin();
@@ -63,9 +63,9 @@
}
//NB: currently this method does not set the default values for serial and usb! hanging the server
-void CClearConfig::Default(RULogger& loggerSession)
+void CClearConfig::DefaultL(RULogger& loggerSession)
{
- Clear(loggerSession);
+ ClearL(loggerSession);
//Now set default configurations shipped with ulogger
CArrayFixFlat<TUint8> *setfilter=new (ELeave)CArrayFixFlat<TUint8>(1);//CA:added so can use old ulogger api
setfilter->AppendL(3);//CA:added so can use old ulogger api
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontrolclearconfig.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontrolclearconfig.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -85,7 +85,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
SetBlockResult(EPass);
return ETrue;
}
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontrolcmds.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontrolcmds.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -93,7 +93,7 @@
//clear any configurations stored in the ULogger configuration file
CClearConfig configIni;
- configIni.Clear(aLogger);
+ configIni.ClearL(aLogger);
//prepare arrays for storing the filter settings to configure ULogger (and push any heap objects on the cleanup stack)
CArrayFixFlat<TUint8> *setPrimFilter = new (ELeave)CArrayFixFlat<TUint8>(256);
@@ -139,7 +139,7 @@
if(aGroupIdFilterMatch==1)
{
//if the user specifies that ULogger should have classifiaction filter settings which match the test trace points, then fill the filter arrays with the test trace point identifiers accordingly
- SetFilter(setPrimFilter);
+ SetFilterL(setPrimFilter);
}
else
{
@@ -190,7 +190,7 @@
/** This user-side method sets the filter for OSTv2
*/
-void CUptULogger::SetFilter(CArrayFixFlat<TUint8>* aSetPrimFilter)
+void CUptULogger::SetFilterL(CArrayFixFlat<TUint8>* aSetPrimFilter)
{
aSetPrimFilter->AppendL(KGroupId);
}
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontroldefaultconfig.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_common/src/te_tracecontroldefaultconfig.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -84,7 +84,7 @@
}
}
CClearConfig configIni;
- configIni.Default(logger);
+ configIni.DefaultL(logger);
SetBlockResult(EPass);
return ETrue;
}
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/inc/te_advancedfiltering.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/inc/te_advancedfiltering.h Thu Jul 22 16:49:09 2010 +0100
@@ -45,7 +45,7 @@
TBool DoCommandL( const TTEFFunction& aCommand,
const TTEFSectionName& aSection,
const TInt aAsyncErrorIndex);
- TVerdict TestGroupIdFiltering(RULogger& aLogger, const TBool aFilter, const TBool aFiltering);
+ TVerdict TestGroupIdFilteringL(RULogger& aLogger, const TBool aFilter, const TBool aFiltering);
private:
CTCMAdvancedGroupIDFilteringWrapper();
@@ -62,7 +62,7 @@
TBool DoCommandL( const TTEFFunction& aCommand,
const TTEFSectionName& aSection,
const TInt aAsyncErrorIndex);
- TVerdict TestComponentIdFiltering(RULogger& aLogger, const TBool aFilter, const TBool aFiltering);
+ TVerdict TestComponentIdFilteringL(RULogger& aLogger, const TBool aFilter, const TBool aFiltering);
// Please add/modify your class members here:
private:
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_advancedfiltering.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_advancedfiltering.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -108,7 +108,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
INFO_PRINTF2(_L("connect err %d"), result);
INFO_PRINTF1(_L("Test setting a single primary filter with the filter, rather than an array"));
@@ -187,7 +187,7 @@
INFO_PRINTF1(_L(" Testing GroupId filtering enabled/ disabled "));
//reset config file
- configIni.Clear(logger);
+ configIni.ClearL(logger);
/***********************************************************/
@@ -195,7 +195,7 @@
/***********************************************************/
INFO_PRINTF1(_L("\n\n Enable test GroupId, enable GroupId filtering.\n Testing error returns and ensuring a trace statement IS carried out "));
- SetBlockResult(TestGroupIdFiltering(logger, ETrue, ETrue));
+ SetBlockResult(TestGroupIdFilteringL(logger, ETrue, ETrue));
/***********************************************************/
/***enable GroupId, disable GroupId filtering*/
@@ -204,7 +204,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Enable test GroupId, disable GroupId filtering.\n Testing error returns and ensuring a trace statement IS carried out + lots of kernel traces "));
- SetBlockResult(TestGroupIdFiltering(logger, ETrue, EFalse));
+ SetBlockResult(TestGroupIdFilteringL(logger, ETrue, EFalse));
}
/***********************************************************/
@@ -214,7 +214,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Disable test GroupId, disable GroupId filtering.\n Testing error returns and ensuring a trace statement IS carried out + lots of kernel traces"));
- SetBlockResult(TestGroupIdFiltering(logger, EFalse, EFalse));
+ SetBlockResult(TestGroupIdFilteringL(logger, EFalse, EFalse));
}
/***********************************************************/
@@ -224,7 +224,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Disable test GroupId, enable GroupId filtering.\n Testing error returns and ensuring a trace statement IS NOT carried out "));
- SetBlockResult(TestGroupIdFiltering(logger, EFalse, ETrue));
+ SetBlockResult(TestGroupIdFilteringL(logger, EFalse, ETrue));
}
}
@@ -249,7 +249,7 @@
// ************** Block end ****************
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.Close();
CleanupStack::Pop(3);
if(getfilter)
@@ -263,7 +263,7 @@
}
-TVerdict CTCMAdvancedGroupIDFilteringWrapper::TestGroupIdFiltering(RULogger& aLogger, const TBool aFilter, const TBool aFiltering)
+TVerdict CTCMAdvancedGroupIDFilteringWrapper::TestGroupIdFilteringL(RULogger& aLogger, const TBool aFilter, const TBool aFiltering)
/**
* @return - TVerdict code
* standard function to test error returns and GroupId filtering
@@ -497,7 +497,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
result = logger.SetSecondaryFiltersEnabled(setfilterarray,ETrue);//CA previously:Result = logger.EnableModuleUid(setfilter);
INFO_PRINTF2(_L("Setting single Secondary filter with filter rather than array has been set with single filter, %d, check log"), setfilter);
INFO_PRINTF2(_L("code: %d"), result);
@@ -558,7 +558,7 @@
INFO_PRINTF1(_L(" Testing ComponentId filtering enabled/ disabled "));
//reset config file
- configIni.Clear(logger);
+ configIni.ClearL(logger);
/***********************************************************/
@@ -566,7 +566,7 @@
/***********************************************************/
INFO_PRINTF1(_L("\n\n Enable test ComponentID, enable ComponentID filtering.\n Testing error returns and ensuring a trace statement IS carried out "));
- SetBlockResult(TestComponentIdFiltering(logger, ETrue, ETrue));
+ SetBlockResult(TestComponentIdFilteringL(logger, ETrue, ETrue));
/***********************************************************/
/***enable ComponentId, disable ComponentId filtering*/
@@ -575,7 +575,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Enable test ComponentId, disable ComponentId filtering.\n Testing error returns and ensuring a trace statement IS carried out "));
- SetBlockResult(TestComponentIdFiltering(logger, ETrue, EFalse));
+ SetBlockResult(TestComponentIdFilteringL(logger, ETrue, EFalse));
}
/***********************************************************/
@@ -585,7 +585,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Disable test ComponentId, disable ComponentId filtering.\n Testing error returns and ensuring a trace statement IS carried out "));
- SetBlockResult(TestComponentIdFiltering(logger, EFalse, EFalse));
+ SetBlockResult(TestComponentIdFilteringL(logger, EFalse, EFalse));
}
/***********************************************************/
@@ -595,7 +595,7 @@
if(BlockResult()==EPass)
{
INFO_PRINTF1(_L("\n\n Disable test ComponentId, enable ComponentId filtering.\n Testing error returns and ensuring a trace statement IS NOT carried out "));
- SetBlockResult(TestComponentIdFiltering(logger, EFalse, ETrue));
+ SetBlockResult(TestComponentIdFilteringL(logger, EFalse, ETrue));
}
}
@@ -621,7 +621,7 @@
// ************** Block end ****************
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.Close();
}
return ETrue;
@@ -629,7 +629,7 @@
-TVerdict CTCMAdvancedComponentIDFilteringWrapper::TestComponentIdFiltering(RULogger& aLogger, const TBool aFilter, const TBool aFiltering)
+TVerdict CTCMAdvancedComponentIDFilteringWrapper::TestComponentIdFilteringL(RULogger& aLogger, const TBool aFilter, const TBool aFiltering)
/**
* @return - TVerdict code
* standard function to test error returns and ComponentId filtering
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_buffermode.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_buffermode.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -157,7 +157,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.SetSecondaryFilteringEnabled(EFalse);//C.A. previously:logger.DisableModuleUidFiltering();
// C.A. previously:
/* TBufferMode bufferCircular = ECircular;
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_buffersizing.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_buffersizing.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -136,7 +136,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.SetSecondaryFilteringEnabled(EFalse);//C.A. previously:logger.DisableModuleUidFiltering();
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(KGroupId);
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_configfile.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_configfile.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -229,7 +229,7 @@
Result=logger.Connect();
INFO_PRINTF2(_L("connect err %d"), Result);
CClearConfig configIni;
- configIni.Default(logger);
+ configIni.DefaultL(logger);
/**************First get primary filter*************/
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_filepluginerr.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_filepluginerr.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -87,7 +87,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
_LIT8(KTextmedia,"te_fileplugin");
const TPtrC8 mediaptr(KTextmedia);
INFO_PRINTF1(_L("Setting test plugin as active..."));
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_ostv2tracetestwrapper.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_ostv2tracetestwrapper.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -150,7 +150,7 @@
User::LeaveIfError(OpenUlogger(logger));
// clear the config file
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
// extract the user ids from the values generated by tracecompiler
const TUint8 USER_DEFINED_GID_1 = TEST_OSTTRACEWRAPPER7 >> 16;
@@ -277,7 +277,7 @@
User::LeaveIfError(OpenUlogger(logger));
// clear the config file
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
// extract the user ids from the values generated by tracecompiler
const TUint8 USER_DEFINED_GID_1w = TEST_OSTTRACEWRAPPER7w >> 16;
@@ -404,7 +404,7 @@
User::LeaveIfError(OpenUlogger(logger));
// clear the config file
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
// switch on primary filtering mechanism
CArrayFixFlat<TUint8> *setprimfilter =
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorclient.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorclient.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -103,7 +103,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
INFO_PRINTF2(_L("connect err %d"), result);
result=logger.SetPrimaryFiltersEnabled(*setfilter,ETrue);//C.A. previously:result=logger.EnableClassifications(*setfilter);
@@ -320,7 +320,7 @@
// ************** Block end ****************
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.Close();
if(setfilter)
delete setfilter;
@@ -414,7 +414,7 @@
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
result = logger.SetSecondaryFiltersEnabled(setfilter,ETrue);//C.A. previously:result = logger.EnableModuleUids(setfilter);
INFO_PRINTF2(_L("Secondary filter has been set with single filter, %d, check log"), setfilter[0]);
INFO_PRINTF2(_L("code: %d"), result);
@@ -600,7 +600,7 @@
}
}
INFO_PRINTF1(_L("Now call clear config to check removing multiple second filters performance"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
INFO_PRINTF1(_L("after clear config- multiple second filters performance"));
if(result==1)
@@ -694,7 +694,7 @@
#endif
#ifndef SysStartTest
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
#endif
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(22);
setprimfilter->AppendL(KGroupId);
@@ -993,7 +993,7 @@
{
INFO_PRINTF1(_L("Now do some multiple type logging testing."));
//CClearConfig configIni;
- //configIni.Clear(logger);
+ //configIni.ClearL(logger);
if(result==0)
{
@@ -1205,7 +1205,7 @@
multsetprimfilter=NULL;
}
}
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
else
INFO_PRINTF1(_L("adding file as output plugin failed"));
@@ -1310,7 +1310,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(KGroupId);
RArray<TUint32> setsecondfilter;
@@ -1580,7 +1580,7 @@
else
SetBlockResult(EFail);
INFO_PRINTF1(_L("Multiple logging to file with kernel side tracing has been tested - check output log. It should contain four lines of tracing of type, (sec,prim), (sec+2, prim), (sec, prim+2), (sec+2, prim+2)"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
if(setprimfilter)
{
@@ -1668,7 +1668,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(KGroupId);
RArray<TUint32> setsecondfilter;
@@ -1885,7 +1885,7 @@
}
}
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(KGroupId);
RArray<TUint32> setsecondfilter;
@@ -1977,7 +1977,7 @@
SetBlockResult(EFail);
INFO_PRINTF1(_L("Simple printf logging to file has been tested with kernel side tracing- check output log"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
if(setprimfilter)
{
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorfile.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorfile.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -92,7 +92,7 @@
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
_LIT8(KTextmedia,"uloggerfileplugin");
const TPtrC8 mediaptr(KTextmedia);
if(result==0||result==-11)
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorserial.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/src/te_tracecollectorserial.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -91,7 +91,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(KGroupId);
RArray<TUint32> setsecondfilter;
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient.script Thu Jul 22 16:49:09 2010 +0100
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te-integ-tracecollectorclient.script
//! @SYMScriptTestEnvironment TEF
@@ -55,7 +55,7 @@
//! @SYMTestActions
//! @SYMTestExpectedResults Verify that the errors returned are as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient_disabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient_disabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName te-integ-tracecollectorclient_disabled.script
//! @SYMScriptTestEnvironment TEF
@@ -31,7 +31,7 @@
//! @SYMTestActions Run a combination of single and multiple group ID filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -48,7 +48,7 @@
//! @SYMTestActions Run a combination of single and multiple component ID filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 20000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -65,7 +65,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace points accordingly for positive, begative and multiple setting tests
//! @SYMTestExpectedResults Verify that no returned trace data and no output trace log files accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
START_TEST_BLOCK 20000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -82,7 +82,7 @@
//! @SYMTestActions Run a combination of single and multiple group ID filter and filtering set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -105,7 +105,7 @@
//! @SYMTestActions Run a combination of single and multiple component ID filter and filtering set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -128,7 +128,7 @@
//! @SYMTestActions Run a combination of buffer resizing methods and run over various stress testing trace instrumentations. Check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains no #traces as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12152
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -145,7 +145,7 @@
//! @SYMTestActions Run a combination of buffer mode change methods and run over various stress testing trace instrumentations. check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains no
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12152
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -163,7 +163,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that no returned trace data and no output trace log files accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
// START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -180,7 +180,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace printf-style points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that no returned trace data and no output trace log files accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -198,7 +198,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace printf-style points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that no returned trace data and no output trace log files accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
// START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -218,7 +218,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the file plugin and log over trace instrumentation
//! @SYMTestExpectedResults Verify that the trace data is not output as expected to the file plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -235,7 +235,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the serial plugin and log over trace instrumentation
//! @SYMTestExpectedResults Verify that trace data is not output as expected to the serial plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153 12147
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -252,7 +252,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the file plugin and test on the return errors
//! @SYMTestExpectedResults Verify that the errors returned are as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153 12147
START_TEST_BLOCK 1000 te_ostv2integsuite_disabled \testdata\configs\te_integ_tracecollectorclient.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient_enabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorclient_enabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName te-integ-tracecollectorclient_enabled.script
//! @SYMScriptTestEnvironment TEF
@@ -31,7 +31,7 @@
//! @SYMTestActions Run a combination of single and multiple group ID filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -48,7 +48,7 @@
//! @SYMTestActions Run a combination of single and multiple component ID filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 20000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -65,7 +65,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the settings in the TraceControl accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
START_TEST_BLOCK 20000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -82,7 +82,7 @@
//! @SYMTestActions Run a combination of single and multiple group ID filter and filtering set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -105,7 +105,7 @@
//! @SYMTestActions Run a combination of single and multiple component ID filter and filtering set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the values returned by get methods match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -128,7 +128,7 @@
//! @SYMTestActions Run a combination of buffer resizing methods and run over various stress testing trace instrumentations. check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains #traces as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12152
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -145,7 +145,7 @@
//! @SYMTestActions Run a combination of buffer mode change methods and run over various stress testing trace instrumentations. check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains a trace pattern as expected from buffer mode type
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12152
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -163,7 +163,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the settings in the TraceControl accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
// START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -180,7 +180,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace printf-style points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the settings in the TraceControl accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -198,7 +198,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace printf-style points accordingly for positive, negative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the settings in the TraceControl accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12974 12975 12823 12824 12825 12128 12974 12975
// START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -218,7 +218,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the file plugin and log over trace instrumentation
//! @SYMTestExpectedResults Verify that the trace data is output as expected to the file plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -235,7 +235,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the serial plugin and log over trace instrumentation
//! @SYMTestExpectedResults Verify that the trace data is output as expected to the serial plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153 12147
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
@@ -252,7 +252,7 @@
//! @SYMTestActions Run a combination of plugin configuration methods for the file plugin and test on the return errors
//! @SYMTestExpectedResults Verify that the errors returned are as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12129 12153 12147
START_TEST_BLOCK 1000 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorclient.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorconfigfile.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorconfigfile.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,5 +1,5 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,7 +14,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_integ_tracecollectorconfigfile.script
//! @SYMScriptTestEnvironment TEF
@@ -39,7 +39,7 @@
//! @SYMTestActions Compare the settings in the TraceControl server with that specified in the test config file in \testdata\configs\configfiletracecontrolconfig.ini
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile.ini
@@ -63,7 +63,7 @@
//! @SYMTestActions Having deleted c:\ulogger\uloggerconfig.ini in the public path, now compare the settings in the TraceControl server with that specified by default in the private path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile.ini
@@ -88,7 +88,7 @@
//! @SYMTestActions Having reinstated a config file on the public path, now compare the settings in the TraceControl server with that specified in the public path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorconfigfile_winscw.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorconfigfile_winscw.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_integ_tracecollectorconfigfile_winscw.script
//! @SYMScriptTestEnvironment TEF
@@ -36,7 +36,7 @@
//! @SYMTestActions Compare the settings in the TraceControl server with that specified in the test config file in \testdata\configs\configfiletracecontrolconfig.ini
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile_winscw.ini
@@ -60,7 +60,7 @@
//! @SYMTestActions Having deleted c:\ulogger\uloggerconfig.ini in the public path, now compare the settings in the TraceControl server with that specified by default in the private path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile_winscw.ini
@@ -83,7 +83,7 @@
//! @SYMTestActions Having reinstated a config file on the public path, now compare the settings in the TraceControl server with that specified in the public path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12128 12129
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorconfigfile_winscw.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorsysstart.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_functional/testdata/scripts/te_integ_tracecollectorsysstart.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_integ_tracecollectorsysstart.script
//! @SYMScriptTestEnvironment TEF
@@ -32,7 +32,7 @@
//! @SYMTestActions Compile a rom with uloggersysstart.exe compiled into startup sequence and uncomment #define sysstart in TCMLogging datawrapper. Run test step.
//! @SYMTestExpectedResults Verify that the output log contains btrace output from boot sequence as well as trace points enabled in TCMLogging datawrapper
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12825 12976 12978
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_integ_tracecollectorsysstart.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/sanity/te_perfsanitytimer.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/sanity/te_perfsanitytimer.h Thu Jul 22 16:49:09 2010 +0100
@@ -43,17 +43,17 @@
};
public:
- TBool TestUserTimer(TUint32& aTestTime);
- TBool TestUserLongTimer(TUint32& aTestTime);
- TBool TestKernelTimer(TUint32& aTestTime);
- TBool TestKernelLongTimer(TUint32& aTestTime);
- TBool TestUTraceUserTimer(TUint32& aTestTime);
- TBool TestUTraceKernelTimer(TUint32& aTestTime);
+ TBool TestUserTimerL(TUint32& aTestTime);
+ TBool TestUserLongTimerL(TUint32& aTestTime);
+ TBool TestKernelTimerL(TUint32& aTestTime);
+ TBool TestKernelLongTimerL(TUint32& aTestTime);
+ TBool TestUTraceUserTimerL(TUint32& aTestTime);
+ TBool TestUTraceKernelTimerL(TUint32& aTestTime);
TUint32 Count(){return iCount;}
private:
TBool VerifyTime(TUint32 aTime);
TBool DoTestUTraceTimer(const TInt aApi, TUint32& aTestTime);
- TBool DoTestTrace(const TTestMethodType aMethod, TUint32& aTestTime);
+ TBool DoTestTraceL(const TTestMethodType aMethod, TUint32& aTestTime);
private:
#ifndef __KERNEL_MODE__
CUptTimer iTimer;
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perf.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perf.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -14,13 +14,14 @@
//
-
/**
@file te_perf.h
@internalTechnology
*/
+
#if (!defined TE_ULOGGERMCLPERFSTEP_H)
#define TE_ULOGGERMCLPERFSTEP_H
+
#include <test/datawrapper.h>
#include "te_ostv2integsuite_basewrapper.h"
#include <hal.h>
@@ -53,8 +54,8 @@
private:
//private run config members
+ };
- };
class CTCMPerformanceWrapper : public CTe_MCLSuiteBaseWrapper
{
@@ -69,17 +70,14 @@
private:
CTCMPerformanceWrapper();
void ConstructL();
- TVerdict DoApiTests(const TTEFSectionName& aSection);
- TVerdict DoPluginTests(const TInt& aPluginOnly, const TTEFSectionName& aSection); //tried TBool - didn't work for some reason
+ TVerdict DoApiTestsL(const TTEFSectionName& aSection);
+ TVerdict DoPluginTestsL(const TInt& aPluginOnly, const TTEFSectionName& aSection); //tried TBool - didn't work for some reason
TVerdict DoBufferSizeTests();//to be implemented
TVerdict DoBufferModeTests();//to be implemented
TApiRunConfig iApiRunConfig;
CPluginRunConfig* iPluginRunConfig;
};
-
-
-
_LIT(KTCMPerformanceWrapper,"TCMPerformance");
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfapicall.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfapicall.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -15,7 +15,6 @@
//
-
/**
@file te_perfapicall.h
@internalTechnology
@@ -34,8 +33,6 @@
#include "te_apirunconfig.h"
-
-
class CApiCallTest: public CBase
{
public:
@@ -43,9 +40,9 @@
~CApiCallTest();
//could get rid of this now if you want...
TInt DoTestL(const TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
- TInt CachedTraceTime(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
- TInt NonCachedTraceTime(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
- TInt StackUsage(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
+ TInt CachedTraceTimeL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
+ TInt NonCachedTraceTimeL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
+ TInt StackUsageL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult);
TInt Test();
private:
@@ -59,12 +56,12 @@
//TInt TraceBaselineTime(const TApiRunConfig& aApiRunConfig, TUint64& aBaselineTime, TBool aDoTrace);
//TInt TraceTime(const TApiRunConfig& aApiRunConfig, TUint64& aTime, const TUint64& aBaselineTime, TBool aDoTrace);
- TInt CachedTraceBaselineTime(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionBaselineTime);
- TInt CachedTraceTime(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionTime, TInt32& aMinimumExecutionBaselineTime);
- TInt NonCachedTraceBaselineTime(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionBaselineTime);
- TInt NonCachedTraceTime(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionTime, TInt32& aTypicalExecutionBaselineTime);
+ TInt CachedTraceBaselineTimeL(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionBaselineTime);
+ TInt CachedTraceTimeL(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionTime, TInt32& aMinimumExecutionBaselineTime);
+ TInt NonCachedTraceBaselineTimeL(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionBaselineTime);
+ TInt NonCachedTraceTimeL(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionTime, TInt32& aTypicalExecutionBaselineTime);
- TInt StackUsage(TApiRunConfig& aApiRunConfig, TInt& aApiStackUsage);
+ TInt StackUsageL(TApiRunConfig& aApiRunConfig, TInt& aApiStackUsage);
TInt HeapUsage(TInt& aApiHeapUsage);
TInt DoTheApiCall();
@@ -77,5 +74,3 @@
};
#endif
-
-
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfcsvgenerator.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfcsvgenerator.h Thu Jul 22 16:49:09 2010 +0100
@@ -47,15 +47,15 @@
CUptCsvGenerator();
~CUptCsvGenerator();
- TInt Open(const TDesC& aFileName, const TBool& aAppend);
+ TInt OpenL(const TDesC& aFileName, const TBool& aAppend);
TInt Close();
void WriteL(const RArray<TInt64>& aPerformanceData);
void WriteL(const RArray<TPtrC8>& aPerformanceConfig);
void WriteApiNameL(const TInt aApiEnum);
- TInt WriteNewLine();
- TInt WriteHeader(const TInt& aTestType);
+ TInt WriteNewLineL();
+ TInt WriteHeaderL(const TInt& aTestType);
- TInt Test();
+ TInt TestL();
private:
//Private helper method for sanity tests
TInt FillReferenceBuffer(RBuf8& aBufferName, const TInt& aAppendCount, const RArray<TInt64>& aDataName, const TInt& aData1Count, const RArray<TInt64>& aData2Name, const TInt& aData2Count);
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfoutputsanity.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfoutputsanity.h Thu Jul 22 16:49:09 2010 +0100
@@ -42,9 +42,9 @@
private:
COutputCSVSanityWrapper();
void ConstructL();
- TVerdict TestBaselineCsv();
- TInt ReadCsvFile(const TDesC& aFilename, RBuf8& aBuffer);
- TInt CsvFileSize(const TDesC& aFilename, TInt& aSize);
+ TVerdict TestBaselineCsvL();
+ TInt ReadCsvFileL(const TDesC& aFilename, RBuf8& aBuffer);
+ TInt CsvFileSizeL(const TDesC& aFilename, TInt& aSize);
};
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfsanity.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perfsanity.h Thu Jul 22 16:49:09 2010 +0100
@@ -42,8 +42,8 @@
private:
CPerformanceSanityWrapper();
void ConstructL();
- TVerdict TestTimer();
- TBool SanityTestTimedUtrace();
+ TVerdict TestTimerL();
+ TBool SanityTestTimedUtraceL();
};
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perftracetester.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/inc/te_perftracetester.h Thu Jul 22 16:49:09 2010 +0100
@@ -56,13 +56,13 @@
* Makes a trace call to either kernel or user side
* and returns the time in the parameter aApiRunConfig.iApiTraceTime
*/
- TInt TimeTraceCall(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
+ TInt TimeTraceCallL(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
/**
* Makes a call to user side, returning the time in the
* parameter aApiRunConfig.iApiTraceTime
*/
- TInt TimeUsersideTraceCalls(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
+ TInt TimeUsersideTraceCallsL(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults);
/**
*/
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/sanity/te_perfsanitytimer.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/sanity/te_perfsanitytimer.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -30,39 +30,39 @@
#endif
#include "te_dataparameters.h"
-TBool TTestTimer::TestUserTimer(TUint32& aTestTime)
+TBool TTestTimer::TestUserTimerL(TUint32& aTestTime)
{
- return DoTestTrace(ESanityFoo, aTestTime);
+ return DoTestTraceL(ESanityFoo, aTestTime);
}
-TBool TTestTimer::TestUserLongTimer(TUint32& aTestTime)
+TBool TTestTimer::TestUserLongTimerL(TUint32& aTestTime)
{
- return DoTestTrace(ESanityFooLong, aTestTime);
+ return DoTestTraceL(ESanityFooLong, aTestTime);
}
-TBool TTestTimer::TestKernelTimer(TUint32& aTestTime)
+TBool TTestTimer::TestKernelTimerL(TUint32& aTestTime)
{
- return DoTestTrace(ESanityFoo, aTestTime);
+ return DoTestTraceL(ESanityFoo, aTestTime);
}
-TBool TTestTimer::TestKernelLongTimer(TUint32& aTestTime)
+TBool TTestTimer::TestKernelLongTimerL(TUint32& aTestTime)
{
- return DoTestTrace(ESanityFooLong, aTestTime);
+ return DoTestTraceL(ESanityFooLong, aTestTime);
}
-TBool TTestTimer::TestUTraceUserTimer(TUint32& aTestTime)
+TBool TTestTimer::TestUTraceUserTimerL(TUint32& aTestTime)
{
- return DoTestTrace(EUtraceUsr, aTestTime);
+ return DoTestTraceL(EUtraceUsr, aTestTime);
}
-TBool TTestTimer::TestUTraceKernelTimer(TUint32& aTestTime)
+TBool TTestTimer::TestUTraceKernelTimerL(TUint32& aTestTime)
{
- return DoTestTrace(EUtraceKrn, aTestTime);
+ return DoTestTraceL(EUtraceKrn, aTestTime);
}
-TBool TTestTimer::DoTestTrace(const TTestMethodType aMethod, TUint32& aTestTime)
+TBool TTestTimer::DoTestTraceL(const TTestMethodType aMethod, TUint32& aTestTime)
{
aTestTime = 0;
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perf.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perf.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -71,7 +71,6 @@
*/
{
TRunConfigurer::Init(iApiRunConfig);
- iPluginRunConfig = new(ELeave) CPluginRunConfig;
}
@@ -92,6 +91,7 @@
void CTCMPerformanceWrapper::ConstructL()
{
+ iPluginRunConfig = new(ELeave) CPluginRunConfig;
}
TAny* CTCMPerformanceWrapper::GetObject()
@@ -125,18 +125,18 @@
TInt pluginOnlyTests=0;
//run api tests
if(doapicalltests)
- SetBlockResult(DoApiTests(aSection));
+ SetBlockResult(DoApiTestsL(aSection));
if(dooutputplugintests)
{
pluginOnlyTests=1;
- SetBlockResult(DoPluginTests(pluginOnlyTests, aSection));
+ SetBlockResult(DoPluginTestsL(pluginOnlyTests, aSection));
}
if(dothroughputtests)
{
pluginOnlyTests=2;
- SetBlockResult(DoPluginTests(pluginOnlyTests, aSection));
+ SetBlockResult(DoPluginTestsL(pluginOnlyTests, aSection));
}
/*
@@ -155,7 +155,7 @@
return ETrue;
}
-TVerdict CTCMPerformanceWrapper::DoApiTests(const TTEFSectionName& aSection)
+TVerdict CTCMPerformanceWrapper::DoApiTestsL(const TTEFSectionName& aSection)
{
//initialize and create test run parameters
//*******this is quite ugly and could be tidied up into a new routine so isnt in main test step
@@ -327,7 +327,7 @@
}
}
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
//put in test over API CALLS
testtype=0;
@@ -373,22 +373,22 @@
//do the test
INFO_PRINTF2(_L("Testing API %d"), iApiRunConfig.iApiId);
- error = apitest.CachedTraceTime(iApiRunConfig, apitestresult);
+ error = apitest.CachedTraceTimeL(iApiRunConfig, apitestresult);
if(error)
{
- INFO_PRINTF2(_L("ERROR: CachedTraceTime failed, error %d"), error);
+ INFO_PRINTF2(_L("ERROR: CachedTraceTimeL failed, error %d"), error);
SetBlockResult(EFail);
}
- error = apitest.NonCachedTraceTime(iApiRunConfig, apitestresult);
+ error = apitest.NonCachedTraceTimeL(iApiRunConfig, apitestresult);
if(error)
{
- INFO_PRINTF2(_L("ERROR: NonCachedTraceTime failed, error %d"), error);
+ INFO_PRINTF2(_L("ERROR: NonCachedTraceTimeL failed, error %d"), error);
SetBlockResult(EFail);
}
- error = apitest.StackUsage(iApiRunConfig, apitestresult);
+ error = apitest.StackUsageL(iApiRunConfig, apitestresult);
if(error)
{
- INFO_PRINTF2(_L("ERROR: StackUsage failed, error %d"), error);
+ INFO_PRINTF2(_L("ERROR: StackUsageL failed, error %d"), error);
SetBlockResult(EFail);
}
@@ -437,7 +437,7 @@
}
}
}
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
//put in all the error returns
//put in test step result returns
@@ -445,7 +445,7 @@
return BlockResult();
}
-TVerdict CTCMPerformanceWrapper::DoPluginTests(const TInt& aPluginOnly, const TTEFSectionName& aSection)
+TVerdict CTCMPerformanceWrapper::DoPluginTestsL(const TInt& aPluginOnly, const TTEFSectionName& aSection)
{
//define default plugin configurations
_LIT(KDefaultPlugin,"uloggerfileplugin");
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfapicall.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfapicall.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -75,7 +75,7 @@
return error;
}
-TInt CApiCallTest::CachedTraceTime(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
+TInt CApiCallTest::CachedTraceTimeL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
{
TInt error = KErrNotSupported;
//create a dummy time variable to be used for the baseline measurement
@@ -85,17 +85,17 @@
__TEST_LOG("about to carry out cache trace");
if(aApiRunConfig.iDoMinExecution)
{
- CachedTraceBaselineTime(aApiRunConfig, baselinetime);
+ CachedTraceBaselineTimeL(aApiRunConfig, baselinetime);
__TEST_LOG("cache baseline");
__TEST_LOGNUM(baselinetime);
- error = CachedTraceTime(aApiRunConfig, aApiTestResult.iMinimumExecutionTime, baselinetime);
+ error = CachedTraceTimeL(aApiRunConfig, aApiTestResult.iMinimumExecutionTime, baselinetime);
__TEST_LOG("cache");
__TEST_LOGNUM(aApiTestResult.iMinimumExecutionTime);
}
return error;
}
-TInt CApiCallTest::NonCachedTraceTime(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
+TInt CApiCallTest::NonCachedTraceTimeL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
{
TInt error = KErrNotSupported;
//create a dummy time variable to be used for the baseline measurement
@@ -103,20 +103,20 @@
__TEST_LOG("about to carry out non cache trace");
if(aApiRunConfig.iDoTypicalExecution)
{
- NonCachedTraceBaselineTime(aApiRunConfig, baselinetime);
+ NonCachedTraceBaselineTimeL(aApiRunConfig, baselinetime);
__TEST_LOG("noncache baseline");
__TEST_LOGNUM(baselinetime);
- error = NonCachedTraceTime(aApiRunConfig, aApiTestResult.iTypicalExecutionTime, baselinetime);
+ error = NonCachedTraceTimeL(aApiRunConfig, aApiTestResult.iTypicalExecutionTime, baselinetime);
__TEST_LOG("noncache");
__TEST_LOGNUM(aApiTestResult.iTypicalExecutionTime);
}
return error;
}
-TInt CApiCallTest::StackUsage(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
+TInt CApiCallTest::StackUsageL(TApiRunConfig& aApiRunConfig, TApiTestResult& aApiTestResult)
{
__TEST_LOG("about to carry out stack usage trace");
- TInt error = StackUsage(aApiRunConfig, aApiTestResult.iRunResults.iApiStackUsage);
+ TInt error = StackUsageL(aApiRunConfig, aApiTestResult.iRunResults.iApiStackUsage);
if(aApiTestResult.iRunResults.iApiStackUsage == KErrNotSupported && !error)
error = KErrNotSupported;
return error;
@@ -141,7 +141,7 @@
@param aMinimumExecutionBaselineTime is the minimum execution baseline time taken for the commented API call, calculated in nanoseconds
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CApiCallTest::CachedTraceBaselineTime(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionBaselineTime)
+TInt CApiCallTest::CachedTraceBaselineTimeL(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionBaselineTime)
{
//****NB: update this routine to something more maintainable
TUptTraceTester timer;
@@ -171,7 +171,7 @@
@param aMinimumExecutionBaselineTime is the minimum execution baseline time taken for commented API call, calculated in nanoseconds
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CApiCallTest::CachedTraceTime(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionTime, TInt32& aMinimumExecutionBaselineTime)
+TInt CApiCallTest::CachedTraceTimeL(TApiRunConfig& aApiRunConfig, TInt32& aMinimumExecutionTime, TInt32& aMinimumExecutionBaselineTime)
{
//NB!!! any changes to this routine and you have to update the baseline calculation as well
TUptTraceTester timer;
@@ -194,7 +194,7 @@
@param aTypicalExecutionBaselineTime is the typical execution baseline time taken for the API call, calculated in nanoseconds
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CApiCallTest::NonCachedTraceBaselineTime(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionBaselineTime)
+TInt CApiCallTest::NonCachedTraceBaselineTimeL(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionBaselineTime)
{
//****NB: update this routine to something more maintainable
TUptTraceTester timer;
@@ -223,7 +223,7 @@
@param aTypicalExecutionTime is the typical execution time taken for the API call, calculated in nanoseconds
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CApiCallTest::NonCachedTraceTime(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionTime, TInt32& aTypicalExecutionBaselineTime)
+TInt CApiCallTest::NonCachedTraceTimeL(TApiRunConfig& aApiRunConfig, TInt32& aTypicalExecutionTime, TInt32& aTypicalExecutionBaselineTime)
{
TUptTraceTester timer;
@@ -259,7 +259,7 @@
*
* @return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CApiCallTest::StackUsage(TApiRunConfig& aApiRunConfig, TInt& aApiStackUsage)
+TInt CApiCallTest::StackUsageL(TApiRunConfig& aApiRunConfig, TInt& aApiStackUsage)
{
/*
PSEUDOCODE
@@ -311,7 +311,7 @@
return err;
}
-/** This sanity test method is executed in Test() to verify that UPT StackUsage() method in
+/** This sanity test method is executed in Test() to verify that UPT StackUsageL() method in
this class are stable before any of the stack size performance tests are carried out
@return KErrNone if command was prepared correctly and system wide error code otherwise.
*/
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfcsvgenerator.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfcsvgenerator.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -48,7 +48,7 @@
ETrue=Append, EFalse=Overwrite
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CUptCsvGenerator::Open(const TDesC& aFileName, const TBool& aAppend)
+TInt CUptCsvGenerator::OpenL(const TDesC& aFileName, const TBool& aAppend)
{
iCsvFileSession.Connect();
@@ -89,7 +89,7 @@
appends a newline character.
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CUptCsvGenerator::WriteNewLine()
+TInt CUptCsvGenerator::WriteNewLineL()
{
TInt filesize;
@@ -211,7 +211,7 @@
@param aTestType is the enum identifier for the test in question
@return KErrNone if command was prepared correctly and a system wide error code otherwise.
*/
-TInt CUptCsvGenerator::WriteHeader(const TInt& aTestType)
+TInt CUptCsvGenerator::WriteHeaderL(const TInt& aTestType)
{
RBuf8 buf;
CleanupClosePushL(buf);
@@ -294,7 +294,7 @@
@return KErrNone if command was prepared correctly and system wide error code otherwise.
*/
-TInt CUptCsvGenerator::Test()
+TInt CUptCsvGenerator::TestL()
{
//define filepaths for the test csv files according to the test platform.
#ifdef __WINSCW__
@@ -338,11 +338,11 @@
TInt appendcount=3;
for(TInt i=0; i!=appendcount;i++)
{
- Open(KTestFileAppend, ETrue);
+ OpenL(KTestFileAppend, ETrue);
WriteL(atestdata1);
- WriteNewLine();
+ WriteNewLineL();
WriteL(atestdata2);
- WriteNewLine();
+ WriteNewLineL();
Close();
}
@@ -352,11 +352,11 @@
// 0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000
for(TInt i=0; i!=appendcount;i++)
{
- Open(KTestFileOverwrite, EFalse);
+ OpenL(KTestFileOverwrite, EFalse);
WriteL(atestdata1);
- WriteNewLine();
+ WriteNewLineL();
WriteL(atestdata2);
- WriteNewLine();
+ WriteNewLineL();
Close();
}
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfoutputsanity.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfoutputsanity.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -71,7 +71,7 @@
if(BlockResult()==EPass)
{
- SetBlockResult(TestBaselineCsv());
+ SetBlockResult(TestBaselineCsvL());
}
return ETrue;
@@ -79,7 +79,7 @@
-TVerdict COutputCSVSanityWrapper::TestBaselineCsv()
+TVerdict COutputCSVSanityWrapper::TestBaselineCsvL()
{
//read a sanity test file
@@ -91,14 +91,14 @@
TInt size = 0;
//get the size of the reference file
#ifdef __WINSCW__
- TInt error = CsvFileSize(KReferenceWinscwCsvFile, size);
+ TInt error = CsvFileSizeL(KReferenceWinscwCsvFile, size);
#else
- TInt error = CsvFileSize(KReferenceCsvFile, size);
+ TInt error = CsvFileSizeL(KReferenceCsvFile, size);
#endif
if(error)
{
SetBlockResult(EFail);
- INFO_PRINTF2(_L("TestBaselineCsv, KReferenceCsvFile, test failed on with error code %d"), error);
+ INFO_PRINTF2(_L("TestBaselineCsvL, KReferenceCsvFile, test failed on with error code %d"), error);
}
//Set the size of the RBuf
csvReference.Create(size);
@@ -106,32 +106,32 @@
//Create csvGenerated
CCsvReader csvGenerated;
//get the size of the generated file
- error = CsvFileSize(KApiCSVFile, size);
+ error = CsvFileSizeL(KApiCSVFile, size);
if(error)
{
SetBlockResult(EFail);
- INFO_PRINTF2(_L("TestBaselineCsv, KApiCSVFile, test failed on with error code %d"), error);
+ INFO_PRINTF2(_L("TestBaselineCsvL, KApiCSVFile, test failed on with error code %d"), error);
}
//create the RBuf
csvGenerated.Create(size);
//Read the reference file into the RBuf
#ifdef __WINSCW__
- error = ReadCsvFile(KReferenceWinscwCsvFile, csvReference.Buffer());
+ error = ReadCsvFileL(KReferenceWinscwCsvFile, csvReference.Buffer());
#else
- error = ReadCsvFile(KReferenceCsvFile, csvReference.Buffer());
+ error = ReadCsvFileL(KReferenceCsvFile, csvReference.Buffer());
#endif
if(error)
{
SetBlockResult(EFail);
- INFO_PRINTF2(_L("TestBaselineCsv, ReadCsvFile(KReferenceCsvFile) failed on with error code %d"), error);
+ INFO_PRINTF2(_L("TestBaselineCsvL, ReadCsvFileL(KReferenceCsvFile) failed on with error code %d"), error);
}
//Read the generated file into the RBuf
- error = ReadCsvFile(KApiCSVFile, csvGenerated.Buffer());
+ error = ReadCsvFileL(KApiCSVFile, csvGenerated.Buffer());
if(error)
{
SetBlockResult(EFail);
- INFO_PRINTF2(_L("TestBaselineCsv, ReadCsvFile(KApiCSVFile) failed on with error code %d"), error);
+ INFO_PRINTF2(_L("TestBaselineCsvL, ReadCsvFileL(KApiCSVFile) failed on with error code %d"), error);
}
//compare the two files
@@ -164,7 +164,7 @@
}
-TInt COutputCSVSanityWrapper::CsvFileSize(const TDesC& aFilename, TInt& aSize)
+TInt COutputCSVSanityWrapper::CsvFileSizeL(const TDesC& aFilename, TInt& aSize)
{
RFs fsSession;
CleanupClosePushL(fsSession);
@@ -189,7 +189,7 @@
* The caller of the method owns the buffer
* Ie. this method allocates the buffer but the caller is responsible for destroying it.
*/
-TInt COutputCSVSanityWrapper::ReadCsvFile(const TDesC& aFilename, RBuf8& aBuffer)
+TInt COutputCSVSanityWrapper::ReadCsvFileL(const TDesC& aFilename, RBuf8& aBuffer)
{
RFs fsSession;
CleanupClosePushL(fsSession);
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfplugin.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfplugin.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -73,7 +73,7 @@
CPluginTests::CPluginTests()
{
/*Constructor*/
- iPluginTestResult = new(ELeave) CPluginTestResult;
+
__CREATE_LOG(false);
}
@@ -102,7 +102,10 @@
//const COutputPluginTestResult* COutputPluginTests::DoTestL(const TPtrC8& aPluginName, const TPluginConfiguration& aPluginSetting, const TInt& aTestDataSize, const TInt& aTestIteration)
{
//TTraceTester tracecall;
-
+ if (iPluginTestResult == NULL)
+ {
+ iPluginTestResult = new(ELeave) CPluginTestResult;
+ }
TInt numberOfTraces=aPluginRunConfig.iDataSize/16; //update magic number to a size of (trace)/bytes
//do a baseline to remove loop effects for throughput tests?????
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfresultscollector.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfresultscollector.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -85,10 +85,10 @@
//create a csvgenerator class
CUptCsvGenerator csvgenerator;
- csvgenerator.Open(aFileName,aAppend);
+ csvgenerator.OpenL(aFileName,aAppend);
//call writeheader to write the relevent test column header for the csv file,
- csvgenerator.WriteHeader(aTestType);
+ csvgenerator.WriteHeaderL(aTestType);
if(aTestType==0)
{
@@ -125,7 +125,7 @@
// __TEST_LOGNUM(iApiTest.Count());
//call write newline to write a new line in preparation for the next test object
- csvgenerator.WriteNewLine();
+ csvgenerator.WriteNewLineL();
//clear out the RArray object in preparation for the next test result object
testdataarray.Reset();
@@ -161,7 +161,7 @@
//call write newline to write a new line in preparation for the next test object
- csvgenerator.WriteNewLine();
+ csvgenerator.WriteNewLineL();
//clear out the RArray objects in preparation for the next test result object
initialpluginarray.Reset();
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfsanity.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perfsanity.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -102,7 +102,7 @@
if(BlockResult()==EPass)
{
- SetBlockResult(TestTimer());
+ SetBlockResult(TestTimerL());
}
//run this no matter if its failed or not..., just to get some statistics out.
@@ -110,14 +110,14 @@
//temporarily tagged out this test as it is causing a test timeout
//can be reinstated as soon as the device driver has been fully implemented
- //SanityTestTimedUtrace();
+ //SanityTestTimedUtraceL();
return ETrue;
}
-TVerdict CPerformanceSanityWrapper::TestTimer()
+TVerdict CPerformanceSanityWrapper::TestTimerL()
{
INFO_PRINTF1(_L("Testing User side timer functions"));
TBool passed = EFalse;
@@ -128,7 +128,7 @@
//test CUptTimer class
TTestTimer timer;
TUint32 userTime = 0;
- passed = timer.TestUserTimer(userTime);
+ passed = timer.TestUserTimerL(userTime);
INFO_PRINTF1(_L("Testing User side timer functions #2"));
if(!passed)
@@ -186,16 +186,16 @@
return BlockResult();
}
-TBool CPerformanceSanityWrapper::SanityTestTimedUtrace()
+TBool CPerformanceSanityWrapper::SanityTestTimedUtraceL()
{
TTestTimer timer;
TUint32 userSanityTime = 0;
TUint32 userSanityLongTime = 0;
TUint32 userUtraceTime = 0;
- timer.TestUserTimer(userSanityTime);
- timer.TestUserLongTimer(userSanityLongTime);
- timer.TestUTraceUserTimer(userUtraceTime);
+ timer.TestUserTimerL(userSanityTime);
+ timer.TestUserLongTimerL(userSanityLongTime);
+ timer.TestUTraceUserTimerL(userUtraceTime);
TUint32 kernelSanityTime = 0;
// TUint32 kernelSanityLongTime = 0;
@@ -226,8 +226,8 @@
//I want to find out what the variation is, is it static 0.5us, or is it 10% variable, or what?
for(TInt i = 0; i < iters; i++)
{
- timer.TestUserTimer(user[i]);
- timer.TestUserLongTimer(ulong[i]);
+ timer.TestUserTimerL(user[i]);
+ timer.TestUserLongTimerL(ulong[i]);
utracedriver.SanityTestTimer(kernel[i]);
//utracedriver.SanityTestLongTimer(klong[i]);
}
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perftracetester.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/src/te_perftracetester.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -66,7 +66,7 @@
TUint32 callResults[KNumberOfTraceCallIterations];
for(TInt i = 0; i < KNumberOfTraceCallIterations; i++)
{
- error = TimeTraceCall(aApiRunConfig, aApiRunResults);
+ error = TimeTraceCallL(aApiRunConfig, aApiRunResults);
callResults[i] = aApiRunResults.iApiTraceTime;
}
TUint32 total = 0;
@@ -76,7 +76,7 @@
return error;
}
-TInt TUptTraceTester::TimeTraceCall(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults)
+TInt TUptTraceTester::TimeTraceCallL(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults)
{
TInt error = KErrNone;
if(TUptTraceCalls::IsKernelTrace(aApiRunConfig.iApiId))
@@ -91,13 +91,13 @@
}
else
{
- error = TimeUsersideTraceCalls(aApiRunConfig, aApiRunResults);
+ error = TimeUsersideTraceCallsL(aApiRunConfig, aApiRunResults);
}
return error;
}
-TInt TUptTraceTester::TimeUsersideTraceCalls(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults) //pass the configuration here
+TInt TUptTraceTester::TimeUsersideTraceCallsL(const TApiRunConfig& aApiRunConfig, TApiRunResults& aApiRunResults) //pass the configuration here
{
aApiRunResults.iTimeCount = 0;
CUptTimer timer;
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_default.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_default.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_default.script
//! @SYMScriptTestEnvironment TEF
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_guidelines.script
//! @SYMScriptTestEnvironment TEF
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines_disabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines_disabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_guidelines_disabled.script
//! @SYMScriptTestEnvironment TEF
@@ -38,7 +38,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering on, Component ID Filtering on, GroupID filter matches trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes..
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_gon_con_gmatch_cmatch.ini
@@ -63,7 +63,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering on, Component ID Filtering on, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_gon_con_gmatch_cmismatch.ini
@@ -88,7 +88,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering on, Component ID Filtering on, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_gon_con_gmismatch_cmatch.ini
@@ -113,7 +113,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering on, Component ID Filtering off, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_gon_coff_gmatch_cmismatch.ini
@@ -138,7 +138,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering on, Component ID Filtering off, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_gon_coff_gmismatch_cmatch.ini
@@ -163,7 +163,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering off, Component ID Filtering on, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_goff_con_gmismatch_cmatch.ini
@@ -188,7 +188,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering off, Component ID Filtering on, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_goff_con_gmatch_cmismatch.ini
@@ -213,7 +213,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled out, GroupID filtering off, Component ID Filtering off, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_disabled \testdata\configs\te_perf_goff_coff_gmatch_cmatch.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines_enabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_guidelines_enabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_guidelines_enabled.script
//! @SYMScriptTestEnvironment TEF
@@ -38,7 +38,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering on, Component ID Filtering on, GroupID filter matches trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes..
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_gon_con_gmatch_cmatch.ini
@@ -63,7 +63,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering on, Component ID Filtering on, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_gon_con_gmatch_cmismatch.ini
@@ -88,7 +88,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering on, Component ID Filtering on, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_gon_con_gmismatch_cmatch.ini
@@ -113,7 +113,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering on, Component ID Filtering off, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_gon_coff_gmatch_cmismatch.ini
@@ -138,7 +138,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering on, Component ID Filtering off, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_gon_coff_gmismatch_cmatch.ini
@@ -163,7 +163,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering off, Component ID Filtering on, GroupID filter doesn't match trace point, Component ID filter matches trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_goff_con_gmismatch_cmatch.ini
@@ -188,7 +188,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering off, Component ID Filtering on, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_goff_con_gmatch_cmismatch.ini
@@ -213,7 +213,7 @@
//! @SYMTestActions Calculate the typical and minimum times taken for trace APIs (compiled in, GroupID filtering off, Component ID Filtering off, GroupID filter matches trace point, Component ID filter doesn't match trace point) and run configs specified in the te_perf_default.ini config file. Output to te_apitestresults.csv along with its stack usage.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs, other than expected by source code changes.
//! @SYMTestType ST
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 10000 te_ostv2integsuite_enabled \testdata\configs\te_perf_goff_coff_gmatch_cmatch.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_outputcsvsanity.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_outputcsvsanity.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_outputcsvsanity.script
//! @SYMScriptTestEnvironment TEF
@@ -35,7 +35,7 @@
//! @SYMTestActions Compares a baseline.csv file included in the reference subfolder of the integration tests with that output from a default performance test ru n and return a fail if any of the column elements>10% from that expected. All elements compared and reported back with associated discrepancy
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs.
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_perf_outputcsvsanity.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_sanity.script
//! @SYMScriptTestEnvironment TEF
@@ -29,7 +29,7 @@
//! @SYMTestActions Compares lauterbach measured time for foo() with that generated in the returns a fail it is>10% from that expected.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the timer resolution figures from hardware measurement.
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12122 12761
START_TEST_BLOCK 100 te_ostv2integsuite_enabled \testdata\configs\te_perf_sanity.ini
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity_disabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity_disabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_sanity_disabled.script
//! @SYMScriptTestEnvironment TEF
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity_enabled.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanity_enabled.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_sanity_enabled.script
//! @SYMScriptTestEnvironment TEF
--- a/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanityloop.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/te_ostv2integsuite_performance/testdata/scripts/te_perf_sanityloop.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName te_perf_sanityloop.script
//! @SYMScriptTestEnvironment TEF
--- a/traceservices/tracefw/integ_test/ost/TEF/traces/OstTraceDefinitions.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ost/TEF/traces/OstTraceDefinitions.h Thu Jul 22 16:49:09 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 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:
-*
-*/
#ifndef __OSTTRACEDEFINITIONS_H__
#define __OSTTRACEDEFINITIONS_H__
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
--- a/traceservices/tracefw/integ_test/ulogger/TEF/device-driver/src/d_usbc.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/device-driver/src/d_usbc.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -278,9 +278,9 @@
}
if (id < 0)
{
- // DoRequest
+ // DoRequestL
TRequestStatus* pS = (TRequestStatus*) m.Ptr0();
- DoRequest(~id, pS, m.Ptr1(), m.Ptr2());
+ DoRequestL(~id, pS, m.Ptr1(), m.Ptr2());
m.Complete(KErrNone, ETrue);
}
else
@@ -314,10 +314,10 @@
}
// Asynchronous requests - overriding pure virtual
//
-void DLddUsbcChannel::DoRequest(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2)
+void DLddUsbcChannel::DoRequestL(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2)
{
// Check on request status
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest 0x%08x", aReqNo));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL 0x%08x", aReqNo));
if (aReqNo <= KUsbcMaxRequests)
{
TInt r = KErrNone;
@@ -442,7 +442,7 @@
// ep0 requests
if (!(iValidInterface || iOwnsDeviceControl))
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest rejected: not configured (Ep0)"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL rejected: not configured (Ep0)"));
r = KErrUsbInterfaceNotReady;
goto exit;
}
@@ -454,7 +454,7 @@
iDeviceState == EUsbcDeviceStateSuspended))
)
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest rejected not configured (Ep %d)", aEndpointNum));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL rejected not configured (Ep %d)", aEndpointNum));
r = KErrUsbInterfaceNotReady;
goto exit;
}
@@ -462,7 +462,7 @@
if (!ValidEndpoint(aEndpointNum))
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Read: in error complete"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Read: in error complete"));
r = KErrUsbEpNotInInterface;
goto exit;
}
@@ -481,13 +481,13 @@
pEndpoint = iEndpoint[aEndpointNum];
if (!pEndpoint)
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Read: in error complete"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Read: in error complete"));
r = KErrUsbEpNotInInterface;
goto exit;
}
pEndpointInfo = pEndpoint->EndpointInfo();
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest %d", aEndpointNum));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL %d", aEndpointNum));
switch (pTfr->iTransferType)
{
@@ -497,7 +497,7 @@
case ETransferTypeReadUntilShort:
case ETransferTypeReadOneOrMore:
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Read"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Read"));
if (pEndpoint->iDmaBuffers->RxIsActive())
{
//__KTRACE_OPT(KUSB, Kern::Printf("**** ReadReq ep%d RxActive", aEndpointNum));
@@ -511,7 +511,7 @@
pEndpointInfo->iDir != KUsbEpDirBidirect)
{
// Trying to do the wrong thing
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Read: in error complete"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Read: in error complete"));
r = KErrUsbEpBadDirection;
break;
}
@@ -530,7 +530,7 @@
{
if (pTfr->iTransferType == ETransferTypeReadPacket)
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Read packet: data available complete"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Read packet: data available complete"));
r = pEndpoint->CopyToClient(iClient);
aNeedsCompletion = ETrue;
break;
@@ -539,7 +539,7 @@
{
if (pTfr->iTransferSize <= pEndpoint->RxBytesAvailable())
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Read data: data available complete"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Read data: data available complete"));
r = pEndpoint->CopyToClient(iClient);
aNeedsCompletion = ETrue;
break;
@@ -553,7 +553,7 @@
{
if (pEndpoint->RxBytesAvailable() > 0)
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Read data: data available complete"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Read data: data available complete"));
r = pEndpoint->CopyToClient(iClient);
aNeedsCompletion = ETrue;
break;
@@ -571,7 +571,7 @@
(nRx < maxPacketSize) ||
pEndpoint->iDmaBuffers->ShortPacketExists())
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Read data: data available complete"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Read data: data available complete"));
r = pEndpoint->CopyToClient(iClient);
aNeedsCompletion = ETrue;
}
@@ -584,7 +584,7 @@
r = pEndpoint->TryToStartRead(EFalse);
if (r != KErrNone)
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Read: couldn't start read"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Read: couldn't start read"));
r = KErrNone; // Reader full isn't a userside error;
}
break;
@@ -592,33 +592,33 @@
case ETransferTypeWrite:
{
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Write 1"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Write 1"));
if (pEndpointInfo->iDir != KUsbEpDirIn &&
pEndpointInfo->iDir != KUsbEpDirBidirect)
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Write: wrong direction complete"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Write: wrong direction complete"));
r = KErrUsbEpBadDirection;
break;
}
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Write 2"));
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Write 2"));
TAny* logicalSrc = pTfr->iDes;
TInt desLength = Kern::ThreadGetDesLength(iClient, logicalSrc);
if (desLength < pTfr->iTransferSize)
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Write: user buffer too short"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Write: user buffer too short"));
r = KErrUsbTransferSize;
break;
}
- //__KTRACE_OPT(KUSB, Kern::Printf("DoRequest Write 3 length=%d maxlength=%d",
+ //__KTRACE_OPT(KUSB, Kern::Printf("DoRequestL Write 3 length=%d maxlength=%d",
// pTfr->iTransferSize, desLength));
// Zero length writes are acceptable
pEndpoint->SetClientWritePending(ETrue);
r = pEndpoint->TryToStartWrite(pTfr);
if (r != KErrNone)
{
- //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequest Write: couldn't start write"));
+ //__KTRACE_OPT(KPANIC, Kern::Printf(" Error: DoRequestL Write: couldn't start write"));
pEndpoint->SetClientWritePending(EFalse);
}
break;
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/inc/te_uloggermclsuitedefs.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/inc/te_uloggermclsuitedefs.h Thu Jul 22 16:49:09 2010 +0100
@@ -34,7 +34,7 @@
public:
~CClearConfig();
CClearConfig();
- void Clear(RULogger& loggerSession);
+ void ClearL(RULogger& loggerSession);
//private:
};
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggerconfigfile.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggerconfigfile.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-api-uloggerv1-configfile-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -38,7 +38,7 @@
//! @SYMTestActions Compare the settings in the ulogger server with that specified in the test config file in \testdata\configs\configfiletracecontrolconfig.ini
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPublicConfigFileTestStep
@@ -60,7 +60,7 @@
//! @SYMTestActions Having deleted c:\ulogger\uloggerconfig.ini in the public path, now compare the settings in the ulogger server with that specified by default in the private path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPrivateConfigFileTestStep
@@ -82,7 +82,7 @@
//! @SYMTestActions Having reinstated a config file on the public path, now compare the settings in the ulogger server with that specified in the public path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPublicConfigFileTestStep
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggerconfigfile_winscw.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggerconfigfile_winscw.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-api-uloggerv1-configfilewinscw-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -36,7 +36,7 @@
//! @SYMTestActions Compare the settings in the ulogger server with that specified in the test config file in \testdata\configs\configfiletracecontrolconfig.ini
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPublicConfigFileTestStep
@@ -57,7 +57,7 @@
//! @SYMTestActions Having deleted c:\ulogger\uloggerconfig.ini in the public path, now compare the settings in the ulogger server with that specified by default in the private path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPrivateConfigFileTestStep
@@ -77,7 +77,7 @@
//! @SYMTestActions Having reinstated a config file on the public path, now compare the settings in the ulogger server with that specified in the public path
//! @SYMTestExpectedResults Verify that the returned settings match those expected (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerPublicConfigFileTestStep
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggermclperfsuite.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggermclperfsuite.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-api-uloggerv1-performance-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -31,7 +31,7 @@
//! @SYMTestActions Calculate the cached and non-cached times taken for user side trace APIs, outputting to file and serial plugins.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs.
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000000 te_uloggermclsuite ULoggerMCLUserPerfStep
@@ -53,7 +53,7 @@
//! @SYMTestActions Calculate the cached and non-cached times taken for kernel side trace APIs, outputting to file and serial plugins.
//! @SYMTestExpectedResults Verify that there has not been any significant change in the performance figures from previous runs.
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000000 te_uloggermclsuite ULoggerMCLKernelPerfStep
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggermclsuite.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggermclsuite.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-api-uloggerv1-integration-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -32,7 +32,7 @@
//! @SYMTestActions Run a combination of single and multiple Primary filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the returned gettings match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPIPrimTestStep
@@ -46,7 +46,7 @@
//! @SYMTestActions Run a combination of single and multiple Secondary filter set() methods and check the contents of the get() methods on server return the filters as expected
//! @SYMTestExpectedResults Verify that the returned gettings match those expected from settings (test step returns a test pass if so)
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 20000 te_uloggermclsuite ULoggerAPISecondTestStep
@@ -60,7 +60,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace points accordingly for positive, begative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the setttings in the ulogger accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPILoggingTestStep
@@ -74,7 +74,7 @@
//! @SYMTestActions Run a combination of buffer resizing methods and run over various stress testing trace instrumentations. check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains #traces as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerBufferSizingStep
@@ -88,7 +88,7 @@
//! @SYMTestActions Run a combination of buffer mode change methods and run over various stress testing trace instrumentations. check the contents of the output file is as expected
//! @SYMTestExpectedResults Verify that output file contains a trace pattern as expected from buffer mode type
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerBufferModeStep
@@ -102,7 +102,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace points accordingly for positive, begative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the setttings in the ulogger accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPIKernelTestStep
@@ -116,7 +116,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument user-side trace printf-style points accordingly for positive, begative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the setttings in the ulogger accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPIPrintfTestStep
@@ -130,7 +130,7 @@
//! @SYMTestActions Run a combination of single and multiple filter and filtering set() methods instrument kernel-side trace printf-style points accordingly for positive, begative and multiple setting tests
//! @SYMTestExpectedResults Verify that the returned trace data and the output trace log files match the setttings in the ulogger accordingly
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPIKernelPrintfTestStep
@@ -146,7 +146,7 @@
//! @SYMTestActions Run a combination of plguin configuration methods for the file plugin and log over trace instrumentaion
//! @SYMTestExpectedResults Verify that the trace data is output as expected to the file plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerFilePluginStep
@@ -160,7 +160,7 @@
//! @SYMTestActions Run a combination of plguin configuration methods for the serial plugin and log over trace instrumentaion
//! @SYMTestExpectedResults Verify that the trace data is output as expected to the serial plugin
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerSerialPluginStep
@@ -174,7 +174,7 @@
//! @SYMTestActions Run a combination of plguin configuration methods for the file plugin and test on the return errors
//! @SYMTestExpectedResults Verify that the errors returned are as expected
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerFilePluginStepErr
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggersysstart.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/scripts/te_uloggersysstart.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -14,7 +14,7 @@
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-api-uloggerv1-sysstart-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -34,7 +34,7 @@
//! @SYMTestActions Compile a rom with uloggersysstart.exe compiled into startup sequence and uncomment #define systart in ULoggerAPILoggingTestStep. Run test step.
//! @SYMTestExpectedResults Verify that the output log contains btrace output from bott sequence as well as trace points enabled in ULoggerAPILoggingTestStep
//! @SYMTestType CT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_uloggermclsuite ULoggerAPILoggingTestStep
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerapiteststep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerapiteststep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -81,7 +81,7 @@
Result=logger.Connect();
INFO_PRINTF2(_L("connect err %d"), Result);
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
INFO_PRINTF2(_L("connect err %d"), Result);
Result=logger.SetPrimaryFiltersEnabled(*setfilter,ETrue);
@@ -280,7 +280,7 @@
// ************** Block end ****************
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.Close();
if(setfilter)
delete setfilter;
@@ -361,7 +361,7 @@
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
Result = logger.SetSecondaryFiltersEnabled(setfilter,ETrue);
INFO_PRINTF2(_L("Secondary filter has been set with single filter, %d, check log"), setfilter[0]);
INFO_PRINTF2(_L("code: %d"), Result);
@@ -547,7 +547,7 @@
}
}
INFO_PRINTF1(_L("Now call clear config to check removing multiple second filters performance"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
INFO_PRINTF1(_L("after clear config- multiple second filters performance"));
if(Result==1)
@@ -640,7 +640,7 @@
#endif
#ifndef SysStartTest
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
#endif
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
@@ -909,7 +909,7 @@
{
INFO_PRINTF1(_L("Now do some multiple type logging testing."));
//CClearConfig configIni;
- //configIni.Clear(logger);
+ //configIni.ClearL(logger);
if(Result==0)
{
@@ -1062,7 +1062,7 @@
multsetprimfilter=NULL;
}
}
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
else
INFO_PRINTF1(_L("adding file as output plugin failed"));
@@ -1151,7 +1151,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
@@ -1377,7 +1377,7 @@
else
SetTestStepResult(EFail);
INFO_PRINTF1(_L("Multiple logging to file with kernel side tracing has been tested - check output log. It should contain four lines of tracing of type, (sec,prim), (sec+2, prim), (sec, prim+2), (sec+2, prim+2)"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
if(setprimfilter)
{
@@ -1462,7 +1462,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
@@ -1643,7 +1643,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
@@ -1870,7 +1870,7 @@
else
SetTestStepResult(EFail);
INFO_PRINTF1(_L("Multiple printf logging to file with kernel side tracing has been tested - check output log. It should contain four lines of tracing of type, (sec,prim), (sec+2, prim), (sec, prim+2), (sec+2, prim+2)"));
- configIni.Clear(logger);
+ configIni.ClearL(logger);
}
if(setprimfilter)
{
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerbuffermodestep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerbuffermodestep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -115,7 +115,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
TInt iBufferCircular = 0;
TInt iBufferStraight = 1;
TInt iGetBuffer = 2;
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerbuffersizingstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerbuffersizingstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -98,7 +98,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerclearconfigstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerclearconfigstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -62,7 +62,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
SetTestStepResult(EPass);
return TestStepResult();
}
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerfilepluginstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerfilepluginstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -68,7 +68,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
_LIT8(KTextmedia,"uloggerfileplugin");
const TPtrC8 mediaptr(KTextmedia);
if(Result==0||Result==-11)
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerfilepluginsteperr.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerfilepluginsteperr.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -49,7 +49,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
_LIT8(KTextmedia,"te_fileplugin");
const TPtrC8 mediaptr(KTextmedia);
INFO_PRINTF1(_L("Setting test plugin as active..."));
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggermclperfstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggermclperfstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -86,7 +86,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
@@ -344,7 +344,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggermclsuitedefs.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggermclsuitedefs.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -33,7 +33,7 @@
/*Constructor*/
}
-void CClearConfig::Clear(RULogger& loggerSession)
+void CClearConfig::ClearL(RULogger& loggerSession)
{
loggerSession.Stop();
loggerSession.DeActivateInputPlugin();
--- a/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerserialpluginstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/integ_test/ulogger/TEF/te_ulogger/src/te_uloggerserialpluginstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -69,7 +69,7 @@
RULogger logger;
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
CArrayFixFlat<TUint8> *setprimfilter = new (ELeave)CArrayFixFlat<TUint8>(1);
setprimfilter->AppendL(UTracePrimary);
RArray<TUint32> setsecondfilter;
--- a/traceservices/tracefw/ost_trace_api/unit_test/lauterbach_perf_tester/group/te_lauterbach.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/lauterbach_perf_tester/group/te_lauterbach.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -29,12 +29,11 @@
LIBRARY euser.lib
#if defined (WINS)
- DEFFILE ..\bwins\te_lauterbach.def
+ DEFFILE ../bwins/te_lauterbach.def
#else
- DEFFILE ..\eabi\te_lauterbach.def
+ DEFFILE ../eabi/te_lauterbach.def
#endif
OPTION ARMCC --interleave
SMPSAFE
-
--- a/traceservices/tracefw/ost_trace_api/unit_test/lauterbach_perf_tester/inc/utracemacros.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/lauterbach_perf_tester/inc/utracemacros.h Thu Jul 22 16:49:09 2010 +0100
@@ -58,17 +58,17 @@
/**@internalComponent*/
#define UTRACE_PRIMARY_0(aClassification,aCategory,aContext,aPc,aFormatId) \
- ((BTrace::TBTrace2)BTrace::OutX) \
- (UTRACE_HEADER(8,(aClassification),(aCategory),(aContext),(aPc)), (TUint32)(aFormatId))
+ BTrace::OutX \
+ (UTRACE_HEADER(8,(aClassification),(aCategory),(aContext),(aPc)), (TUint32)(aFormatId),0,0)
/**@internalComponent*/
#define UTRACE_PRIMARY_1(aClassification,aCategory,aContext,aPc,aFormatId, aData1) \
- ((BTrace::TBTrace3)BTrace::OutX)\
- (UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1))
+ BTrace::OutX \
+ (UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1),0)
/**@internalComponent*/
#define UTRACE_PRIMARY_2(aClassification,aCategory,aContext,aPc,aFormatId,aData1,aData2) \
- (BTrace::OutX)\
+ BTrace::OutX \
(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1),(TUint32)(aData2))
/**@internalComponent
@@ -84,11 +84,11 @@
/**@internalComponent*/
#define UTRACE_SECONDARY_0(aClassification,aModuleUid,aCategory,aContext,aPc,aFormatId) \
- ((BTrace::TBTrace3)BTrace::OutFilteredX)(UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId))
+ BTrace::OutFilteredX(UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId),0)
/** @internalComponent */
#define UTRACE_SECONDARY_1(aClassification,aModuleUid,aCategory,aContext,aPc,aFormatId, aData1) \
- (BTrace::OutFilteredX)(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId),(TUint32)(aData1))
+ BTrace::OutFilteredX(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId),(TUint32)(aData1))
/** @internalComponent
* You have to use the ANY macro instead.
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_ost.iby Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_ost.iby Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -20,19 +20,19 @@
#include <ost.iby>
#include <testexecute.iby>
-file=ABI_DIR\DEBUG_DIR\te_ost_enabled.exe sys\bin\te_ost_enabled.exe
-file=ABI_DIR\DEBUG_DIR\te_ost_disabled.exe sys\bin\te_ost_disabled.exe
-file=ABI_DIR\DEBUG_DIR\te_ost_record_content.exe sys\bin\te_ost_record_content.exe
-file=ABI_DIR\DEBUG_DIR\te_ost_multipart_trace.exe sys\bin\te_ost_multipart_trace.exe
-file=ABI_DIR\DEBUG_DIR\te_ost_lauterbach.dll sys\bin\te_ost_lauterbach.dll
-file=ABI_DIR\DEBUG_DIR\te_ost_macros_disabled.exe sys\bin\te_ost_macros_disabled.exe
-file=ABI_DIR\DEBUG_DIR\te_ost_macros_enabled.exe sys\bin\te_ost_macros_enabled.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_enabled.exe sys\bin\te_ost_enabled.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_disabled.exe sys\bin\te_ost_disabled.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_record_content.exe sys\bin\te_ost_record_content.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_multipart_trace.exe sys\bin\te_ost_multipart_trace.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_lauterbach.dll sys\bin\te_ost_lauterbach.dll
+file=ABI_DIR\DEBUG_DIR\te_ost_macros_disabled.exe sys\bin\te_ost_macros_disabled.exe
+file=ABI_DIR\DEBUG_DIR\te_ost_macros_enabled.exe sys\bin\te_ost_macros_enabled.exe
-ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ost_lauterbach_kernel.dll sys\bin\te_ost_lauterbach_kernel.dll
-ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ostdd_enabled.ldd sys\bin\te_ostdd_enabled.ldd
-ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ostdd_disabled.ldd sys\bin\te_ostdd_disabled.ldd
+//ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ost_lauterbach_kernel.dll sys\bin\te_ost_lauterbach_kernel.dll
+ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ostdd_enabled.ldd sys\bin\te_ostdd_enabled.ldd
+ROM_IMAGE[0] device[VARID]=ABI_DIR\DEBUG_DIR\te_ostdd_disabled.ldd sys\bin\te_ostdd_disabled.ldd
-data=EPOCROOT##epoc32\release\winscw\udeb\z\testdata\scripts\te_ostsuite.script testdata\scripts\te_ostsuite.script
-data=EPOCROOT##epoc32\release\winscw\udeb\z\testdata\configs\te_ost_trace_user.ini testdata\configs\te_ost_trace_user.ini
+data=EPOCROOT##epoc32\release\winscw\udeb\z\testdata\scripts\te_ostsuite.script testdata\scripts\te_ostsuite.script
+data=EPOCROOT##epoc32\release\winscw\udeb\z\testdata\configs\te_ost_trace_user.ini testdata\configs\te_ost_trace_user.ini
-#endif
\ No newline at end of file
+#endif
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_record_content_suite.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_record_content_suite.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -29,11 +29,11 @@
OS_LAYER_SYSTEMINCLUDE
-USERINCLUDE ..\inc
+USERINCLUDE ../inc
USERINCLUDE ../../devicedriver/inc/
USERINCLUDE ../../lauterbach_perf_tester/inc/
-SOURCEPATH ..\src
+SOURCEPATH ../src
SOURCE te_suite_server.cpp
SOURCE te_suite_step_base.cpp
SOURCE te_check_record_content_step.cpp
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_trace_disabled_suite.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_trace_disabled_suite.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -28,11 +28,11 @@
OS_LAYER_SYSTEMINCLUDE
-USERINCLUDE ..\inc
+USERINCLUDE ../inc
USERINCLUDE ../../devicedriver/inc/
USERINCLUDE ../../lauterbach_perf_tester/inc/
-SOURCEPATH ..\src
+SOURCEPATH ../src
SOURCE te_suite_server.cpp
SOURCE te_suite_step_base.cpp
SOURCE te_check_build_variability_step.cpp
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_trace_enabled_suite.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/group/te_trace_enabled_suite.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -28,11 +28,11 @@
OS_LAYER_SYSTEMINCLUDE
-USERINCLUDE ..\inc
+USERINCLUDE ../inc
USERINCLUDE ../../devicedriver/inc/
USERINCLUDE ../../lauterbach_perf_tester/inc/
-SOURCEPATH ..\src
+SOURCEPATH ../src
SOURCE te_suite_server.cpp te_suite_step_base.cpp
SOURCE te_check_build_variability_step.cpp
SOURCE te_check_record_content_step.cpp
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_check_build_variability_step.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_check_build_variability_step.h Thu Jul 22 16:49:09 2010 +0100
@@ -35,9 +35,9 @@
// virtual TVerdict doTestStepPostambleL();
private:
TVerdict CheckBuildtimeVariability();
- TVerdict CheckLoggingVariability();
- TBool TestTraces();
- TBool DoSendTrace(TTraceApiUsed aApiUsed);
+ TVerdict CheckLoggingVariabilityL();
+ TBool TestTracesL();
+ TBool DoSendTraceL(TTraceApiUsed aApiUsed);
TBool WasTraceVariabilitySuccessful(TInt aTraceResult);
};
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_check_record_content_step.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_check_record_content_step.h Thu Jul 22 16:49:09 2010 +0100
@@ -37,7 +37,7 @@
// virtual TVerdict doTestStepPostambleL();
private:
TInt CompareTraces();
- TInt WriteTraces();
+ TInt WriteTracesL();
TInt ReadTraces();
TTraceConfigs* CreateTrace(TTraceApiUsed aApi);
TTraceParser iParser;
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_suite_step_base.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_suite_step_base.h Thu Jul 22 16:49:09 2010 +0100
@@ -50,7 +50,7 @@
TInt StartLoggingL(TTraceConfigs& aTraceData);
TInt StopLogging();
void SetLogFilename(const TDesC& aFilename);
- void DeleteLogFile();
+ void DeleteLogFileL();
protected:
TTraceTester iTraceTester;
TTraceConfigs iTraceData;
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_tracer.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/te_tracer.h Thu Jul 22 16:49:09 2010 +0100
@@ -35,7 +35,7 @@
static TInt SendTraceL(TTraceConfigs& aTraceData);
static TInt TimeTraceL(TTraceConfigs& aTraceData, TUint32& aTime, TUint32& aCount);
private:
- static TInt TimeTraceCall(TTraceConfigs& aTraceData, TUint32& aTime, TUint32& aCount);
+ static TInt TimeTraceCallL(TTraceConfigs& aTraceData, TUint32& aTime, TUint32& aCount);
};
#endif /*TE_TRACER_H_*/
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/uloggerconfig.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/inc/uloggerconfig.h Thu Jul 22 16:49:09 2010 +0100
@@ -34,8 +34,8 @@
public:
~CClearConfig();
CClearConfig();
- void Clear(RULogger& loggerSession);
- void Default(RULogger& loggerSession);
+ void ClearL(RULogger& loggerSession);
+ void DefaultL(RULogger& loggerSession);
//private:
};
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/scripts/te_ostsuite.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/scripts/te_ostsuite.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName ostv2-api-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -28,7 +28,7 @@
//! @SYMTestActions For various size payloads inducing multi-parting of the trace packet (>80bytes) test the data contained in the trace packets
//! @SYMTestExpectedResults Verify that the trace packet contain payload data multiparted as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_multipart_trace CMultiTraceTestStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -45,7 +45,7 @@
//! @SYMTestActions For trace compiled in at build time, instrument and output trace points
//! @SYMTestExpectedResults Verify that trace is implemented and output as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_enabled CCheckBuildVariabilityStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -62,7 +62,7 @@
//! @SYMTestActions For trace compiled out at build time, instrument and output trace points
//! @SYMTestExpectedResults Verify that trace is implemented and not output as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_disabled CCheckBuildVariabilityStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -80,7 +80,7 @@
//! @SYMTestActions Check record content of logged trace packets is as expected for the sent packet
//! @SYMTestExpectedResults Verify that trace is implemented and output as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_record_content CCheckRecordContentStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -99,7 +99,7 @@
//! @SYMTestActions Measure the trace time of the implemented APIs
//! @SYMTestExpectedResults Verify that performance of the trace APIs are not significantly more intrusive than previous implementations
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_record_content CCheckPerformanceStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -116,7 +116,7 @@
//! @SYMTestActions Test the implemented OSTv1-style APIs when compiled in
//! @SYMTestExpectedResults Verify that the OSTv1-style trace APIs return trace packets as expected by the instrumentation
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_macros_enabled COstMacrosEnabledStep z:\testdata\configs\te_ost_trace_user.ini variability
@@ -133,7 +133,7 @@
//! @SYMTestActions Test the implemented OSTv1-style APIs when compiled out
//! @SYMTestExpectedResults Verify that the OSTv1-style trace APIs don't return trace packets as expected by the instrumentation
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ2390
//! @SYMREQ 12115 12144 12761 12825
RUN_TEST_STEP 100 te_ost_macros_disabled COstMacrosDisabledStep z:\testdata\configs\te_ost_trace_user.ini variability
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_build_variability_step.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_build_variability_step.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -88,13 +88,13 @@
CheckBuildtimeVariability();
if (TestStepResult()==EPass)
{//now check that logging occurs properly
- CheckLoggingVariability();
+ CheckLoggingVariabilityL();
}
}
return TestStepResult();
}
-TVerdict CCheckBuildVariabilityStep::CheckLoggingVariability()
+TVerdict CCheckBuildVariabilityStep::CheckLoggingVariabilityL()
{
//test all cases when logging is enabled
INFO_PRINTF2(_L("--- Logging enabled, tracing built in %i ---"), iTraceData.iTracingBuiltIn);
@@ -108,7 +108,7 @@
SetTestStepResult(EFail);
return TestStepResult();
}
- TBool passLogging = TestTraces();
+ TBool passLogging = TestTracesL();
//test all cases where logging is disabled
INFO_PRINTF1(_L("--- Logging disabled ---"));
iTraceData.iLoggingEnabled = EFalse;
@@ -120,7 +120,7 @@
return TestStepResult();
}
- TBool passNoLogging = TestTraces();
+ TBool passNoLogging = TestTracesL();
//if any of the cases failed, fail the test step
if((passLogging == EFalse) || (passNoLogging == EFalse))
@@ -130,7 +130,7 @@
return TestStepResult();
}
-TBool CCheckBuildVariabilityStep::TestTraces()
+TBool CCheckBuildVariabilityStep::TestTracesL()
{
TBool allPassed = ETrue;
for(TInt i = 1; i <= KAPIMaxNumberOfTraceApis; i++)
@@ -142,7 +142,7 @@
if(i == EContextTClassification)
INFO_PRINTF1(_L("-- Testing contexts --"));
- if(DoSendTrace((TTraceApiUsed)i))
+ if(DoSendTraceL((TTraceApiUsed)i))
INFO_PRINTF2(_L("Trace %i - ok"), i);
else
allPassed = EFalse;
@@ -153,7 +153,7 @@
}
-TBool CCheckBuildVariabilityStep::DoSendTrace(TTraceApiUsed aApiUsed)
+TBool CCheckBuildVariabilityStep::DoSendTraceL(TTraceApiUsed aApiUsed)
{
iTraceData.iApiUsed = aApiUsed;
TInt result = iTraceTester.SendTraceL(iTraceData);
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_performance_step.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_performance_step.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -49,11 +49,12 @@
SetTestStepName(KCheckPerformanceStep);
SetLogFilename(KLogFilename);
- DeleteLogFile();
}
TVerdict CCheckPerformanceStep::doTestStepPreambleL()
{
+ DeleteLogFileL();
+
if(TestStepResult()==EPass)
{
//SetTestStepResult(EFail);
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_record_content_step.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_check_record_content_step.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -52,11 +52,12 @@
SetTestStepName(KCheckRecordContentStep);
SetLogFilename(KLogFilename);
- DeleteLogFile();
}
TVerdict CCheckRecordContentStep::doTestStepPreambleL()
{
+ DeleteLogFileL();
+
if(TestStepResult()==EPass)
{
//SetTestStepResult(EFail);
@@ -79,7 +80,7 @@
TInt error = KErrNone;
INFO_PRINTF1(_L("-------- Writing traces --------"));
- error = WriteTraces();
+ error = WriteTracesL();
if(error)
{
INFO_PRINTF2(_L("ERROR: Error when writing traces, error %i"), error);
@@ -276,7 +277,7 @@
return trace;
}
-TInt CCheckRecordContentStep::WriteTraces()
+TInt CCheckRecordContentStep::WriteTracesL()
{
TInt error = KErrNone;
TInt lastError = KErrNone;
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_multiparttrace.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_multiparttrace.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -80,7 +80,7 @@
INFO_PRINTF1(_L("INFO: configuring ULogger..."));
User::LeaveIfError( iUlogger.Connect() );
CClearConfig configIni;
- configIni.Clear(iUlogger);
+ configIni.ClearL(iUlogger);
iUlogger.SetSecondaryFilteringEnabled(EFalse);
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_suite_step_base.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_suite_step_base.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -81,7 +81,7 @@
return KErrNone;
}
-void CTe_UTraceSuiteStepBase::DeleteLogFile()
+void CTe_UTraceSuiteStepBase::DeleteLogFileL()
{
iLogger.DeleteLogfileL();
}
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_tracer.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/te_tracer.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -31,7 +31,7 @@
TUint32 callResults[KNumberOfTraceCallIterations];
for(TInt i = 0; i < KNumberOfTraceCallIterations; i++)
{
- error = TimeTraceCall(aTraceData, aTime, aCount);
+ error = TimeTraceCallL(aTraceData, aTime, aCount);
callResults[i] = aTime;
}
TUint32 total = 0;
@@ -42,7 +42,7 @@
}
-TInt TTraceTester::TimeTraceCall(TTraceConfigs& aTraceData, TUint32& aTime, TUint32& aCount)
+TInt TTraceTester::TimeTraceCallL(TTraceConfigs& aTraceData, TUint32& aTime, TUint32& aCount)
{
TInt error = KErrNotSupported;
if(TApiCaller::IsKernelTrace(aTraceData.iApiUsed))
--- a/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/uloggerconfig.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ost_trace_api/unit_test/te_ost/src/uloggerconfig.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -26,7 +26,7 @@
/*Constructor*/
}
-void CClearConfig::Clear(RULogger& aLoggerSession)
+void CClearConfig::ClearL(RULogger& aLoggerSession)
{
aLoggerSession.Stop();
aLoggerSession.DeActivateInputPlugin();
@@ -58,9 +58,9 @@
}
//NB: currently this method does not set the default values for serial and usb! hanging the server
-void CClearConfig::Default(RULogger& aLoggerSession)
+void CClearConfig::DefaultL(RULogger& aLoggerSession)
{
- Clear(aLoggerSession);
+ ClearL(aLoggerSession);
//Now set default configurations shipped with ulogger
CArrayFixFlat<TUint8>* array = new(ELeave) CArrayFixFlat<TUint8>(4);
--- a/traceservices/tracefw/ulogger/src/pluginframework/pluginallocator.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/pluginframework/pluginallocator.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -79,12 +79,12 @@
EXPORT_C void CPluginAllocator::ConstructL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName)
{
//create output and control channels
- User::LeaveIfError(this->CreateChannels(aOutputPluginName, aInputPluginName));
+ User::LeaveIfError(this->CreateChannelsL(aOutputPluginName, aInputPluginName));
}
/*!This function create Output channel according to aOutputSettings.
*/
-TInt CPluginAllocator::CreateChannels(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName)
+TInt CPluginAllocator::CreateChannelsL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName)
{
TInt retVal = KErrNone;
--- a/traceservices/tracefw/ulogger/src/pluginframework/pluginallocator.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/pluginframework/pluginallocator.h Thu Jul 22 16:49:09 2010 +0100
@@ -53,7 +53,7 @@
private:
CPluginAllocator();
- TInt CreateChannels(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
+ TInt CreateChannelsL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
private:
CPlugin *iOutputPluginBase; //output plugin instance
--- a/traceservices/tracefw/ulogger/src/sysconfig/uloggersysconfig.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/sysconfig/uloggersysconfig.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -57,7 +57,7 @@
*/
EXPORT_C void CConfigSettingsIter::Reset()
{
- return iImpl->Reset();
+ iImpl->Reset();
}
/**
--- a/traceservices/tracefw/ulogger/src/uloggerserver/uloggerserver.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/uloggerserver/uloggerserver.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -276,7 +276,7 @@
TInt ret= KErrNone;
//check configuration file in user path (\\ulogger\\uloggerconfig.ini)
- ret = GetInstalledInputPlugins(activePluginsArray);
+ ret = GetInstalledInputPluginsL(activePluginsArray);
if(ret==KErrNone)
{
ret = KErrNotFound;
@@ -334,7 +334,7 @@
return KErrNotFound;
else
{
- TInt ret = GetValues(aMediaName,aListBuffer);
+ TInt ret = GetValuesL(aMediaName,aListBuffer);
if(ret == KErrNotFound) //this error indicate that there is no section in config file, plug-in exists
ret = KErrNone;
return ret;
@@ -347,7 +347,7 @@
Function to get values from the configuration file (i.e. for filters,plugin settings)
This should leave with KErrNotFound if it cannot find the configuration file
*/
-TInt CULoggerServer::GetValues(const TDesC8 &aSectionName, RArray<TPtrC8>& aListBuffer)
+TInt CULoggerServer::GetValuesL(const TDesC8 &aSectionName, RArray<TPtrC8>& aListBuffer)
{
TPtrC8 key;
TPtrC8 val;
@@ -386,7 +386,7 @@
@return KErrNone, if successful, otherwise one of the other system-wide
error codes.
*/
-TInt CULoggerServer::SetActiveFilter(RArray<TUint32> aCategory, TInt aFilterType)
+TInt CULoggerServer::SetActiveFilterL(RArray<TUint32> aCategory, TInt aFilterType)
{
TInt error = KErrNone;
if(aFilterType == 1)
@@ -490,7 +490,7 @@
@return KErrNone, if successful, otherwise one of the other system-wide
error codes.
*/
-TInt CULoggerServer::SetBufferSize(TInt aSize)
+TInt CULoggerServer::SetBufferSizeL(TInt aSize)
{
if(aSize > KMaxBufferSize || aSize < 1)
return KErrArgument;
@@ -532,7 +532,7 @@
@return KErrNone, if successful, otherwise one of the other system-wide
error codes.
*/
-TInt CULoggerServer::SetDataNotificationSize(TInt aSize)
+TInt CULoggerServer::SetDataNotificationSizeL(TInt aSize)
{
if(aSize > KMaxDnsSize || aSize < 0)
return KErrArgument;
@@ -644,7 +644,7 @@
RArray<TPtrC8> aValues;
if(aFilterType == 1)
{
- ret = GetValues(KPrimaryFilterSection,aValues);
+ ret = GetValuesL(KPrimaryFilterSection,aValues);
if(ret==KErrNone)
{
TInt i =0;
@@ -664,7 +664,7 @@
}
else if(aFilterType == 2)
{
- ret = GetValues(KSecondaryFilterSection,aValues);
+ ret = GetValuesL(KSecondaryFilterSection,aValues);
if(ret==KErrNone)
{
TInt i =0;
@@ -739,7 +739,7 @@
-TInt CULoggerServer::GetInstalledInputPlugins(RArray<TPtrC8>& aListBuffer)
+TInt CULoggerServer::GetInstalledInputPluginsL(RArray<TPtrC8>& aListBuffer)
{
#if defined(__LIGHTLOGGER_ENABLED) && defined(__VERBOSE_MODE)
__MARK_METHOD("CULoggerServer::GetInstalledControlPlugins")
@@ -773,7 +773,7 @@
*/
TInt CULoggerServer::GetActiveOutputPlugin(RArray<TPtrC8>& aListBuffer)
{
- TInt errCode = GetValues(KActiveSection,aListBuffer);
+ TInt errCode = GetValuesL(KActiveSection,aListBuffer);
//plugins are received as, e.g. '1 uloggerfileplugin' (.ini file syntax)
//we have to remove number from array
for(TInt i=0; i<aListBuffer.Count(); ++i)
@@ -813,7 +813,7 @@
*/
TInt CULoggerServer::GetActiveInputPlugin(RArray<TPtrC8>& aListBuffer)
{
- return GetValues(KActiveControlSection,aListBuffer);
+ return GetValuesL(KActiveControlSection,aListBuffer);
}
/**
@@ -884,7 +884,7 @@
if(iBtraceOpen == EFalse)
{
if(iIsBooting)
- error = TraceSettingsOnBoot();
+ error = TraceSettingsOnBootL();
else
error = iTrace.Open();
@@ -1015,9 +1015,8 @@
Gets the Trace settings on boot
@return none
*/
-TInt CULoggerServer::TraceSettingsOnBoot()
+TInt CULoggerServer::TraceSettingsOnBootL()
{
-
TInt trace = FALSE;
RArray<TUint32> category;
@@ -1027,9 +1026,9 @@
TInt bufferSize = iTrace.BufferSize(); //To get the buffer size set at boot
if(bufferSize <= 0 && bufferSize > KMaxBufferSize)
- SetBufferSize(KMaxBufferSize); //Update config
+ SetBufferSizeL(KMaxBufferSize); //Update config
else
- SetBufferSize(bufferSize); //Update config
+ SetBufferSizeL(bufferSize); //Update config
for(TUint i=0; i<KMaxPrimaryFiltersLimit; i++)
{
trace = iTrace.Filter(i);
@@ -1347,7 +1346,7 @@
if(errCode == KErrNone)
{
- errCode = SetActiveFilter(filterArray, EPrimaryFilter);
+ errCode = SetActiveFilterL(filterArray, EPrimaryFilter);
result.Num(errCode);
//create acknowledment
@@ -1405,7 +1404,7 @@
break;
//create ack
- errCode = SetActiveFilter(filterArray, ESecondaryFilter);
+ errCode = SetActiveFilterL(filterArray, ESecondaryFilter);
result.Num(errCode);
data = inputData->CreatePackage((void*)result.Ptr(), result.Length());
@@ -1436,7 +1435,7 @@
TInt bufSize;
TLex8 lex(aArguments[0]);
if((errCode = lex.Val(bufSize)) == KErrNone)
- errCode = SetBufferSize(bufSize);
+ errCode = SetBufferSizeL(bufSize);
}
else
errCode = KErrArgument;
@@ -1485,7 +1484,7 @@
TInt dns;
TLex8 lex(aArguments[0]);
if((errCode = lex.Val(dns)) == KErrNone)
- errCode = SetDataNotificationSize(dns);
+ errCode = SetDataNotificationSizeL(dns);
else
errCode = KErrArgument;
}
@@ -1937,7 +1936,7 @@
#endif
RArray<TPtrC8> tmpArray;
- errCode = GetInstalledInputPlugins(tmpArray);
+ errCode = GetInstalledInputPluginsL(tmpArray);
result.Num(errCode);
data = inputData->CreatePackage((void*)result.Ptr(), result.Length());
@@ -2015,7 +2014,7 @@
TInt errCode = 0;
CPlugin::TPluginInterface interfaceId;
//assign filter value
- aFilter==EOutputPluginFilter ? interfaceId=MOutputPlugin::iInterfaceId : interfaceId=MInputPlugin::iInterfaceId;
+ interfaceId = (aFilter == EOutputPluginFilter ? MOutputPlugin::iInterfaceId : MInputPlugin::iInterfaceId);
//filter plugins
TInt i=0;
@@ -2056,7 +2055,7 @@
if(aPluginFilter == EOutputPluginFilter)
GetInstalledOutputPlugins(pluginsArray);
else if(aPluginFilter == EInputPluginFilter)
- GetInstalledInputPlugins(pluginsArray);
+ GetInstalledInputPluginsL(pluginsArray);
for(TInt i=0; i<pluginsArray.Count(); ++i)
if(aPluginName.Compare(pluginsArray[i])==0)
--- a/traceservices/tracefw/ulogger/src/uloggerserver/uloggerserver.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/uloggerserver/uloggerserver.h Thu Jul 22 16:49:09 2010 +0100
@@ -88,7 +88,7 @@
//filters
TInt GetActiveFilters(RArray<TUint32>& aListBuffer,TInt aFilterType);
- TInt SetActiveFilter(RArray<TUint32> aCategory, TInt aFilterType);
+ TInt SetActiveFilterL(RArray<TUint32> aCategory, TInt aFilterType);
TInt RemoveActiveFilter(RArray<TUint32>& aValue, const TInt aFilterType);
TInt SetSecondaryFiltering(const TDesC8& aEnabled);
TInt GetSecondaryFiltering(TBool& aEnabled);
@@ -102,14 +102,14 @@
TInt DeActivateInputPlugin(const TDesC8& aPluginname);
TInt GetActiveInputPlugin(RArray<TPtrC8>& aListBuffer);
TInt SetActiveInputPlugin(const TDesC8& aPluginname);
- TInt GetInstalledInputPlugins(RArray<TPtrC8>& aListBuffer);
+ TInt GetInstalledInputPluginsL(RArray<TPtrC8>& aListBuffer);
//buffers
TInt GetOptionsSettingsL(const TDesC8& aMedianame, RArray<TPtrC8>& aListBuffer);
TInt GetBufandDataNotifyValuesL(const TDesC8& aSetting,TInt& value);
TInt SetBufferMode(const TDesC8& aValue);
- TInt SetBufferSize(TInt aSize);
- TInt SetDataNotificationSize(TInt aSize);
+ TInt SetBufferSizeL(TInt aSize);
+ TInt SetDataNotificationSizeL(TInt aSize);
private:
//server related stuff
@@ -124,7 +124,7 @@
CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
//on boot things
- TInt TraceSettingsOnBoot();
+ TInt TraceSettingsOnBootL();
TInt ResetBtracePrimaryFilters(RBTrace& aBTrace);
//action related things
@@ -153,7 +153,7 @@
//filter related stuff
ControlData* SetPrimaryFilters(RArray<TPtrC8> &aArguments);
- TInt GetValues(const TDesC8& aSectionName, RArray<TPtrC8>& aListBuffer);
+ TInt GetValuesL(const TDesC8& aSectionName, RArray<TPtrC8>& aListBuffer);
private:
//data
TInt iRunAsService;
--- a/traceservices/tracefw/ulogger/src/uloggerserver/uloggersession.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/uloggerserver/uloggersession.h Thu Jul 22 16:49:09 2010 +0100
@@ -45,7 +45,7 @@
CULoggerSession(RThread& aClient, CULoggerServer& aServer);
void ConstructL();
- void SendInteger(const RMessage2& aMessage, TUint32 aInt);
+ void SendIntegerL(const RMessage2& aMessage, TUint32 aInt);
//void PanicClient(TInt aPanic) const;
//data
--- a/traceservices/tracefw/ulogger/src/uloggerserver/uloggersrvsession.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/src/uloggerserver/uloggersrvsession.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -141,7 +141,7 @@
filterArray.Append((TUint32)array->At(i));
}
- error = iServer.SetActiveFilter(filterArray, EPrimaryFilter);
+ error = iServer.SetActiveFilterL(filterArray, EPrimaryFilter);
CleanupStack::PopAndDestroy(2,desData); //array, desData
filterArray.Close();
@@ -218,7 +218,7 @@
TUint32 tmp=1;
InternalizeFromBufL(readPtr, filterArray, tmp);
- error = iServer.SetActiveFilter(filterArray,ESecondaryFilter);
+ error = iServer.SetActiveFilterL(filterArray,ESecondaryFilter);
CleanupStack::PopAndDestroy(); //desData
filterArray.Close();
@@ -285,7 +285,7 @@
{
TBool enabled = EFalse;
iServer.GetSecondaryFiltering(enabled);
- SendInteger(aMessage, (TInt)enabled);
+ SendIntegerL(aMessage, (TInt)enabled);
}
break;
@@ -452,7 +452,7 @@
{
//Get the installed plugins
RArray<TPtrC8> tmpArray;
- error = iServer.GetInstalledInputPlugins(tmpArray);
+ error = iServer.GetInstalledInputPluginsL(tmpArray);
if(!error)
{
//<rewrite array and add separator to each record>
@@ -547,7 +547,7 @@
{
//Resize buffer size
TInt bufferSize = aMessage.Int0();
- error = iServer.SetBufferSize(bufferSize);
+ error = iServer.SetBufferSizeL(bufferSize);
}
break;
@@ -556,7 +556,7 @@
//Get buffer size
TInt bufferSize = 0;
error = iServer.GetBufandDataNotifyValuesL(KBuffer,bufferSize);
- SendInteger(aMessage, bufferSize);
+ SendIntegerL(aMessage, bufferSize);
}
break;
@@ -577,7 +577,7 @@
//Get buffer size
TInt bufferMode = 3;
error = iServer.GetBufandDataNotifyValuesL(KBufferMode,bufferMode);
- SendInteger(aMessage, bufferMode);
+ SendIntegerL(aMessage, bufferMode);
}
break;
@@ -585,7 +585,7 @@
{
//Set data notification size
TInt dataNotification = aMessage.Int0();
- error = iServer.SetDataNotificationSize(dataNotification);
+ error = iServer.SetDataNotificationSizeL(dataNotification);
}
break;
@@ -594,7 +594,7 @@
//Get Data Notification size
TInt dataNotification = 0;
error = iServer.GetBufandDataNotifyValuesL(KDataNotification,dataNotification);
- SendInteger(aMessage, dataNotification);
+ SendIntegerL(aMessage, dataNotification);
}
break;
@@ -607,7 +607,7 @@
aMessage.Complete(error);
}
-void CULoggerSession::SendInteger(const RMessage2& aMessage, TUint32 aInt)
+void CULoggerSession::SendIntegerL(const RMessage2& aMessage, TUint32 aInt)
{
HBufC8* size = HBufC8::NewLC(32);
size->Des().Num(aInt);
--- a/traceservices/tracefw/ulogger/unit_test/group/bld.inf Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/group/bld.inf Thu Jul 22 16:49:09 2010 +0100
@@ -13,9 +13,6 @@
// Description:
//
-PRJ_PLATFORMS
-WINSCW
-ARMV5
PRJ_TESTEXPORTS
//te_outfrwk files
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_client.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_client.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -14,7 +14,7 @@
//
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-client-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -39,7 +39,7 @@
//! @SYMTestActions Connect to ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestConnectStep
@@ -55,7 +55,7 @@
//! @SYMTestActions Set Primary Filter in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestSetPrimaryFltStep
@@ -71,7 +71,7 @@
//! @SYMTestActions Start ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestStartStep
@@ -87,7 +87,7 @@
//! @SYMTestActions Stop ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestStopStep
@@ -103,7 +103,7 @@
//! @SYMTestActions Get Primeay Filter in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestGetPrimaryFiltersLStep
@@ -119,7 +119,7 @@
//! @SYMTestActions Get secondary Filter in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestGetSecondaryFiltersLStep
@@ -135,7 +135,7 @@
//! @SYMTestActions Get buffer size in ulogger client
//! @SYMTestExpectedResults error return/buffer size as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestGetTraceBufferSizeStep
@@ -150,7 +150,7 @@
//! @SYMTestActions Remove Primeay Filter in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP -1 UloggerClientAPIServer TestRemovePrimaryFltStep
@@ -166,7 +166,7 @@
//! @SYMTestActions Resize buffer size in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestResizeTraceBufferSizeStep
@@ -183,7 +183,7 @@
//! @SYMTestActions Set DNS in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestSetDataNotificationSizeStep
@@ -199,7 +199,7 @@
//! @SYMTestActions Set all secondary Filtesr in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestSetSecondaryFilterAllStep
@@ -214,7 +214,7 @@
//! @SYMTestActions Set one secondary Filtesr in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestSetSecondaryFltStep
@@ -231,7 +231,7 @@
//! @SYMTestActions Get version in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestVersionStep
@@ -247,7 +247,7 @@
//! @SYMTestActions Deactivate output plugin in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerClientAPIServer TestDeactivateOutputPluginStep
@@ -263,7 +263,7 @@
//! @SYMTestActions Call RULogger API in ulogger client
//! @SYMTestExpectedResults error return as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 2000 UloggerClientAPIServer TestRULoggerAPIStep
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_file.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_file.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-file-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -32,7 +32,7 @@
//! @SYMTestActions Set and configure file plugin
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 uloggerplugfiletest file0Step
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_outfrwk.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_outfrwk.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-outfrwk-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -34,7 +34,7 @@
//! @SYMTestActions Set and configure output framework server
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 UloggerOutfrmwkServer TextMessageTeststep
@@ -48,7 +48,7 @@
//! @SYMTestActions Set and configure output framework server with OOM
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP !OOM 100 UloggerOutfrmwkServer TextMessageTeststep
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_serial.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_serial.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-serial-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -34,7 +34,7 @@
//! @SYMTestActions Set and configure serial plugin
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 uloggerplugserialtest serial0Step
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_server.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_server.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-server-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -39,7 +39,7 @@
//! @SYMTestActions STart and Stop watching in the server
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UloggerServerTestSuite UloggerServerTest0Step
@@ -52,7 +52,7 @@
//! @SYMTestActions Call all possibly get/set/configure ulogger command methods in the server
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_UloggerServerTestSuite UloggerServerTest1Step
@@ -65,7 +65,7 @@
//! @SYMTestActions Call NewL and NewLC to create new server sessions
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UloggerServerTestSuite UloggerServerTest2Step
@@ -78,7 +78,7 @@
//! @SYMTestActions Call NewL and NewLC to create new plugin allocations under various conditions
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UloggerServerTestSuite UloggerServerTest3Step
@@ -91,7 +91,7 @@
//! @SYMTestActions Start/Stop reading and test functionality of passing and translating commands for server control framework
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 1000 te_UloggerServerTestSuite UloggerServerTest4Step
@@ -104,7 +104,7 @@
//! @SYMTestActions Call methods to change settings of server channels
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UloggerServerTestSuite UloggerServerTest5Step
@@ -117,7 +117,7 @@
//! @SYMTestActions Call methods to pass data to/fro server
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UloggerServerTestSuite UloggerServerTest6Step
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_sysconfig.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_sysconfig.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-sysconfig-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -38,7 +38,7 @@
//! @SYMTestActions Call Set/Get/Activate configuration methods for channels and plugins
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 Te_SysCfg SysCfgTeststep1
@@ -51,7 +51,7 @@
//! @SYMTestActions Call Set/Get/Remove configuration methods for sections and plugins
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 Te_SysCfg SysCfgTeststep2
@@ -64,7 +64,7 @@
//! @SYMTestActions Call Set/Get/Remove configuration methods for filters and buffer
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 Te_SysCfg SysCfgTeststep3
@@ -77,7 +77,7 @@
//! @SYMTestActions Call AddPlugin, RemoveChannel with various error cases
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 Te_SysCfg SysCfgTeststep4
--- a/traceservices/tracefw/ulogger/unit_test/scripts/te_sysstart.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/scripts/te_sysstart.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName uloggerv1-sysstart-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -32,7 +32,7 @@
//! @SYMTestActions Call available start/configuration methods for ulogger systart
//! @SYMTestExpectedResults error returns as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 uloggersysstarttest sysStart0Step
--- a/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_clearconfig.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_clearconfig.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -35,7 +35,7 @@
}
-void CClearConfig::Clear(RULogger& loggerSession)
+void CClearConfig::ClearL(RULogger& loggerSession)
{
// CArrayPtrFlat<HBufC8> *activeplugins = new (ELeave)CArrayPtrFlat<HBufC8>(1);
// CleanupStack::PushL(activeplugins);
--- a/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_clearconfig.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_clearconfig.h Thu Jul 22 16:49:09 2010 +0100
@@ -34,7 +34,7 @@
public:
~CClearConfig();
CClearConfig();
- void Clear(RULogger& loggerSession);
+ void ClearL(RULogger& loggerSession);
//private:
};
--- a/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_createconfigemptystep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_createconfigemptystep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -74,7 +74,7 @@
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
logger.SetSecondaryFilteringEnabled(EFalse);
--- a/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_createconfigfullstep.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-createconfig/te_createconfigfullstep.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -72,7 +72,7 @@
logger.Connect();
CClearConfig configIni;
- configIni.Clear(logger);
+ configIni.ClearL(logger);
_LIT8(KTextplugin,"uloggerfileplugin");
logger.ActivateOutputPlugin(KTextplugin);
--- a/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-file/uloggerfileplugintest.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-file/uloggerfileplugintest.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -36,7 +36,7 @@
delete fileWriter;
}
/*
- * TestUnlockResources: Test that the CloseOutputPlugin method ???
+ * TestUnlockResourcesL: Test that the CloseOutputPlugin method ???
*
* Expected Verdict: PASS/FAIL/PANIC
*
@@ -45,7 +45,7 @@
* Description: Retrieve and print some data from an external ini data file
*
*/
-void CFile0Step::TestUnlockResources()
+void CFile0Step::TestUnlockResourcesL()
{
CFileWriter* fileWriter = CFileWriter::NewL();
INFO_PRINTF1(_L("Invoking CFileWriter::CloseOutputPlugin(). CloseOutputPlugin() is supposed to do nothing."));
@@ -55,7 +55,7 @@
}
/*
- * TestSettings: Test that the Settings method ???
+ * TestSettingsL: Test that the Settings method ???
*
* Expected Verdict: PASS/FAIL/PANIC
*
@@ -64,7 +64,7 @@
* Description: Retrieve and print some data from an external ini data file
*
*/
-void CFile0Step::TestSettings()
+void CFile0Step::TestSettingsL()
{
CFileWriter* fileWriter = CFileWriter::NewL();
INFO_PRINTF1(_L("Passing empty RPointerArray to CFileWriter::ConfigureOutputPlugin()"));
@@ -75,7 +75,7 @@
}
/*
- * TestWrite: Test that the Write method ???
+ * TestWriteL: Test that the Write method ???
*
* Expected Verdict: PASS/FAIL/PANIC
*
@@ -86,7 +86,7 @@
*
*/
// The implementation for this is not working correctly! Check this
-void CFile0Step::TestWrite()
+void CFile0Step::TestWriteL()
{
INFO_PRINTF1(_L("Checking that CFileWriter::Write(const TDesC8&) writes a String correctly to C:\\logs\\log.txt"));
@@ -136,9 +136,9 @@
if (TestStepResult()==EPass)
{
TestNewL();
- TestUnlockResources();
- TestSettings();
- TestWrite();
+ TestUnlockResourcesL();
+ TestSettingsL();
+ TestWriteL();
if(iErrors == 0)
SetTestStepResult(EPass);
--- a/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-file/uloggerfileplugintest.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-file/uloggerfileplugintest.h Thu Jul 22 16:49:09 2010 +0100
@@ -38,9 +38,9 @@
private:
// Tests
void TestNewL();
- void TestUnlockResources();
- void TestSettings();
- void TestWrite();
+ void TestUnlockResourcesL();
+ void TestSettingsL();
+ void TestWriteL();
RFs iFileServer;
};
--- a/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-serial/uloggerserialplugintest.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-serial/uloggerserialplugintest.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -47,7 +47,7 @@
* Description: Retrieve and print some data from an external ini data file
*
*/
-void CSerial0Step::TestUnlockResources()
+void CSerial0Step::TestUnlockResourcesL()
{
Ulogger::CSerialWriter* serialWriter = Ulogger::CSerialWriter::NewL();
INFO_PRINTF1(_L("Invoking CSerialWriter::CloseOutputPlugin(). CloseOutputPlugin() is supposed to do nothing."));
@@ -66,7 +66,7 @@
* Description: Retrieve and print some data from an external ini data file
*
*/
-void CSerial0Step::TestSettings()
+void CSerial0Step::TestSettingsL()
{
Ulogger::CSerialWriter* serialWriter = Ulogger::CSerialWriter::NewL();
INFO_PRINTF1(_L("Passing empty RPointerArray to CSerialWriter::ConfigureOutputPlugin()"));
@@ -92,7 +92,7 @@
*
*/
// The implementation for this is not working correctly! Check this
-void CSerial0Step::TestWrite()
+void CSerial0Step::TestWriteL()
{
INFO_PRINTF1(_L("Checking that CSerialWriter::Write(const TDesC8&) writes a string correctly to the serial port"));
@@ -148,9 +148,9 @@
if (TestStepResult()==EPass)
{
TestNewL();
- TestUnlockResources();
- TestSettings();
- TestWrite();
+ TestUnlockResourcesL();
+ TestSettingsL();
+ TestWriteL();
if(iErrors == 0)
SetTestStepResult(EPass);
--- a/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-serial/uloggerserialplugintest.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-outfrwkchans/te-serial/uloggerserialplugintest.h Thu Jul 22 16:49:09 2010 +0100
@@ -39,9 +39,9 @@
private:
// Tests
void TestNewL();
- void TestUnlockResources();
- void TestSettings();
- void TestWrite();
+ void TestUnlockResourcesL();
+ void TestSettingsL();
+ void TestWriteL();
RFs iFileServer;
};
--- a/traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest1step.cpp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest1step.cpp Thu Jul 22 16:49:09 2010 +0100
@@ -78,8 +78,8 @@
iErrors += Test15L();//CULoggerServer::GetInstalledPlugins
iMediaCount = 0;
iErrors += Test16L();//CULoggerServer::GetOutputPluginSettingsL
- iErrors += Test18L();//CULoggerServer::SetBufferSize
- iErrors += Test19L();//CULoggerServer::SetDataNotificationSize
+ iErrors += Test18L();//CULoggerServer::SetBufferSizeL
+ iErrors += Test19L();//CULoggerServer::SetDataNotificationSizeL
iErrors += Test20L();//CULoggerServer::GetBufferSize
iErrors += Test21L();// CULoggerServer::GetDataNotificationSize
iErrors += Test22L();//CULoggerServer::SetGlobalSecondaryFilters
@@ -315,7 +315,7 @@
aCategory.Append(194);
TInt e = KErrNone;
- e = server->SetActiveFilter(aCategory,EPrimaryFilter);
+ e = server->SetActiveFilterL(aCategory,EPrimaryFilter);
TBuf<128> buf;
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
@@ -340,7 +340,7 @@
{
RArray<TUint32> array;
array.Append(34);
- TInt e = server->SetActiveFilter(array,ESecondaryFilter);
+ TInt e = server->SetActiveFilterL(array,ESecondaryFilter);
TBuf<128> buf;
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
@@ -536,9 +536,9 @@
TInt CUloggerServerTest1Step::Test18L()
-{//CULoggerServer::SetBufferSize
+{//CULoggerServer::SetBufferSizeL
TInt errors = 0;
- INFO_PRINTF1(_L("Testing - CULoggerServer::SetBufferSize method"));
+ INFO_PRINTF1(_L("Testing - CULoggerServer::SetBufferSizeL method"));
CULoggerServer *server = NULL;
server = CULoggerServer::NewLC(EPriorityBackground);
if(server == NULL)
@@ -550,38 +550,38 @@
{
TInt e;
INFO_PRINTF1(_L("testing value: -1"));
- e = server->SetBufferSize(-1);
+ e = server->SetBufferSizeL(-1);
TBuf<128> buf;
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 0"));
- e = server->SetBufferSize(0);
+ e = server->SetBufferSizeL(0);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 100"));
- e = server->SetBufferSize(100);
+ e = server->SetBufferSizeL(100);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 65535"));
- e = server->SetBufferSize(65535);
+ e = server->SetBufferSizeL(65535);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 65536"));
- e = server->SetBufferSize(65536);
+ e = server->SetBufferSizeL(65536);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 165537"));
- e = server->SetBufferSize(165537);
+ e = server->SetBufferSizeL(165537);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
@@ -592,9 +592,9 @@
TInt CUloggerServerTest1Step::Test19L()
-{//CULoggerServer::SetDataNotificationSize
+{//CULoggerServer::SetDataNotificationSizeL
TInt errors = 0;
- INFO_PRINTF1(_L("Testing - CULoggerServer::SetDataNotificationSize method"));
+ INFO_PRINTF1(_L("Testing - CULoggerServer::SetDataNotificationSizeL method"));
CULoggerServer *server = NULL;
server = CULoggerServer::NewLC(EPriorityBackground);
if(server == NULL)
@@ -606,44 +606,44 @@
{
TInt e;
INFO_PRINTF1(_L("testing value: -1"));
- e = server->SetDataNotificationSize(-1);
+ e = server->SetDataNotificationSizeL(-1);
TBuf<128> buf;
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 0"));
- e = server->SetDataNotificationSize(0);
+ e = server->SetDataNotificationSizeL(0);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 100"));
- e = server->SetDataNotificationSize(100);
+ e = server->SetDataNotificationSizeL(100);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 65535"));
- e = server->SetDataNotificationSize(65535);
+ e = server->SetDataNotificationSizeL(65535);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 65536"));
- e = server->SetDataNotificationSize(65536);
+ e = server->SetDataNotificationSizeL(65536);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 85536"));
- e = server->SetDataNotificationSize(85536);
+ e = server->SetDataNotificationSizeL(85536);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
INFO_PRINTF1(_L("testing value: 165538"));
- e = server->SetDataNotificationSize(165538);
+ e = server->SetDataNotificationSizeL(165538);
buf.AppendFormat(_L("Code returned from method - %d"), e);
INFO_PRINTF1(buf);
buf.Zero();
@@ -914,10 +914,10 @@
}
-TInt CUloggerServerTest1Step::Test29L()//CULoggerServer::GetInstalledInputPlugins
+TInt CUloggerServerTest1Step::Test29L()//CULoggerServer::GetInstalledInputPluginsL
{
TInt errors = 0;
- INFO_PRINTF1(_L("Testing - CULoggerServer::GetInstalledInputPlugins method"));
+ INFO_PRINTF1(_L("Testing - CULoggerServer::GetInstalledInputPluginsL method"));
CULoggerServer *server = NULL;
server = CULoggerServer::NewLC(EPriorityBackground);
if(server == NULL)
@@ -928,7 +928,7 @@
else
{
RArray<TPtrC8> list;
- server->GetInstalledInputPlugins(list);
+ server->GetInstalledInputPluginsL(list);
list.Close();
CleanupStack::PopAndDestroy(); //server
}
--- a/traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest1step.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest1step.h Thu Jul 22 16:49:09 2010 +0100
@@ -55,8 +55,8 @@
TInt Test15L();//CULoggerServer::GetInstalledPlugins
TInt Test16L();//CULoggerServer::GetOutputPluginSettingsL
TInt Test17L();//CULoggerServer::GetOutputChannelL
- TInt Test18L();//CULoggerServer::SetBufferSize
- TInt Test19L();//CULoggerServer::SetDataNotificationSize
+ TInt Test18L();//CULoggerServer::SetBufferSizeL
+ TInt Test19L();//CULoggerServer::SetDataNotificationSizeL
TInt Test20L();//CULoggerServer::GetBufferSize
TInt Test21L();// CULoggerServer::GetDataNotificationSize
TInt Test22L();//CULoggerServer::SetGlobalSecondaryFilters
--- a/traceservices/tracefw/utf_trace_api/inc/e32utrace.h Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/utf_trace_api/inc/e32utrace.h Thu Jul 22 16:49:09 2010 +0100
@@ -83,14 +83,14 @@
+((aSchema)<<BTrace::ESubCategoryIndex*8))
/**@internalComponent*/
#define UTracePf0(aF1,aSchema,aContext,aPc) \
- ((BTrace::TBTrace1)BTrace::OutX) \
- (UTRACE_HEADER(4,(aF1),(aSchema),(aContext),(aPc)))
+ BTrace::OutX \
+ (UTRACE_HEADER(4,(aF1),(aSchema),(aContext),(aPc)),0,0,0)
/**@internalComponent*/
#define UTracePf1(aF1,aSchema,aContext,aPc,a1) \
- ((BTrace::TBTrace2)BTrace::OutX)(UTRACE_HEADER(8,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1))
+ BTrace::OutX(UTRACE_HEADER(8,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1),0,0)
/**@internalComponent*/
#define UTracePf2(aF1,aSchema,aContext,aPc,a1,a2) \
- ((BTrace::TBTrace3)BTrace::OutX)(UTRACE_HEADER(12,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1),(TUint32)(a2))
+ BTrace::OutX(UTRACE_HEADER(12,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1),(TUint32)(a2),0)
/**@internalComponent*/
#define UTracePf3(aF1,aSchema,aContext,aPc,a1,a2,a3) \
BTrace::OutX(UTRACE_HEADER(16,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1),(TUint32)(a2),(TUint32)(a3))
@@ -99,10 +99,10 @@
BTrace::OutBig(UTRACE_HEADER(8,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(a1),aData,(TInt)(aDataSize))
/**@internalComponent*/
#define UTraceSf0(aF1,aF2,aSchema,aContext,aPc) \
- ((BTrace::TBTrace2)BTrace::OutFilteredX)(UTRACE_HEADER(8,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(aF2))
+ BTrace::OutFilteredX(UTRACE_HEADER(8,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(aF2),0,0)
/** @internalComponent */
#define UTraceSf1(aF1,aF2,aSchema,aContext,aPc,a1) \
- ((BTrace::TBTrace3)BTrace::OutFilteredX)(UTRACE_HEADER(12,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(aF2),(TUint32)(a1))
+ BTrace::OutFilteredX(UTRACE_HEADER(12,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(aF2),(TUint32)(a1),0)
/** @internalComponent */
#define UTraceSf2(aF1,aF2,aSchema,aContext,aPc,a1,a2) \
BTrace::OutFilteredX(UTRACE_HEADER(16,(aF1),(aSchema),(aContext),(aPc)),(TUint32)(aF2),(TUint32)(a1),(TUint32)(a2))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/traceservices/tracefw/utf_trace_api/unit_test/devicedriver/bwins/utraceu.def Thu Jul 22 16:49:09 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+ ?CreateLogicalDevice@@YAPAVDLogicalDevice@@XZ @ 1 NONAME ; class DLogicalDevice * CreateLogicalDevice(void)
+
--- a/traceservices/tracefw/utf_trace_api/unit_test/devicedriver/group/utracedrv.mmp Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/utf_trace_api/unit_test/devicedriver/group/utracedrv.mmp Thu Jul 22 16:49:09 2010 +0100
@@ -24,6 +24,8 @@
VENDORID 0x70000001
capability all
+deffile utrace.def
+
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
userinclude ../inc/
--- a/traceservices/tracefw/utf_trace_api/unit_test/te-utrace/scripts/te_utracesuite.script Mon Jun 21 22:46:09 2010 +0100
+++ b/traceservices/tracefw/utf_trace_api/unit_test/te-utrace/scripts/te_utracesuite.script Thu Jul 22 16:49:09 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -13,7 +13,7 @@
// Description:
//
-//! @File
+//! @file
//! @SYMTestSuiteName utfv1-unit-test-suite.script
//! @SYMScriptTestEnvironment TEF
@@ -31,7 +31,7 @@
//! @SYMTestActions Measure the trace time of the implemented user-side API
//! @SYMTestExpectedResults Verify that performance of the trace APIs are not significantly more intrusive than previous implementations
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 300 te_UTraceSuite CUTrace_User_Performance_Step c:\testdata\configs\te_utracesuite.ini Performance
@@ -45,7 +45,7 @@
//! @SYMTestActions Test the implementation of nonstatic APIs
//! @SYMTestExpectedResults Verify that traces generated as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UTraceSuite CUTrace_nonStatic_Step c:\testdata\configs\te_utracesuite.ini General
@@ -59,7 +59,7 @@
//! @SYMTestActions Test the implementation of static APIs
//! @SYMTestExpectedResults Verify that traces generated as expected
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
RUN_TEST_STEP 100 te_UTraceSuite CUTrace_Static_Step c:\testdata\configs\te_utracesuite.ini General
@@ -74,7 +74,7 @@
//! @SYMTestActions Measure the trace time of the implemented kernel-side API
//! @SYMTestExpectedResults Verify that performance of the trace APIs are not significantly more intrusive than previous implementations
//! @SYMTestType UT
-//! @SYMTESTSTATUS Implemented
+//! @SYMTestStatus Implemented
//! @SYMPREQ PREQ1635
//! @SYMREQ
//RUN_TEST_STEP 100 te_UTraceSuite CUTrace_KernPerf_Step c:\testdata\configs\te_utracesuite.ini General