Re: Building XML-Xerces-2.3.0-3 on Windows
Martin Raspe <[email protected]>
| Newsgroups | gmane.text.xml.xerces-p.devel |
|---|---|
| Message-ID | <[email protected]> |
Jason E. Stewart wrote: >>t\Schema..................ok 3/3 >> >>Handling Unknown exception, <IN> chunk 1. >># Looks like your test died just after 3. >>t\Schema..................dubious >> Test returned status 255 (wstat 65280, 0xff00) >> after all the subtests completed successfully >> >>Test 3 says: "Resolver: Couldn't create input source for entity: >>No matching function for overloaded 'new_LocalFileInputSource' at >>Xerces.pm line 1786." > > > Once again this message happens because the constructor gets called > without a filename - which means that the EntityResolver actually > failed to resolve things. > > Could you activate the print statements in the test code and run it > again? If I put a "print $@" after each eval and run the test separately then it passes ok ... D:\Src\XML-Xerces-2.3.0-3> perl t/schema.t 1..3 ok 1 - module loaded ok 2 ok 3 FATAL ERROR: FILE: FAKE_SYSTEM_ID LINE: 41 COLUMN: 6 MESSAGE: Expected end of tag 'personnel' at t/schema.t line 50 Handling Unknown exception, <IN> chunk 1. # Looks like your test died just after 3. (I'm not sure if the last two lines are correct.) >>t\URLInputSource..........dubious >> Test returned status 2 (wstat 512, 0x200) >>DIED. FAILED tests 6, 8 >> Failed 2/8 tests, 75.00% okay >> >>In Test 6 $error->GetCode() returns 0 (correct: 105). >>In Test 8 $error->GetCode() returns 101 (correct) if called >>immediately, later 67114035. > > > sounds like serious problems in the exception handling code. > > >>It seems the error code somehow gets lost or overwritten when the >>$error object is referenced again. If you reverse the arguments in the >>"ok" clause as follows it passes the test: >> >>ok($error->getCode() == $XML::Xerces::XMLExcepts::URL_NoProtocolPresent >>&& >>UNIVERSAL::isa($error,'XML::Xerces::XMLException') >>&& >>$error); > That will be a big problem for handling exceptions - the above code > will die if the error isn't an exception object... Yes, I just wanted to show that the code is returned correctly if called first. May be the reason is that the exception handling code itself raises an exception. Martin