Josts Smokehouse wrote:
....
> This is an error report generated automatically by CPANPLUS.
> Below is the error stack during 'make test':
>
> PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
>"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/0....ok
> t/1....# Failed test (t/1.t at line 242)
> # got: '<?xml version="1.0"?>
> # <dm:diff xmlns:dm="http://www.locus.cz/XML/DifferenceMarkup">
> # <top>
> # <dm:delete>
> # <a/>
> # </dm:delete>
> # <dm:delete>
> # <b/>
> # </dm:delete>
> # <dm:insert>
> # <x/>
> # </dm:insert>
> # </top>
> # </dm:diff>
> # '
> # expected: '<?xml version="1.0"?>
> # <dm:diff xmlns:dm="http://www.locus.cz/XML/DifferenceMarkup">
> # <top>
> # <dm:delete>
> # <a/>
> # <b/>
> # </dm:delete>
> # <dm:insert>
> # <x/>
> # </dm:insert>
> # </top>
> # </dm:diff>
> # '
> # Looks like you failed 1 tests of 8.
> dubious
> Test returned status 1 (wstat 256, 0x100)
> DIED. FAILED test 7
Funny thing - I thought I've already fixed that... :-) And the test
passes
on my machine, which is
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=linux, osvers=2.4.0, archname=i686-linux
uname='linux linux 2.4.0 #3 sun jan 28 20:49:46 gmt 2001 i686
unknown '
config_args='-de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
....
I don't think Perl version is the problem, but version of XML::LibXML
might - how do I find out which one I have installed? Also, what happens
if you add logging statements to the module (by applying the attached
diff) and run ``perl t/1.t''? I get
....
ok 6 - reorder
_on_delete(XML::DifferenceMarkup=HASH(0x8193444), a)
no last child
_append_delete(XML::DifferenceMarkup=HASH(0x8193444), a)
_on_delete(XML::DifferenceMarkup=HASH(0x8193444), b)
last child is <delete/>
ok 7 - asymmetric replace
....
which is as it should be...
Many thanks for your testing effort!
Bye
Vasek
--- DifferenceMarkup.pm Tue Sep 3 19:38:09 2002
+++ /usr/local/lib/perl5/site_perl/5.6.1/XML/DifferenceMarkup.pm Tue Sep 3
+19:42:41 2002
@@ -250,7 +250,7 @@
sub _append_delete {
my ($self, $n) = @_;
- # warn "_append_delete(" . $self . ", " . $n->nodeName . ")\n";
+ warn "_append_delete(" . $self . ", " . $n->nodeName . ")\n";
my $del = $self->{dest}->createElement(
$self->_get_scoped_name('delete'));
@@ -443,12 +443,14 @@
sub _on_delete {
my ($self, $n) = @_;
- # warn "_on_delete(" . $self . ", " . $n->nodeName . ")\n";
+ warn "_on_delete(" . $self . ", " . $n->nodeName . ")\n";
my $last = $self->{growth_point}->lastChild;
if (!$last) {
+ warn "\tno last child\n";
$self->_append_delete($n);
} elsif ($last->nodeName eq $self->_get_scoped_name('delete')) {
+ warn "\tlast child is <delete/>\n";
# the last node under <delete/> isn't going to be descended
# into (because it's going to be followed by another deleted
# node); we can leave only the top node from it & remove the
@@ -456,8 +458,11 @@
$self->_prune($last);
$last->appendChild($self->{dest}->importNode($n));
} elsif ($last->nodeName ne $self->_get_scoped_name('insert')) {
+ warn "\tlast child is neither <delete/> not <insert/> - it's " .
+ $last->nodeName . "\n";
$self->_append_delete($n);
} else {
+ warn "\tlast child is <insert/>\n";
if (!$self->_combine_pair($n, 1)) {
$self->_append_delete($n);
}