67 void Check1(TInt aValue, TInt aLine) |
67 void Check1(TInt aValue, TInt aLine) |
68 { |
68 { |
69 if(!aValue) |
69 if(!aValue) |
70 { |
70 { |
71 DeleteTestFiles(); |
71 DeleteTestFiles(); |
72 RDebug::Print(_L("*** Line %d\r\n"), aLine); |
72 TheTest.Printf(_L("*** Line %d. Expression evaluated to false\r\n"), aLine); |
73 TheTest(EFalse, aLine); |
73 TheTest(EFalse, aLine); |
74 } |
74 } |
75 } |
75 } |
76 void Check2(TInt aValue, TInt aExpected, TInt aLine) |
76 void Check2(TInt aValue, TInt aExpected, TInt aLine) |
77 { |
77 { |
78 if(aValue != aExpected) |
78 if(aValue != aExpected) |
79 { |
79 { |
80 DeleteTestFiles(); |
80 DeleteTestFiles(); |
81 RDebug::Print(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue); |
81 TheTest.Printf(_L("*** Line %d, Expected error: %d, got: %d\r\n"), aLine, aExpected, aValue); |
82 TheTest(EFalse, aLine); |
82 TheTest(EFalse, aLine); |
83 } |
83 } |
84 } |
84 } |
85 #define TEST(arg) ::Check1((arg), __LINE__) |
85 #define TEST(arg) ::Check1((arg), __LINE__) |
86 #define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__) |
86 #define TEST2(aValue, aExpected) ::Check2(aValue, aExpected, __LINE__) |
142 TEST2(err, KSqlAtRow); |
142 TEST2(err, KSqlAtRow); |
143 |
143 |
144 err = TheDb.Detach(_L("Db2")); |
144 err = TheDb.Detach(_L("Db2")); |
145 TEST(err != KErrNone); |
145 TEST(err != KErrNone); |
146 TPtrC errMsg = TheDb.LastErrorMessage(); |
146 TPtrC errMsg = TheDb.LastErrorMessage(); |
147 RDebug::Print(_L("Detach err: %S\r\n"), &errMsg); |
147 TheTest.Printf(_L("Detach err: %S\r\n"), &errMsg); |
148 |
148 |
149 err = stmt.Next(); |
149 err = stmt.Next(); |
150 TEST2(err, KSqlAtRow); |
150 TEST2(err, KSqlAtRow); |
151 stmt.Close(); |
151 stmt.Close(); |
152 |
152 |
1057 |
1057 |
1058 RSqlStatement stmt; |
1058 RSqlStatement stmt; |
1059 err = stmt.Prepare(TheDb, _L("DELETE FROM A WHERE Id1 IN (SELECT Id1 FROM B WHERE Id IN (1,11) UNION SELECT * FROM B WHERE Id1=2 ORDER BY Id ASC LIMIT 1)")); |
1059 err = stmt.Prepare(TheDb, _L("DELETE FROM A WHERE Id1 IN (SELECT Id1 FROM B WHERE Id IN (1,11) UNION SELECT * FROM B WHERE Id1=2 ORDER BY Id ASC LIMIT 1)")); |
1060 TEST(err != KErrDied); |
1060 TEST(err != KErrDied); |
1061 TPtrC errDescr = TheDb.LastErrorMessage(); |
1061 TPtrC errDescr = TheDb.LastErrorMessage(); |
1062 RDebug::Print(_L("\"Stmt prepare\" %d error. Message:\"%S\"\r\n"), err, &errDescr); |
1062 TheTest.Printf(_L("\"Stmt prepare\" %d error. Message:\"%S\"\r\n"), err, &errDescr); |
1063 stmt.Close(); |
1063 stmt.Close(); |
1064 |
1064 |
1065 TheDb.Close(); |
1065 TheDb.Close(); |
1066 (void)RSqlDatabase::Delete(KTestDatabase1); |
1066 (void)RSqlDatabase::Delete(KTestDatabase1); |
1067 } |
1067 } |
1557 TEST2(err, KSqlErrMisuse); |
1557 TEST2(err, KSqlErrMisuse); |
1558 |
1558 |
1559 //Test "library routine called out of sequence" error message |
1559 //Test "library routine called out of sequence" error message |
1560 //If the defect is not fixed then it will panic here |
1560 //If the defect is not fixed then it will panic here |
1561 TPtrC errMsg = db.LastErrorMessage(); |
1561 TPtrC errMsg = db.LastErrorMessage(); |
1562 RDebug::Print(_L("errMsg=%S\r\n"), &errMsg); |
1562 TheTest.Printf(_L("errMsg=%S\r\n"), &errMsg); |
1563 |
1563 |
1564 stmt.Close(); |
1564 stmt.Close(); |
1565 db.Close(); |
1565 db.Close(); |
1566 |
1566 |
1567 TInt allocationNo = 0; |
1567 TInt allocationNo = 0; |
1577 TSqlResourceTester::SetDbHeapFailure(RHeap::ENone, 0); |
1577 TSqlResourceTester::SetDbHeapFailure(RHeap::ENone, 0); |
1578 |
1578 |
1579 TheTest.Printf(_L("%d \r"), allocationNo); |
1579 TheTest.Printf(_L("%d \r"), allocationNo); |
1580 //Test "out of memory" error message, if the defect is not fixed then it will panic here |
1580 //Test "out of memory" error message, if the defect is not fixed then it will panic here |
1581 TPtrC errMsg = db.LastErrorMessage(); |
1581 TPtrC errMsg = db.LastErrorMessage(); |
1582 RDebug::Print(_L("errMsg=%S\r\n"), &errMsg); |
1582 TheTest.Printf(_L("errMsg=%S\r\n"), &errMsg); |
1583 db.Close(); |
1583 db.Close(); |
1584 } |
1584 } |
1585 while (err == KErrNoMemory); |
1585 while (err == KErrNoMemory); |
1586 TEST2(err, 1); |
1586 TEST2(err, 1); |
1587 } |
1587 } |