Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:49:09 +0100
branchGCC_SURGE
changeset 38 c4e342fcf0c8
parent 27 ba32e40d9f36 (current diff)
parent 35 0d6db0a14001 (diff)
Catchup to latest Symbian^4
loggingservices/eventlogger/test/contacttestmanualpost.bat
loggingservices/eventlogger/test/contacttestmanualpre.bat
loggingservices/eventlogger/test/logservcntmatch.rsc
loggingservices/eventlogger/test/src/CntModel.ini
loggingservices/eventlogger/test/src/SQLite__Contacts.cdb
persistentstorage/centralrepository/test/RF1.sis
persistentstorage/centralrepository/test/RF2.sis
persistentstorage/centralrepository/test/RF3.sis
persistentstorage/centralrepository/test/RF4.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/APPXs.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/APPY1s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/APPY2s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/APPYs.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP12s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP14s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP2.SIS
persistentstorage/centralrepository/test/testexecute/SWI/data/KP22s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP23s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP2s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP3.SIS
persistentstorage/centralrepository/test/testexecute/SWI/data/KP3s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP41s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP4s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KP62s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KPS14s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KPS4s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KPS64s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS12s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS14s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS2.SIS
persistentstorage/centralrepository/test/testexecute/SWI/data/KS22s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS2s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS3s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS41s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS4s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS51s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KS62s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KSDs.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KSY1s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KSY2s.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/KSYs.sis
persistentstorage/centralrepository/test/testexecute/SWI/data/centrepswiteststub.SIS
persistentstorage/sql/GROUP/t_sqlcompact.mmp
--- /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