persistentstorage/sql/TEST/t_sqldefect.cpp
changeset 55 44f437012c90
parent 29 cce6680bbf1c
equal deleted inserted replaced
51:7d4490026038 55:44f437012c90
    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     }