searchengine/cpix/tsrc/cpixunittest/src/destructivetests.cpp
changeset 3 ae3f1779f6da
parent 0 671dee74050a
child 14 8bd192d47aaa
--- a/searchengine/cpix/tsrc/cpixunittest/src/destructivetests.cpp	Fri May 14 16:57:37 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/destructivetests.cpp	Thu May 27 13:59:44 2010 +0300
@@ -25,6 +25,8 @@
 
 #include "cpixsearch.h"
 
+#include "std_log_result.h"
+
 // Disable test cases, which prevent running other cases
 #define DISABLE_CRASHING_TEST_CASES
 
@@ -131,22 +133,30 @@
     }
 		
     void testWritingWhenHitIterating(Itk::TestMgr* testMgr) {
+        char *xml_file = (char *)__FUNCTION__;
+        assert_failed = 0;
         testWritingWhenHitIterating(testMgr,
                                     idxUtil_->idxDb(),
                                     &cpix_IdxDb_search,
                                     3);
+        testResultXml(xml_file);
     }
 
 
     void testWritingWhenHitIterating2(Itk::TestMgr* testMgr) {
+        char *xml_file = (char *)__FUNCTION__;
+        assert_failed = 0;
         testWritingWhenHitIterating(testMgr,
                                     searcher(testMgr),
                                     &cpix_IdxSearcher_search,
                                     3);
+        testResultXml(xml_file);
     }
 
     void testInvalidation(Itk::TestMgr* testMgr) 
     {
+        char *xml_file = (char *)__FUNCTION__;
+        assert_failed = 0;
         for (int i = 0; i < 25; i++) 
             {
                 idxUtil_->indexSms( i, 
@@ -167,6 +177,7 @@
         if ( cpix_Failed( idxUtil_->idxDb() ) ) {
             cpix_Query_destroy( query );
             ITK_PANIC( "Search failed" );
+            assert_failed = 1;
         }
         printf("Accessing hits before closing... ");
 
@@ -192,7 +203,10 @@
         ITK_EXPECT(testMgr,
                    cpix_Succeeded(idxUtil_->idxDb()),
                    "Flushing failed");
-        
+        if(cpix_Succeeded(idxUtil_->idxDb()))
+        {
+        assert_failed = 1;
+        }
 
         cpix_IdxSearcher_releaseDb(searcher_);
         searcher_ = NULL;
@@ -221,6 +235,7 @@
                                   sizeof(buf) / sizeof(wchar_t));
                 printf("%S\n", buf);
                 cpix_ClearError(hits);
+                
             }
 
         printf("\ndoc #20: ");
@@ -240,8 +255,9 @@
                                   sizeof(buf) / sizeof(wchar_t));
                 printf("%S\n", buf);
                 cpix_ClearError(hits);
+                assert_failed = 1;
             }
-        
+        testResultXml(xml_file);
         cpix_Hits_destroy( hits );
         cpix_Query_destroy( query );
     }
@@ -254,6 +270,8 @@
      */
     void testStackunwinding(Itk::TestMgr* testMgr) 
     {
+        char *xml_file = (char *)__FUNCTION__;
+        assert_failed = 0;
         SchemaId wrongSchema = idxUtil_->schemaId();
         cpix_Result
             result;
@@ -270,6 +288,7 @@
         if (cpix_Failed(&result))
             {
                 ITK_PANIC("Index could not be opened");
+                assert_failed = 1;
             }
 
         // Try to index things
@@ -299,9 +318,10 @@
                 bool
                     succeeded = cpix_Succeeded(idxDb);
 
-                ITK_ASSERT( testMgr, !succeeded, "Schema is persistent?" ); 
+                ITK_ASSERT( testMgr, !succeeded, "Schema is persistent?" );
+
             }
-			
+        testResultXml(xml_file);	
         cpix_IdxDb_releaseDb(idxDb);
         idxDb = NULL; 
 			
