diff -r 31a8f755b7fe -r 211563e4b919 persistentstorage/sql/TEST/t_sqloom5.cpp --- 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 }