[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