FrT;@1|>>0|$15|HeaderDoc::Test%22|$4|CODE$7|COMMENT$7|CPPCODE$15|EXPECTED_RESULT$23|EXPECTED_RESULT_ALLDECS$7|FAILMSG$8|FILENAME$4|LANG$4|NAME$7|SUBLANG$4|TYPE$93|#error "This is a bad failure #include <foo/foo.h> instead" int bogus_test_variable_error_1; $22|/*! This is a test */ $0|$6016|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 0 inInterface: 0 inCPPHeader: 0 inOCCHeader: 0 inPerlScript: 0 inShellScript: 0 inPHPScript: 0 inJavaSource: 0 inFunctionGroup: 0 inGroup: 0 inFunction: 0 inPDefine: 0 inTypedef: 0 inUnion: 0 inStruct: 0 inConstant: 0 inVar: 0 inEnum: 0 inMethod: 0 inAvailabilityMacro: 0 inUnknown: 1 classType: unknown inputCounter: 0 blockOffset: 0 fullpath: /test_suite_bogus_path/cpp_error.test -=: BLOCKPARSE PARSER STATE KEYS :=- $parserState->{FULLPATH} => /test_suite_bogus_path/cpp_error.test $parserState->{NEXTTOKENNOCPP} => 0 $parserState->{availability} => $parserState->{backslashcount} => 0 $parserState->{basetype} => $parserState->{bracePending} => 0 $parserState->{callbackIsTypedef} => 0 $parserState->{callbackName} => $parserState->{callbackNamePending} => 0 $parserState->{categoryClass} => $parserState->{classtype} => $parserState->{freezeStack} => ARRAY(OBJID) $parserState->{freezereturn} => 0 $parserState->{frozensodname} => $parserState->{functionReturnsCallback} => 0 $parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{inBrackets} => 0 $parserState->{inChar} => 0 $parserState->{inClass} => 0 $parserState->{inComment} => 0 $parserState->{inInlineComment} => 0 $parserState->{inMacro} => 4 $parserState->{inMacroLine} => 0 $parserState->{inOperator} => 0 $parserState->{inPrivateParamTypes} => 0 $parserState->{inString} => 0 $parserState->{inTemplate} => 0 $parserState->{initbsCount} => 0 $parserState->{inputCounter} => 1 $parserState->{kr_c_function} => 0 $parserState->{kr_c_name} => $parserState->{lang} => C $parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{lastsymbol} => " $parserState->{macroNoTrunc} => 2 $parserState->{name} => $parserState->{namePending} => 0 $parserState->{noInsert} => 0 $parserState->{occmethod} => 0 $parserState->{occmethodname} => $parserState->{occparmlabelfound} => 11 $parserState->{onlyComments} => 0 $parserState->{parsedParamAtBrace} => ARRAY(OBJID) $parserState->{parsedParamList} => ARRAY(OBJID) $parserState->{parsedParamParse} => 0 $parserState->{parsedParamStateAtBrace} => ARRAY(OBJID) $parserState->{posstypes} => $parserState->{posstypesPending} => 1 $parserState->{pplStack} => ARRAY(OBJID) $parserState->{preEqualsSymbol} => $parserState->{preTemplateSymbol} => $parserState->{returntype} => #error "This is a bad failure #include <foo/foo.h> instead" $parserState->{seenBraces} => 0 $parserState->{seenMacroPart} => 1 $parserState->{seenTilde} => 0 $parserState->{simpleTDcontents} => $parserState->{simpleTypedef} => 0 $parserState->{sodclass} => $parserState->{sodname} => $parserState->{sodtype} => $parserState->{stackFrozen} => 0 $parserState->{startOfDec} => 1 $parserState->{sublang} => C $parserState->{value} => $parserState->{valuepending} => 0 -=: BLOCKPARSE RETURN VALUES :=- newcount: 1 typelist: MACRO namelist: " posstypes: MACRO value: returntype: #error "This is a bad failure #include <foo/foo.h> instead" pridec: simpleTDcontents: bpavail: blockOffset: 0 conformsToList: functionContents: extendsClass: implementsClass: -=: LIST OF PARSED PARAMETERS :=- -=: DUMP OF PARSE TREE :=- +---#error | +--- | +---" | +---This | +--- | +---is | +--- | +---a | +--- | +---bad | +--- | +---failure | +--- | +---# | +---include | +--- | +---< | +---foo | +---/ | +---foo | +---. | +---h | +---> | +--- | +---instead | +---" | +---[ NEWLINE ] -=: COMPUTED VALUE :=- SUCCESS: 0 VALUE: 0 -=: CPP CHANGES :=- NO CPP CHANGES -=: FOUND MATCH :=- 1 -=: NAMED OBJECTS :=- TREE COUNT: 0 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Header NAME: cpp error APIUID: //test_ref/doc/header/cpp_error.test ABSTRACT: "" DISCUSSION: "<p></p>" UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Header" MASTERENUM: "" APIREFSETUPDONE: "1" TPCDONE: "" NOREGISTERUID: "" SUPPRESSCHILDREN: "" NAMELINE_DISCUSSION: "" HIDEDOC: "" HIDESINGLETONS: "" HIDECONTENTS: "" MAINOBJECT: "" LIST ATTRIBUTES: SHORT ATTRIBUTES: LONG ATTRIBUTES: TREE COUNT: 1 INDEX GROUP: IS PROPERTY: 0 IS BLOCK: OBJECT TYPE: HeaderDoc::Var NAME: bogus_test_variable_error_1 APIUID: //test_ref/c/data/bogus_test_variable_error_1 ABSTRACT: "" DISCUSSION: "<p>This is a test " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "int" LINENUM: "" CLASS: "HeaderDoc::Var" MASTERENUM: "" APIREFSETUPDONE: "1" TPCDONE: "" NOREGISTERUID: "" SUPPRESSCHILDREN: "0" NAMELINE_DISCUSSION: "" HIDEDOC: "" HIDESINGLETONS: "" HIDECONTENTS: "" MAINOBJECT: "" LIST ATTRIBUTES: SHORT ATTRIBUTES: LONG ATTRIBUTES: -=: NAMED OBJECT PARSE TREES :=- OBJECT: bogus_test_variable_error_1 (HeaderDoc::Var) +---int +--- +---bogus_test_variable_error_1 +---; +--- +---[ NEWLINE ] END OF OBJECT -=: HTML OUTPUT OF PARSE TREES :=- OBJECT: bogus_test_variable_error_1 (HeaderDoc::Var) <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/bogus_test_variable_error_1 //test_ref/c/data/bogus_test_variable_error_1 //test_ref/c/clconst/bogus_test_variable_error_1 " machineGenerated="true" --><span class="var">bogus_test_variable_error_1</span><!-- /a -->; END OF OBJECT $6016|-=: TOP LEVEL COMMENT PARSE VALUES :=- inHeader: 0 inClass: 0 inInterface: 0 inCPPHeader: 0 inOCCHeader: 0 inPerlScript: 0 inShellScript: 0 inPHPScript: 0 inJavaSource: 0 inFunctionGroup: 0 inGroup: 0 inFunction: 0 inPDefine: 0 inTypedef: 0 inUnion: 0 inStruct: 0 inConstant: 0 inVar: 0 inEnum: 0 inMethod: 0 inAvailabilityMacro: 0 inUnknown: 1 classType: unknown inputCounter: 0 blockOffset: 0 fullpath: /test_suite_bogus_path/cpp_error.test -=: BLOCKPARSE PARSER STATE KEYS :=- $parserState->{FULLPATH} => /test_suite_bogus_path/cpp_error.test $parserState->{NEXTTOKENNOCPP} => 0 $parserState->{availability} => $parserState->{backslashcount} => 0 $parserState->{basetype} => $parserState->{bracePending} => 0 $parserState->{callbackIsTypedef} => 0 $parserState->{callbackName} => $parserState->{callbackNamePending} => 0 $parserState->{categoryClass} => $parserState->{classtype} => $parserState->{freezeStack} => ARRAY(OBJID) $parserState->{freezereturn} => 0 $parserState->{frozensodname} => $parserState->{functionReturnsCallback} => 0 $parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{inBrackets} => 0 $parserState->{inChar} => 0 $parserState->{inClass} => 0 $parserState->{inComment} => 0 $parserState->{inInlineComment} => 0 $parserState->{inMacro} => 4 $parserState->{inMacroLine} => 0 $parserState->{inOperator} => 0 $parserState->{inPrivateParamTypes} => 0 $parserState->{inString} => 0 $parserState->{inTemplate} => 0 $parserState->{initbsCount} => 0 $parserState->{inputCounter} => 1 $parserState->{kr_c_function} => 0 $parserState->{kr_c_name} => $parserState->{lang} => C $parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID) $parserState->{lastsymbol} => " $parserState->{macroNoTrunc} => 2 $parserState->{name} => $parserState->{namePending} => 0 $parserState->{noInsert} => 0 $parserState->{occmethod} => 0 $parserState->{occmethodname} => $parserState->{occparmlabelfound} => 11 $parserState->{onlyComments} => 0 $parserState->{parsedParamAtBrace} => ARRAY(OBJID) $parserState->{parsedParamList} => ARRAY(OBJID) $parserState->{parsedParamParse} => 0 $parserState->{parsedParamStateAtBrace} => ARRAY(OBJID) $parserState->{posstypes} => $parserState->{posstypesPending} => 1 $parserState->{pplStack} => ARRAY(OBJID) $parserState->{preEqualsSymbol} => $parserState->{preTemplateSymbol} => $parserState->{returntype} => #error "This is a bad failure #include <foo/foo.h> instead" $parserState->{seenBraces} => 0 $parserState->{seenMacroPart} => 1 $parserState->{seenTilde} => 0 $parserState->{simpleTDcontents} => $parserState->{simpleTypedef} => 0 $parserState->{sodclass} => $parserState->{sodname} => $parserState->{sodtype} => $parserState->{stackFrozen} => 0 $parserState->{startOfDec} => 1 $parserState->{sublang} => C $parserState->{value} => $parserState->{valuepending} => 0 -=: BLOCKPARSE RETURN VALUES :=- newcount: 1 typelist: MACRO namelist: " posstypes: MACRO value: returntype: #error "This is a bad failure #include <foo/foo.h> instead" pridec: simpleTDcontents: bpavail: blockOffset: 0 conformsToList: functionContents: extendsClass: implementsClass: -=: LIST OF PARSED PARAMETERS :=- -=: DUMP OF PARSE TREE :=- +---#error | +--- | +---" | +---This | +--- | +---is | +--- | +---a | +--- | +---bad | +--- | +---failure | +--- | +---# | +---include | +--- | +---< | +---foo | +---/ | +---foo | +---. | +---h | +---> | +--- | +---instead | +---" | +---[ NEWLINE ] -=: COMPUTED VALUE :=- SUCCESS: 0 VALUE: 0 -=: CPP CHANGES :=- NO CPP CHANGES -=: FOUND MATCH :=- 1 -=: NAMED OBJECTS :=- TREE COUNT: 0 INDEX GROUP: IS BLOCK: OBJECT TYPE: HeaderDoc::Header NAME: cpp error APIUID: //test_ref/doc/header/cpp_error.test ABSTRACT: "" DISCUSSION: "<p></p>" UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "" LINENUM: "" CLASS: "HeaderDoc::Header" MASTERENUM: "" APIREFSETUPDONE: "1" TPCDONE: "" NOREGISTERUID: "" SUPPRESSCHILDREN: "" NAMELINE_DISCUSSION: "" HIDEDOC: "" HIDESINGLETONS: "" HIDECONTENTS: "" MAINOBJECT: "" LIST ATTRIBUTES: SHORT ATTRIBUTES: LONG ATTRIBUTES: TREE COUNT: 1 INDEX GROUP: IS PROPERTY: 0 IS BLOCK: OBJECT TYPE: HeaderDoc::Var NAME: bogus_test_variable_error_1 APIUID: //test_ref/c/data/bogus_test_variable_error_1 ABSTRACT: "" DISCUSSION: "<p>This is a test " UPDATED: "" COPYRIGHT: "" HTMLMETA: "" PRIVATEDECLARATION: "" GROUP: "" INDEXGROUP: "" THROWS: "" XMLTHROWS: "" UPDATED: "" LINKAGESTATE: "" ACCESSCONTROL: "" AVAILABILITY: "" LINKUID: "" ORIGCLASS: "" ISDEFINE: "" ISTEMPLATE: "" VALUE: "UNKNOWN" RETURNTYPE: "int" LINENUM: "" CLASS: "HeaderDoc::Var" MASTERENUM: "" APIREFSETUPDONE: "1" TPCDONE: "" NOREGISTERUID: "" SUPPRESSCHILDREN: "0" NAMELINE_DISCUSSION: "" HIDEDOC: "" HIDESINGLETONS: "" HIDECONTENTS: "" MAINOBJECT: "" LIST ATTRIBUTES: SHORT ATTRIBUTES: LONG ATTRIBUTES: -=: NAMED OBJECT PARSE TREES :=- OBJECT: bogus_test_variable_error_1 (HeaderDoc::Var) +---int +--- +---bogus_test_variable_error_1 +---; +--- +---[ NEWLINE ] END OF OBJECT -=: HTML OUTPUT OF PARSE TREES :=- OBJECT: bogus_test_variable_error_1 (HeaderDoc::Var) <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/bogus_test_variable_error_1 //test_ref/c/data/bogus_test_variable_error_1 //test_ref/c/clconst/bogus_test_variable_error_1 " machineGenerated="true" --><span class="var">bogus_test_variable_error_1</span><!-- /a -->; END OF OBJECT $274|This should skip over the #error without problems. If it does not, #error is not being handled. Check in particular the BlockParse.pm function macroRegexpFromList and the list in Utilities.pm to make sure you didn't leave off a "=> 1", as this really screws things up.... $91|/Users/dg/headerdoc-techpubs/Modules/HeaderDoc//../../testsuite/parser_tests/cpp_error.test$1|C$9|cpp error$1|C$6|parser