@@ -319,7 +339,7 @@
                                      int32_t       matches) 
     {
         wprintf(L"Testing writing to index, while hit object is continuosly read.\n");
-	
+
         // Index 
         for (int i = 0; i < 25; i++) {
             idxUtil_->indexSms( i, 
@@ -363,13 +383,19 @@
 	
                     cpix_Hits_length( hits );
                     ITK_EXPECT( testMgr, cpix_Succeeded( hits  ), "Accessing hit of index 1 failed" ); 
-					
+					if(!cpix_Succeeded( hits  ))
+					    {
+                        assert_failed = 1;
+					    }
                     printf("Hits after adding 1 item.\n");
                     idxUtil_->printHits( hits, testMgr ); 
 								
                     cpix_IdxDb_deleteDocuments(idxUtil_->idxDb(), GetItemId( 15 ).c_str() );
                     ITK_EXPECT( testMgr, cpix_Succeeded( idxUtil_->idxDb() ), "Deleting document 15 failed" ); 
-					
+					if(!cpix_Succeeded( idxUtil_->idxDb() ))
+	                       {
+	                        assert_failed = 1;
+	                        }
                     printf("Line 16 deleted.\n");
 	
                     printf("Hits after deletion: \n");
@@ -378,20 +404,30 @@
                     cpix_IdxDb_flush(idxUtil_->idxDb() );
                     ITK_EXPECT( testMgr, cpix_Succeeded( idxUtil_->idxDb() ), "Flushing failed" );
                     printf("Flushed.\n");
+                    if(!cpix_Succeeded( idxUtil_->idxDb() ))
+                           {
+                            assert_failed = 1;
+                            }
 					
                     printf("Hits after flush:\n");
                     idxUtil_->printHits( hits, testMgr, true ); 
 					 
                     cpix_IdxDb_deleteDocuments(idxUtil_->idxDb(), GetItemId( 14 ).c_str() );
                     ITK_EXPECT( testMgr, cpix_Succeeded( idxUtil_->idxDb() ), "Deleting document 14 failed" ); 
-	
+                    if(!cpix_Succeeded( idxUtil_->idxDb() ))
+                           {
+                            assert_failed = 1;
+                            }
                     printf("Line 15 deleted.\n");
                     printf("Hits after deletion:\n");
                     idxUtil_->printHits( hits, testMgr ); 
 	
                     cpix_IdxDb_deleteDocuments(idxUtil_->idxDb(), GetItemId( 9 ).c_str() );
                     ITK_EXPECT( testMgr, cpix_Succeeded( idxUtil_->idxDb() ), "Deleting document 9 failed" ); 
-	
+                    if(!cpix_Succeeded( idxUtil_->idxDb() ))
+                           {
+                            assert_failed = 1;
+                            }
                     printf("Line 10 deleted.\n");
                     printf("Hits after deletion:\n");
                     idxUtil_->printHits( hits, testMgr ); 
@@ -399,7 +435,10 @@
                     cpix_IdxDb_flush(idxUtil_->idxDb() );
                     ITK_EXPECT( testMgr, cpix_Succeeded( idxUtil_->idxDb() ), "Flushing failed" );
                     printf("Flushed.\n");
-					
+                    if(!cpix_Succeeded( idxUtil_->idxDb() ))
+                            {
+                             assert_failed = 1;
+                             }
                     printf("Hits after flush:\n");
                     idxUtil_->printHits( hits, testMgr, true ); 
 					 
@@ -411,11 +450,14 @@
             else 
                 {
                     ITK_PANIC("Hits was null"); 
+                    assert_failed = 1;
                 }
             cpix_Query_destroy( query );
         } else  {
             ITK_PANIC("Could not create query"); 
+            assert_failed = 1;
         }
+        
     }
 
 
@@ -662,7 +704,8 @@
 
     suiteTester->add( "stackUnwinding", 
                     context,
-                    &DestructiveTests::testStackunwinding );
+                    &DestructiveTests::testStackunwinding,
+                    "stackUnwinding");
 
 #define TEST "writingWhenHitIterating"
     suiteTester->add(TEST,