persistentstorage/sql/TEST/t_sqloom5.cpp
branchRCL_3
changeset 13 211563e4b919
parent 12 31a8f755b7fe
child 16 6b6fd149daa2
--- a/persistentstorage/sql/TEST/t_sqloom5.cpp	Thu Apr 01 00:19:42 2010 +0300
+++ b/persistentstorage/sql/TEST/t_sqloom5.cpp	Wed Apr 14 17:46:32 2010 +0300
@@ -32,6 +32,8 @@
 _LIT(KDbFile3, "c:[10281E17]t_sqloom5_2.db");
 _LIT(KDbFile4, "c:[10281E17]t_sqloom5_3.db");
 
+_LIT8(KConfig, "encoding=UTF-8");
+
 extern CSqlServer* TheServer;
 
 static TInt TheProcessHandleCount = 0;
@@ -42,6 +44,12 @@
 static const TInt KBurstRate = 20;
 #endif
 
+enum TSqlDbEncoding
+    {
+    ESqlDbUtf16,
+    ESqlDbUtf8
+    };
+
 ///////////////////////////////////////////////////////////////////////////////////////
 
 void DestroyTestEnv()
@@ -148,15 +156,7 @@
     return server;
     }
 
-/**
-@SYMTestCaseID          PDS-SQL-UT-4167
-@SYMTestCaseDesc        CSqlSrvDatabase::CreateL() OOM test.
-@SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::CreateL() in an OOM loop.
-@SYMTestExpectedResults Test must not fail
-@SYMDEF                 DEF144577
-*/  
-void CreateDatabaseOomTest()
+void CreateDatabaseOomTest(TSqlDbEncoding aEncoding)
     {
     (void)TheFs.Delete(KDbFile);
     TInt failingAllocationNo = 0;
@@ -174,7 +174,7 @@
         
         TSqlSrvFileData& fdata = TheServer->FileData();
         RMessage2 msg;
-        TRAP(err, fdata.SetL(msg, KDbFile().Length(), 0, (const TDesC8*)&KDbFile));
+        TRAP(err, fdata.SetL(msg, KDbFile().Length(), 0, KDbFile, aEncoding == ESqlDbUtf8 ? &KConfig : NULL));
         if(err == KErrNone)
             {
             CSqlSrvDatabase* db = NULL;
@@ -192,13 +192,33 @@
     }
 
 /**
-@SYMTestCaseID          PDS-SQL-UT-4168
-@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - non-secure database.
+@SYMTestCaseID          PDS-SQL-UT-4167
+@SYMTestCaseDesc        CSqlSrvDatabase::CreateL() OOM test.
 @SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+@SYMTestActions         The test runs CSqlSrvDatabase::CreateL() in an OOM loop.
+                        UTF16 encoded database is used.
 @SYMTestExpectedResults Test must not fail
 @SYMDEF                 DEF144577
 */  
+void Utf16CreateDatabaseOomTest()
+    {
+    CreateDatabaseOomTest(ESqlDbUtf16);
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4182
+@SYMTestCaseDesc        CSqlSrvDatabase::CreateL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::CreateL() in an OOM loop.
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8CreateDatabaseOomTest()
+    {
+    CreateDatabaseOomTest(ESqlDbUtf8);
+    }
+
 void OpenDatabaseOomTest()
     {
     //The database is created by the previous test: CreateDatabaseOomTest().
@@ -218,7 +238,7 @@
         
         TSqlSrvFileData& fdata = TheServer->FileData();
         RMessage2 msg;
-        TRAP(err, fdata.SetL(msg, KDbFile().Length(), 0, (const TDesC8*)&KDbFile));
+        TRAP(err, fdata.SetL(msg, KDbFile().Length(), 0, KDbFile));
         if(err == KErrNone)
             {
             CSqlSrvDatabase* db = NULL;
@@ -237,14 +257,34 @@
     }
 
 /**
-@SYMTestCaseID          PDS-SQL-UT-4169
-@SYMTestCaseDesc        CSqlSrvDatabase::CreateSecureL() OOM test.
+@SYMTestCaseID          PDS-SQL-UT-4168
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - non-secure database.
 @SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::CreateSecureL() in an OOM loop.
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+                        UTF16 encoded database is used.
 @SYMTestExpectedResults Test must not fail
 @SYMDEF                 DEF144577
 */  
-void CreateSecureDatabaseOomTest()
+void Utf16OpenDatabaseOomTest()
+    {
+    OpenDatabaseOomTest();
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4183
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - non-secure database.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8OpenDatabaseOomTest()
+    {
+    OpenDatabaseOomTest();
+    }
+
+void CreateSecureDatabaseOomTest(TSqlDbEncoding aEncoding)
     {
     (void)TheFs.Delete(KDbFile2);
     TInt failingAllocationNo = 0;
@@ -262,7 +302,7 @@
         
         TSqlSrvFileData& fdata = TheServer->FileData();
         RMessage2 msg;
-        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, (const TDesC8*)&KDbFile2));
+        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, KDbFile2, aEncoding == ESqlDbUtf8 ? &KConfig : NULL));
         if(err == KErrNone)
             {
             TSecurityPolicy defaultPolicy(TSecurityPolicy::EAlwaysPass);
@@ -286,13 +326,33 @@
     }
 
 /**
-@SYMTestCaseID          PDS-SQL-UT-4170
-@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - secure database.
+@SYMTestCaseID          PDS-SQL-UT-4169
+@SYMTestCaseDesc        CSqlSrvDatabase::CreateSecureL() OOM test.
 @SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+@SYMTestActions         The test runs CSqlSrvDatabase::CreateSecureL() in an OOM loop.
+                        UTF16 encoded database is used.
 @SYMTestExpectedResults Test must not fail
 @SYMDEF                 DEF144577
 */  
+void Utf16CreateSecureDatabaseOomTest()
+    {
+    CreateSecureDatabaseOomTest(ESqlDbUtf16);
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4184
+@SYMTestCaseDesc        CSqlSrvDatabase::CreateSecureL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::CreateSecureL() in an OOM loop.
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8CreateSecureDatabaseOomTest()
+    {
+    CreateSecureDatabaseOomTest(ESqlDbUtf8);
+    }
+
 void OpenSecureDatabaseOomTest()
     {
     //The database is created by the previous test: CreateSecureDatabaseOomTest().
@@ -312,7 +372,7 @@
         
         TSqlSrvFileData& fdata = TheServer->FileData();
         RMessage2 msg;
-        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, (const TDesC8*)&KDbFile2));
+        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, KDbFile2));
         if(err == KErrNone)
             {
             CSqlSrvDatabase* db = NULL;
@@ -330,6 +390,34 @@
     TheTest.Printf(_L("\r\n===CSqlSrvDatabase::OpenL() [secure db] OOM test succeeded at heap failure rate of %d ===\r\n"), failingAllocationNo);
     }
 
