equal
deleted
inserted
replaced
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
163 TEST2(err, KErrNone); |
163 TEST2(err, KErrNone); |
164 err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)")); |
164 err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)")); |
165 TEST(err >= 0); |
165 TEST(err >= 0); |
166 TheDb.Close(); |
166 TheDb.Close(); |
167 err = KErrNotFound; |
167 err = KErrNotFound; |
168 for(TInt cnt=1;err<KErrNone;++cnt) |
168 for(TInt cnt=0;err<KErrNone;++cnt) |
169 { |
169 { |
170 TheTest.Printf(_L("%d \r"), cnt); |
170 TheTest.Printf(_L("%d \r"), cnt); |
171 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
171 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
172 { |
172 { |
173 //Preprocessing |
173 //Preprocessing |
223 TEST2(err, KErrNone); |
223 TEST2(err, KErrNone); |
224 err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)")); |
224 err = TheDb.Exec(_L("CREATE TABLE A(Id INTEGER,Name TEXT)")); |
225 TEST(err >= 0); |
225 TEST(err >= 0); |
226 TheDb.Close(); |
226 TheDb.Close(); |
227 err = KErrNotFound; |
227 err = KErrNotFound; |
228 for(TInt cnt=1;err<KErrNone;++cnt) |
228 for(TInt cnt=0;err<KErrNone;++cnt) |
229 { |
229 { |
230 TheTest.Printf(_L("%d \r"), cnt); |
230 TheTest.Printf(_L("%d \r"), cnt); |
231 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
231 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
232 { |
232 { |
233 //Preprocessing |
233 //Preprocessing |
332 DoCreateTestDatabases(dbName, KDbNameCnt); |
332 DoCreateTestDatabases(dbName, KDbNameCnt); |
333 for(TInt k=0;k<KDbNameCnt;++k) |
333 for(TInt k=0;k<KDbNameCnt;++k) |
334 { |
334 { |
335 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
335 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
336 TInt err = KErrNotFound; |
336 TInt err = KErrNotFound; |
337 for(TInt cnt=1;err<KErrNone;++cnt) |
337 for(TInt cnt=0;err<KErrNone;++cnt) |
338 { |
338 { |
339 TheTest.Printf(_L("%d \r"), cnt); |
339 TheTest.Printf(_L("%d \r"), cnt); |
340 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
340 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
341 { |
341 { |
342 (void)TheFs.SetErrorCondition(fsError, cnt); |
342 (void)TheFs.SetErrorCondition(fsError, cnt); |
388 const TInt KDbNameCnt = sizeof(dbName) / sizeof(dbName[0]); |
388 const TInt KDbNameCnt = sizeof(dbName) / sizeof(dbName[0]); |
389 for(TInt k=0;k<KDbNameCnt;++k) |
389 for(TInt k=0;k<KDbNameCnt;++k) |
390 { |
390 { |
391 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
391 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
392 TInt err = -1; |
392 TInt err = -1; |
393 for(TInt cnt=1;err<KErrNone;++cnt) |
393 for(TInt cnt=0;err<KErrNone;++cnt) |
394 { |
394 { |
395 TheTest.Printf(_L("%d \r"), cnt); |
395 TheTest.Printf(_L("%d \r"), cnt); |
396 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
396 for (TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
397 { |
397 { |
398 //Ideally, the database should be deleted by the SQL server, if RSqlDatabase::Create() fails. |
398 //Ideally, the database should be deleted by the SQL server, if RSqlDatabase::Create() fails. |
440 DoCreateTestDatabases(dbName, KDbNameCnt); |
440 DoCreateTestDatabases(dbName, KDbNameCnt); |
441 for(TInt k=1;k<KDbNameCnt;++k) |
441 for(TInt k=1;k<KDbNameCnt;++k) |
442 { |
442 { |
443 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
443 TheTest.Printf(_L("Database: \"%S\"\r\n"), &dbName[k]); |
444 TInt err = KErrGeneral; |
444 TInt err = KErrGeneral; |
445 for(TInt cnt=1;err<KErrNone;++cnt) |
445 for(TInt cnt=0;err<KErrNone;++cnt) |
446 { |
446 { |
447 TheTest.Printf(_L("%d \r"), cnt); |
447 TheTest.Printf(_L("%d \r"), cnt); |
448 for(TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
448 for(TInt fsError=KErrNotFound;fsError>=KErrDied;--fsError) |
449 { |
449 { |
450 err = TheDb.Open(KTestDbName); |
450 err = TheDb.Open(KTestDbName); |
514 TEST(err >= 0); |
514 TEST(err >= 0); |
515 err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')")); |
515 err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')")); |
516 TEST2(err, 1); |
516 TEST2(err, 1); |
517 TheDb.Close(); |
517 TheDb.Close(); |
518 err = -1; |
518 err = -1; |
519 for(TInt cnt=1;err<KErrNone;++cnt) |
519 for(TInt cnt=0;err<KErrNone;++cnt) |
520 { |
520 { |
521 TheTest.Printf(_L("%d \r"), cnt); |
521 TheTest.Printf(_L("%d \r"), cnt); |
522 err = TheDb.Open(KTestDbName); |
522 err = TheDb.Open(KTestDbName); |
523 TEST2(err, KErrNone); |
523 TEST2(err, KErrNone); |
524 RSqlStatement stmt; |
524 RSqlStatement stmt; |
579 TEST(err >= 0); |
579 TEST(err >= 0); |
580 err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')")); |
580 err = TheDb.Exec(_L("INSERT INTO A(Id,Name) VALUES(1,'Name')")); |
581 TEST2(err, 1); |
581 TEST2(err, 1); |
582 TheDb.Close(); |
582 TheDb.Close(); |
583 err = -1; |
583 err = -1; |
584 for(TInt cnt=1;err<KErrNone;++cnt) |
584 for(TInt cnt=0;err<KErrNone;++cnt) |
585 { |
585 { |
586 TheTest.Printf(_L("%d \r"), cnt); |
586 TheTest.Printf(_L("%d \r"), cnt); |
587 err = TheDb.Open(KTestDbName); |
587 err = TheDb.Open(KTestDbName); |
588 TEST2(err, KErrNone); |
588 TEST2(err, KErrNone); |
589 RSqlStatement stmt; |
589 RSqlStatement stmt; |
797 { |
797 { |
798 TheTest.Printf(_L("Update 1 record in a file I/o simulation loop\r\n")); |
798 TheTest.Printf(_L("Update 1 record in a file I/o simulation loop\r\n")); |
799 TInt rc = -1; |
799 TInt rc = -1; |
800 TBuf8<KMaxFileName + 1> dbFileName8; |
800 TBuf8<KMaxFileName + 1> dbFileName8; |
801 dbFileName8.Copy(TheRmvMediaDbFileName); |
801 dbFileName8.Copy(TheRmvMediaDbFileName); |
802 for(TInt cnt=1;rc!=SQLITE_OK;++cnt) |
802 for(TInt cnt=0;rc!=SQLITE_OK;++cnt) |
803 { |
803 { |
804 TheTest.Printf(_L("%d \r"), cnt); |
804 TheTest.Printf(_L("%d \r"), cnt); |
805 sqlite3* dbHandle = NULL; |
805 sqlite3* dbHandle = NULL; |
806 rc = sqlite3_open((const char*)dbFileName8.PtrZ(), &dbHandle); |
806 rc = sqlite3_open((const char*)dbFileName8.PtrZ(), &dbHandle); |
807 SQLITE_TEST(dbHandle, rc, SQLITE_OK); |
807 SQLITE_TEST(dbHandle, rc, SQLITE_OK); |
898 TEST(size1.iSize > 0); |
898 TEST(size1.iSize > 0); |
899 TEST2(size1.iFree, 0); |
899 TEST2(size1.iFree, 0); |
900 TheDb.Close(); |
900 TheDb.Close(); |
901 //"File I/O" error simulation loop |
901 //"File I/O" error simulation loop |
902 err = KErrCorrupt; |
902 err = KErrCorrupt; |
903 for(TInt cnt=1;err<KErrNone;++cnt) |
903 for(TInt cnt=0;err<KErrNone;++cnt) |
904 { |
904 { |
905 TheTest.Printf(_L("%d \r"), cnt); |
905 TheTest.Printf(_L("%d \r"), cnt); |
906 TEST2(TheDb.Open(KTestDbName), KErrNone); |
906 TEST2(TheDb.Open(KTestDbName), KErrNone); |
907 (void)TheFs.SetErrorCondition(KErrCorrupt, cnt); |
907 (void)TheFs.SetErrorCondition(KErrCorrupt, cnt); |
908 RSqlDatabase::TSize size2 = {-1, -1}; |
908 RSqlDatabase::TSize size2 = {-1, -1}; |
981 TheDb.Close(); |
981 TheDb.Close(); |
982 TEST(size.iSize > 0); |
982 TEST(size.iSize > 0); |
983 TEST(size.iFree > 0); |
983 TEST(size.iFree > 0); |
984 //"File I/O" error simulation loop |
984 //"File I/O" error simulation loop |
985 err = KErrCorrupt; |
985 err = KErrCorrupt; |
986 for(TInt cnt=1;err<KErrNone;++cnt) |
986 for(TInt cnt=0;err<KErrNone;++cnt) |
987 { |
987 { |
988 TheTest.Printf(_L("%d \r"), cnt); |
988 TheTest.Printf(_L("%d \r"), cnt); |
989 TEST2(TheDb.Open(KTestDbName), KErrNone); |
989 TEST2(TheDb.Open(KTestDbName), KErrNone); |
990 (void)TheFs.SetErrorCondition(KErrCorrupt, cnt); |
990 (void)TheFs.SetErrorCondition(KErrCorrupt, cnt); |
991 err = TheDb.Compact(RSqlDatabase::EMaxCompaction); |
991 err = TheDb.Compact(RSqlDatabase::EMaxCompaction); |
1071 err = TheDb.Exec(sql); |
1071 err = TheDb.Exec(sql); |
1072 TEST2(err, 1); |
1072 TEST2(err, 1); |
1073 TheDb.Close(); |
1073 TheDb.Close(); |
1074 |
1074 |
1075 err = KErrCorrupt; |
1075 err = KErrCorrupt; |
1076 for(TInt cnt=1;err<KErrNone;++cnt) |
1076 for(TInt cnt=0;err<KErrNone;++cnt) |
1077 { |
1077 { |
1078 TheTest.Printf(_L("%d \r"), cnt); |
1078 TheTest.Printf(_L("%d \r"), cnt); |
1079 TEST2(TheDb.Open(KTestDbName), KErrNone); |
1079 TEST2(TheDb.Open(KTestDbName), KErrNone); |
1080 if(aAttachDb) |
1080 if(aAttachDb) |
1081 { |
1081 { |
1170 HBufC8* buf = HBufC8::New(KBlobSize); |
1170 HBufC8* buf = HBufC8::New(KBlobSize); |
1171 TEST(buf != NULL); |
1171 TEST(buf != NULL); |
1172 TPtr8 bufptr = buf->Des(); |
1172 TPtr8 bufptr = buf->Des(); |
1173 |
1173 |
1174 err = KErrCorrupt; |
1174 err = KErrCorrupt; |
1175 for(TInt cnt=1;err<KErrNone;++cnt) |
1175 for(TInt cnt=0;err<KErrNone;++cnt) |
1176 { |
1176 { |
1177 TheTest.Printf(_L("%d \r"), cnt); |
1177 TheTest.Printf(_L("%d \r"), cnt); |
1178 TEST2(TheDb.Open(KTestDbName), KErrNone); |
1178 TEST2(TheDb.Open(KTestDbName), KErrNone); |
1179 if(aAttachDb) |
1179 if(aAttachDb) |
1180 { |
1180 { |