Martin Raspe <[EMAIL PROTECTED]> writes:
> I put a file "mswin32.pl" in the /hints directory and it got called by
> Makefile.pl via the MakeMaker module.
Ok, that's good to know, thanks.
> The problem is that this hints file is not found by Makefile.pl in
> the /Handler subdir, so the handlers fail to compile.
really? How odd.
> I wonder if this could be due to the fact that I had to change the
> statement
>
>
> \${MAKE} -C Handler static
>
> to
>
> cd Handler && \$(MAKE) static
>
> (VC's "nmake" doesn't seem to have a -C equivalent)? But I think the
> hints file should be called during the "perl Makefile.pl" procedure.
Correct, it should be handled at 'perl Makefile.PL time'.
> > If so then perhaps making a PPM file is the way to go.
>
> I guess you're right. I could do that, but I need some more
> time. Maybe you'll want to take a look at the test results first
> (below). Should the PPM file include the xerces-c DLL, or does the
> Apache license prohibit that?
That should be fine with them.
> PS. Here are the test results on Windows. I have omitted the
> successful tests and commented the others.
Cool! Thanks.
> Some errors can be avoided by simple changes in the test files. I'm
> not sure what is happening to the exception codes (this seems to be
> the major problem). The same problem was already present in 2.3.0-0.
Ok, thats helpful.
> t\AttributeList...........ok 5/8
>
> No matching function for overloaded 'AttributeList_getValue'
> at D:/Src/XML-Xerces-2.3.0-3/blib/lib/XML/Xerces.pm line 221.
Damn that bloody getValue() function - it's a real pain. What I fail
to understande is why Attributes.t passes without trouble - they are
nearly identical, and usually when one fails the other will too.
This is SWIG's way of telling you that the method you called expected
arguments but didn't get the ones it expected.
> # Looks like you planned 8 tests but only ran 5.
> # Looks like your test died just after 5.
> t\AttributeList...........dubious
> Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 6-8
> Failed 3/8 tests, 62.50% okay
>
> It is line 113 that fails:
> $self->{test} = {$attrs->to_hash()};
> All other tests succeed after deleting this one.
having a working to_hash() function is really important, though, You
don't want to have to use DOMNamedNodeMap objects if you can use a
Perl hash instead.
> "2>/dev/null" is Unix syntax that doesn't work under Windows. The test
> succeeds if I delete this suffix.
Yeah - you can tell I develop for linux. I'll check to see if I need
it on linux, if I don't I'll remove it for -4.
> t\DOMDocument.............NOK 3# Failed test (t\DOMDocument.t at
> line 82)
> t\DOMDocument.............NOK 4# Failed test (t\DOMDocument.t at
> line 90)
>
> t\DOMDocument.............ok 35125/35125# Looks like you failed 2
> tests of 35125.
well that means that unicode for windows seems to be working out of
the box.
> It's the same error twice:
> [EMAIL PROTECTED]>{code} does not return
> $XML::Xerces::DOMException::INVALID_CHARACTER_ERR (= 5),
> but 21036276
hmmmm....
> t\SAXException............ok 1/6
>
> UNIVERSAL::isa($error,'XML::Xerces::SAXNotSupportedException') is true,
> but $error->getMessage() dies with the message "Handling Unknown
> Exeption"
How nice, an exception in the exception handling code!
> 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?
> # Looks like you failed 2 tests of 8.
> 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...
Thanks again Martin! I'm totally thrilled that Xerces finally has
Windows support after all of these years without it.
Cheers,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]