[cig-commits] commit: Added some checks on _XML_IO_Handler_OpenCheckFile.

Mercurial hg at geodynamics.org
Mon Feb 1 15:32:43 PST 2010


changeset:   724:141245be26e4
branch:      pcu_rejig
user:        JericoRevote
date:        Thu Dec 10 10:49:59 2009 +1100
files:       Base/IO/src/Journal.c Base/IO/src/XML_IO_Handler.c Base/IO/tests/IO_HandlerSuite.c Base/IO/tests/expected/errorMsg-Invalid.txt
description:
Added some checks on _XML_IO_Handler_OpenCheckFile.


diff -r 72d967c58cb4 -r 141245be26e4 Base/IO/src/Journal.c
--- a/Base/IO/src/Journal.c	Wed Dec 09 21:13:08 2009 +1100
+++ b/Base/IO/src/Journal.c	Thu Dec 10 10:49:59 2009 +1100
@@ -608,9 +608,7 @@ int Journal_Firewall( int expression, vo
 	if ( stJournal->firewallProducesAssert == True ) {
 		/* Use pcu_assert, so that StGermain PCU tests can check that a Firewall
 		 * is correctly produced. */ 
-		#ifndef NDEBUG
-			pcu_assert( expression );
-		#endif
+		pcu_assert( expression );
 	}
 	else {
 		/* TODO: Don't use FAILURE until Pat beef's up the test scripts to do .error checks
diff -r 72d967c58cb4 -r 141245be26e4 Base/IO/src/XML_IO_Handler.c
--- a/Base/IO/src/XML_IO_Handler.c	Wed Dec 09 21:13:08 2009 +1100
+++ b/Base/IO/src/XML_IO_Handler.c	Thu Dec 10 10:49:59 2009 +1100
@@ -601,6 +601,8 @@ Bool _XML_IO_Handler_ReadAllFromFile( vo
 
 	/* open the file and check syntax */
 	if ( !(rootElement = _XML_IO_Handler_OpenCheckFile( self, filename )) ) {
+		if( self->currDoc )
+			xmlFreeDoc( self->currDoc );
 		return False;
 	}
 	
@@ -706,19 +708,23 @@ static xmlNodePtr _XML_IO_Handler_OpenCh
 		Journal_Register( Error_Type, XML_IO_Handler_Type ),
 		"Error: File %s doesn't exist, not readable, or not valid.\n",
 		filename );
+	
+	if( self->currDoc != NULL ) {
+		cur = xmlDocGetRootElement( self->currDoc );
+		status = _XML_IO_Handler_Check( self, self->currDoc );
 
-	cur = xmlDocGetRootElement( self->currDoc );
-	status = _XML_IO_Handler_Check( self, self->currDoc );
-	Journal_Firewall( status == True,
-		Journal_Register( Error_Type, XML_IO_Handler_Type ),
-		"Error: File %s not valid/readable.\n",
-		filename );
+		Journal_Firewall( status,
+			Journal_Register( Error_Type, XML_IO_Handler_Type ),
+			"Error: File %s not valid/readable.\n",
+			filename );
 
-	if( status == True )
-		return cur;
+		if( status == True )
+			return cur;
+		else
+			return NULL;
+	}
 	else
-		return NULL;
-	 
+		return NULL; 
 }
 
 static xmlNodePtr _XML_IO_Handler_OpenCheckBuffer( XML_IO_Handler* self, const char* buffer ) {
@@ -847,23 +853,19 @@ static void _XML_IO_Handler_OpenBuffer( 
 }
 
 Bool _XML_IO_Handler_Check( XML_IO_Handler* self, xmlDocPtr currDoc ) {
-	xmlNodePtr    rootElement = NULL;
-	xmlNodePtr    cur = NULL;
+	xmlNodePtr	rootElement = NULL;
+	xmlNodePtr	cur = NULL;
 	
 	rootElement = xmlDocGetRootElement( self->currDoc );
-	if (rootElement == NULL) {
+	if ( !rootElement ) {
 		Journal_Printf(
 			Journal_Register( Error_Type, XML_IO_Handler_Type ),
 			"Error: empty document. Not parsing.\n" );
-		if( self->currDoc )
-			xmlFreeDoc( self->currDoc );
 		return False;
 	}
 	
 	/* check the namespace */
 	if( _XML_IO_Handler_CheckNameSpace( self, rootElement ) == False ) {
-		if( self->currDoc )
-			xmlFreeDoc( self->currDoc );
 		return False;
 	}
 	
@@ -875,8 +877,6 @@ Bool _XML_IO_Handler_Check( XML_IO_Handl
 			self->resource,
 			(const char*) rootElement->name, 
 			ROOT_NODE_NAME );
-		if( self->currDoc )
-			xmlFreeDoc( self->currDoc );
 		return False;
 	}
 	
diff -r 72d967c58cb4 -r 141245be26e4 Base/IO/tests/IO_HandlerSuite.c
--- a/Base/IO/tests/IO_HandlerSuite.c	Wed Dec 09 21:13:08 2009 +1100
+++ b/Base/IO/tests/IO_HandlerSuite.c	Thu Dec 10 10:49:59 2009 +1100
@@ -623,7 +623,11 @@ void IO_HandlerSuite_TestReadNonExistent
    Stream_ClearCustomFormatters( Journal_Register( Error_Type, XML_IO_Handler_Type ) );
 
    if (0 == data->rank) {
-		IO_Handler_ReadAllFromFile( data->io_handler, notExistFilename, data->dict2 );
+		#ifdef DEBUG
+			pcu_check_assert( IO_Handler_ReadAllFromFile( data->io_handler, notExistFilename, data->dict2 ) );
+		#else
+			IO_Handler_ReadAllFromFile( data->io_handler, notExistFilename, data->dict2 );
+		#endif
       errorFile = fopen( errorFilename, "r" );
       pcu_check_true( errorFile );
 
@@ -647,17 +651,21 @@ void IO_HandlerSuite_TestReadInvalid( IO
    Stream_ClearCustomFormatters( Journal_Register( Error_Type, XML_IO_Handler_Type ) );
 
    if ( 0 == data->rank ) {
-		IO_Handler_ReadAllFromFile( data->io_handler, invalidXMLFilename, data->dict2 );
+		#ifdef DEBUG
+			pcu_check_assert( IO_Handler_ReadAllFromFile( data->io_handler, invalidXMLFilename, data->dict2 ) );
+		#else
+			IO_Handler_ReadAllFromFile( data->io_handler, invalidXMLFilename, data->dict2 );
+		#endif
       pcu_check_fileEq( errorFilename, expectedErrorFilename );
-      remove( errorFilename );
+      //remove( errorFilename );
    }
 }
 
 
 void IO_HandlerSuite_TestReadWrongNS( IO_HandlerSuiteData* data ) {
-   char              wrongNS_XMLFilename[PCU_PATH_MAX];
-   char              expectedErrorFilename[PCU_PATH_MAX];
-   const char*       errorFilename = "errorMsg-wrongNS.txt";
+   char			wrongNS_XMLFilename[PCU_PATH_MAX];
+   char			expectedErrorFilename[PCU_PATH_MAX];
+   const char*	errorFilename = "errorMsg-wrongNS.txt";
 
    pcu_filename_input( "WrongNS.xml", wrongNS_XMLFilename );
    pcu_filename_expected( errorFilename, expectedErrorFilename );
@@ -666,7 +674,11 @@ void IO_HandlerSuite_TestReadWrongNS( IO
    Stream_ClearCustomFormatters( Journal_Register( Error_Type, XML_IO_Handler_Type ) );
 
    if ( 0 == data->rank ) {
-		IO_Handler_ReadAllFromFile( data->io_handler, wrongNS_XMLFilename, data->dict2 );
+		#ifdef DEBUG
+			pcu_check_assert( IO_Handler_ReadAllFromFile( data->io_handler, wrongNS_XMLFilename, data->dict2 ) );
+		#else
+			IO_Handler_ReadAllFromFile( data->io_handler, wrongNS_XMLFilename, data->dict2 );
+		#endif
       pcu_check_fileEq( errorFilename, expectedErrorFilename );
       remove( errorFilename );
    }
@@ -674,9 +686,9 @@ void IO_HandlerSuite_TestReadWrongNS( IO
 
 
 void IO_HandlerSuite_TestReadWrongRootNode( IO_HandlerSuiteData* data ) {
-   char          wrongRootNode_XMLFilename[PCU_PATH_MAX];
-   char          expectedErrorFilename[PCU_PATH_MAX];
-   const char*   errorFilename = "./errorMsg-wrongRootNode.txt";
+   char			wrongRootNode_XMLFilename[PCU_PATH_MAX];
+   char			expectedErrorFilename[PCU_PATH_MAX];
+   const char*	errorFilename = "./errorMsg-wrongRootNode.txt";
 
    pcu_filename_input( "WrongRootNode.xml", wrongRootNode_XMLFilename );
    pcu_filename_expected( errorFilename, expectedErrorFilename );
@@ -685,7 +697,11 @@ void IO_HandlerSuite_TestReadWrongRootNo
    Stream_ClearCustomFormatters( Journal_Register( Error_Type, XML_IO_Handler_Type ) );
 
    if ( 0 == data->rank ) {
-		IO_Handler_ReadAllFromFile( data->io_handler, wrongRootNode_XMLFilename, data->dict2 );
+		#ifdef DEBUG
+			pcu_check_assert( IO_Handler_ReadAllFromFile( data->io_handler, wrongRootNode_XMLFilename, data->dict2 ) );
+		#else
+			IO_Handler_ReadAllFromFile( data->io_handler, wrongRootNode_XMLFilename, data->dict2 );
+		#endif
       pcu_check_fileEq( errorFilename, expectedErrorFilename ); 
       remove( errorFilename );
    }
diff -r 72d967c58cb4 -r 141245be26e4 Base/IO/tests/expected/errorMsg-Invalid.txt
--- a/Base/IO/tests/expected/errorMsg-Invalid.txt	Wed Dec 09 21:13:08 2009 +1100
+++ b/Base/IO/tests/expected/errorMsg-Invalid.txt	Thu Dec 10 10:49:59 2009 +1100
@@ -2,5 +2,3 @@
 <invalid></param>
                  ^
 Error: File ./StGermain/Base/IO/input/Invalid.xml doesn't exist, not readable, or not valid.
-Error: empty document. Not parsing.
-Error: File ./StGermain/Base/IO/input/Invalid.xml not valid/readable.



More information about the CIG-COMMITS mailing list