+/**
+@SYMTestCaseID          PDS-SQL-UT-4170
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - secure database.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+                        UTF16 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF144577, PDEF44845
+*/  
+void Utf16OpenSecureDatabaseOomTest()
+    {
+    OpenSecureDatabaseOomTest();
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4185
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() OOM test - secure database.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() in an OOM loop.
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8OpenSecureDatabaseOomTest()
+    {
+    OpenSecureDatabaseOomTest();
+    }
+
 /////////////////////////////////////////////////////////////
 
 const TInt KDbConnCount = 7; 
@@ -356,7 +444,7 @@
 //N is the number of the database to be opened, between 1 and KDbConnCount.
 #define TEST_OPEN_DB(N, dbFile) \
     __ASSERT_DEBUG(N > 0 && N <= KDbConnCount, User::Invariant()); \
-    TRAP(err, fdata.SetL(msg, dbFile.Length(), 0, (const TDesC8*)&dbFile)); \
+    TRAP(err, fdata.SetL(msg, dbFile.Length(), 0, dbFile)); \
     if(err != KErrNone) \
         { \
         goto Cleanup; \
@@ -375,7 +463,7 @@
 #define TEST_ATTACH_DB(N, dbFile, M) \
     __ASSERT_DEBUG(N > 0 && N <= KDbConnCount, User::Invariant()); \
     __ASSERT_DEBUG(M > 0 && M <= KDbAttachedCount, User::Invariant()); \
-    TRAP(err, fdata.SetL(msg, dbFile.Length(), 0, (const TDesC8*)&dbFile)); \
+    TRAP(err, fdata.SetL(msg, dbFile.Length(), 0, dbFile)); \
     if(err != KErrNone) \
         { \
         goto Cleanup; \
@@ -404,7 +492,7 @@
 
 /////////////////////////////////////////////////////////////
 
-void CreateSecureTestDb(const TDesC& aDbFile)
+void CreateSecureTestDb(const TDesC& aDbFile, TSqlDbEncoding aEncoding)
     {
     (void)TheFs.Delete(aDbFile);
     
@@ -415,7 +503,7 @@
     
     TSqlSrvFileData& fdata = TheServer->FileData();
     RMessage2 msg;
-    TRAP(err, fdata.SetL(msg, aDbFile.Length(), 0, (const TDesC8*)&aDbFile));
+    TRAP(err, fdata.SetL(msg, aDbFile.Length(), 0, aDbFile, aEncoding == ESqlDbUtf8 ? &KConfig : NULL));
     
     CSqlSrvDatabase* db = NULL;
     TRAP(err, db = CSqlSrvDatabase::CreateSecureL(fdata, policy));
@@ -423,18 +511,7 @@
     TEST2(err, KErrNone);
     }
     
-/**
-@SYMTestCaseID          PDS-SQL-UT-4171
-@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM test.
-@SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::AttachDbL() in an OOM test.
-                        The test is a complex one - 7 (KDbConnCount constant) databases opened 
-                        (secure and non-secure), 10 (KDbAttachedCount constant) databases
-                        attached (secure and non-secure).
-@SYMTestExpectedResults Test must not fail
-@SYMDEF                 DEF144577, DEF144603
-*/  
-void OpenAttachDatabaseOomTest()
+void OpenAttachDatabaseOomTest(TSqlDbEncoding aEncoding)
     {
     //Part of the databases are created by the previous tests.
         
@@ -445,8 +522,8 @@
     TRAPD(err, TheServer = CreateSqlServerL());
     TEST2(err, KErrNone);
 
-    CreateSecureTestDb(KDbFile3);
-    CreateSecureTestDb(KDbFile4);
+    CreateSecureTestDb(KDbFile3, aEncoding);
+    CreateSecureTestDb(KDbFile4, aEncoding);
     
     //The following 2 declarations are used by the macros in the OOM loop
     RMessage2 msg;
@@ -511,24 +588,47 @@
     }
 
 /**
-@SYMTestCaseID          PDS-SQL-UT-4172
+@SYMTestCaseID          PDS-SQL-UT-4171
 @SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM test.
 @SYMTestPriority        High
 @SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::AttachDbL() in an OOM test.
-                        Two secure databases are created and then, in an OOM loop, the test executes this sequence of
-                        commands: open first database, attach the second database, detach the attached database,
-                        close the first database. 
+                        The test is a complex one - 7 (KDbConnCount constant) databases opened 
+                        (secure and non-secure), 10 (KDbAttachedCount constant) databases
+                        attached (secure and non-secure).
+                        UTF16 encoded database is used.
 @SYMTestExpectedResults Test must not fail
-@SYMDEF                 DEF144577, PDEF44845
+@SYMDEF                 DEF144577, DEF144603
 */  
-void OpenAttachDatabaseOomTest2()
+void Utf16OpenAttachDatabaseOomTest()
+    {
+    OpenAttachDatabaseOomTest(ESqlDbUtf16);
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4186
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::AttachDbL() in an OOM test.
+                        The test is a complex one - 7 (KDbConnCount constant) databases opened 
+                        (secure and non-secure), 10 (KDbAttachedCount constant) databases
+                        attached (secure and non-secure).
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF????
+*/  
+void Utf8OpenAttachDatabaseOomTest()
+    {
+    OpenAttachDatabaseOomTest(ESqlDbUtf8);
+    }
+
+void OpenAttachDatabaseOomTest2(TSqlDbEncoding aEncoding)
     {
     TheServer = NULL; 
     TRAPD(err, TheServer = CreateSqlServerL());
     TEST2(err, KErrNone);
     
-    CreateSecureTestDb(KDbFile3);
-    CreateSecureTestDb(KDbFile4);
+    CreateSecureTestDb(KDbFile3, aEncoding);
+    CreateSecureTestDb(KDbFile4, aEncoding);
     
     TInt failingAllocationNo = 0;
     TheTest.Printf(_L("Iteration:\r\n"));
@@ -542,14 +642,14 @@
         TheTest.Printf(_L(" %d"), ++failingAllocationNo);
         OomPreStep(failingAllocationNo);
         
-        TRAP(err, fdata.SetL(msg, KDbFile3().Length(), 0, (const TDesC8*)&KDbFile3));
+        TRAP(err, fdata.SetL(msg, KDbFile3().Length(), 0, KDbFile3));
         if(err == KErrNone)
             {
             CSqlSrvDatabase* db = NULL;
             TRAP(err, db = CSqlSrvDatabase::OpenL(fdata));
             if(err == KErrNone)
                 {
-                TRAP(err, fdata.SetL(msg, KDbFile4().Length(), 0, (const TDesC8*)&KDbFile4));
+                TRAP(err, fdata.SetL(msg, KDbFile4().Length(), 0, KDbFile4));
                 if(err == KErrNone)
                     {
                     TRAP(err, db->AttachDbL(fdata, _L("db2")));
@@ -575,25 +675,47 @@
     }
 
 /**
-@SYMTestCaseID          PDS-SQL-UT-4173
-@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::CreateSecureL() OOM test.
+@SYMTestCaseID          PDS-SQL-UT-4172
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM test.
 @SYMTestPriority        High
-@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::CreateSecureL() in an OOM test.
-                        The test creates a secure database then executes CSqlSrvDatabase::OpenL() in an OOM loop.
-                        After that the database is deleted and the test executes CSqlSrvDatabase::CreateSecureL() in an OOM loop.
-                        The purpose of the test is to check that the CSqlSrver maps are properly updated when
-                        the database is closed.
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::AttachDbL() in an OOM test.
+                        Two secure databases are created and then, in an OOM loop, the test executes this sequence of
+                        commands: open first database, attach the second database, detach the attached database,
+                        close the first database. 
+                        UTF16 encoded database is used.
 @SYMTestExpectedResults Test must not fail
 @SYMDEF                 DEF144577, PDEF44845
 */  
-void OpenCreateDatabaseOomTest()
+void Utf16OpenAttachDatabaseOomTest2()
+    {
+    OpenAttachDatabaseOomTest2(ESqlDbUtf16);
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4187
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::AttachDbL() in an OOM test.
+                        Two secure databases are created and then, in an OOM loop, the test executes this sequence of
+                        commands: open first database, attach the second database, detach the attached database,
+                        close the first database. 
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8OpenAttachDatabaseOomTest2()
+    {
+    OpenAttachDatabaseOomTest2(ESqlDbUtf8);
+    }
+
+void OpenCreateDatabaseOomTest(TSqlDbEncoding aEncoding)
     {
     TheServer = NULL; 
     TRAPD(err, TheServer = CreateSqlServerL());
     TEST2(err, KErrNone);
     
     (void)TheFs.Delete(KDbFile2);
-    CreateSecureTestDb(KDbFile2);
+    CreateSecureTestDb(KDbFile2, aEncoding);
     
     TheTest.Printf(_L("Iteration:\r\n"));
 
@@ -607,7 +729,7 @@
         
         RMessage2 msg;
         TSqlSrvFileData& fdata = TheServer->FileData();
-        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, (const TDesC8*)&KDbFile2));
+        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, KDbFile2));
         if(err == KErrNone)
             {
             CSqlSrvDatabase* db = NULL;
@@ -635,7 +757,7 @@
         OomPreStep(failingAllocationNo2);
         RMessage2 msg;
         TSqlSrvFileData& fdata = TheServer->FileData();
-        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, (const TDesC8*)&KDbFile2));
+        TRAP(err, fdata.SetL(msg, KDbFile2().Length(), 0, KDbFile2, aEncoding == ESqlDbUtf8 ? &KConfig : NULL));
         if(err == KErrNone)
             {
             TSecurityPolicy defaultPolicy(TSecurityPolicy::EAlwaysPass);
@@ -668,6 +790,42 @@
                    failingAllocationNo + failingAllocationNo2);
     }
 
+/**
+@SYMTestCaseID          PDS-SQL-UT-4173
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::CreateSecureL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::CreateSecureL() in an OOM test.
+                        The test creates a secure database then executes CSqlSrvDatabase::OpenL() in an OOM loop.
+                        After that the database is deleted and the test executes CSqlSrvDatabase::CreateSecureL() in an OOM loop.
+                        The purpose of the test is to check that the CSqlSrver maps are properly updated when
+                        the database is closed.
+                        UTF16 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF144577, PDEF44845
+*/  
+void Utf16OpenCreateDatabaseOomTest()
+    {
+    OpenCreateDatabaseOomTest(ESqlDbUtf16);
+    }
+
+/**
+@SYMTestCaseID          PDS-SQL-UT-4188
+@SYMTestCaseDesc        CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::CreateSecureL() OOM test.
+@SYMTestPriority        High
+@SYMTestActions         The test runs CSqlSrvDatabase::OpenL() and CSqlSrvDatabase::CreateSecureL() in an OOM test.
+                        The test creates a secure database then executes CSqlSrvDatabase::OpenL() in an OOM loop.
+                        After that the database is deleted and the test executes CSqlSrvDatabase::CreateSecureL() in an OOM loop.
+                        The purpose of the test is to check that the CSqlSrver maps are properly updated when
+                        the database is closed.
+                        UTF8 encoded database is used.
+@SYMTestExpectedResults Test must not fail
+@SYMDEF                 DEF145047
+*/  
+void Utf8OpenCreateDatabaseOomTest()
+    {
+    OpenCreateDatabaseOomTest(ESqlDbUtf8);
+    }
+
 void DoTests()
 	{
 #ifndef _DEBUG
@@ -678,26 +836,47 @@
     CActiveScheduler::Install(scheduler);
 	
     TheTest.Start(_L(" @SYMTestCaseID:PDS-SQL-UT-4167 CSqlSrvDatabase::CreateL() OOM unit test"));
-    CreateDatabaseOomTest();
+    Utf16CreateDatabaseOomTest();
 
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4168 CSqlSrvDatabase::OpenL() OOM unit test - non-secure database"));
-    OpenDatabaseOomTest();
+    Utf16OpenDatabaseOomTest();
 
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4169 CSqlSrvDatabase::CreateSecureL() OOM unit test"));
-    CreateSecureDatabaseOomTest();
+    Utf16CreateSecureDatabaseOomTest();
 
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4170 CSqlSrvDatabase::OpenL() OOM unit test - secure database"));
-    OpenSecureDatabaseOomTest();
+    Utf16OpenSecureDatabaseOomTest();
     
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4171 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM unit test"));
-    OpenAttachDatabaseOomTest();
+    Utf16OpenAttachDatabaseOomTest();
 
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4172 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM unit test - 2"));
-    OpenAttachDatabaseOomTest2();
+    Utf16OpenAttachDatabaseOomTest2();
 
     TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4173 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::CreateL() OOM unit test"));
-    OpenCreateDatabaseOomTest();
+    Utf16OpenCreateDatabaseOomTest();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4182 CSqlSrvDatabase::CreateL() OOM unit test, UTF8 database"));
+    Utf8CreateDatabaseOomTest();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4183 CSqlSrvDatabase::OpenL() OOM unit test - non-secure UTF8 database"));
+    Utf8OpenDatabaseOomTest();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4184 CSqlSrvDatabase::CreateSecureL() OOM unit test, UTF8 database"));
+    Utf8CreateSecureDatabaseOomTest();
 
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4185 CSqlSrvDatabase::OpenL() OOM unit test - secure UTF8 database"));
+    Utf8OpenSecureDatabaseOomTest();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4186 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM unit test, UTF8 database"));
+    Utf8OpenAttachDatabaseOomTest();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4187 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::AttachDbL() OOM unit test 2, UTF8 database"));
+    Utf8OpenAttachDatabaseOomTest2();
+
+    TheTest.Next(_L(" @SYMTestCaseID:PDS-SQL-UT-4188 CSqlSrvDatabase::OpenL() & CSqlSrvDatabase::CreateL() OOM unit test, UTF8 database"));
+    Utf8OpenCreateDatabaseOomTest();
+    
     delete scheduler;
 #endif //_DEBUG    
 	}