Re: Image::Magick vs Test::Harness 3.00

2007-11-08 Thread Andy Armstrong

On 8 Nov 2007, at 07:29, Andreas J. Koenig wrote:


Since 3.00 I have the following test output in my Image::Magick test

 t/wmf/read..
 1..2
 ok 1
 ok 2
 ok
 You already have a parser for (t/wmf/read.t) at /home/src/perl/ 
repoperls/installed-perls/perl/pe1S7WD/[EMAIL PROTECTED]/lib/5.10.0/ 
TAP/Harness.pm line 412



On IRC AndyA and I already had a short exchange about this and Andy
cannot reproduce it. I can confirm that I see the other broken test
output from I:M in t/setattribute.t. But when I fix this in their
test, the problem with T:H output remains for me.


I've sent them a patch for t/setattribute.t. Bob Friesenhahn [EMAIL PROTECTED] 
 has accepted it and seems to be a good contact.



% make test
/bin/sh ../magick.sh PERL_DL_NONLAZY=1 /home/src/perl/repoperls/ 
installed-perls/perl/pe1S7WD/[EMAIL PROTECTED]/bin/perl - 
MExtUtils::Command::MM -e test_harness(0, 'blib/lib', 'blib/ 
arch') t/*.t t/bzlib/*.t t/jpeg/*.t t/jp2/*.t t/png/*.t t/tiff/*.t  
t/wmf/*.t t/wmf/*.t t/zlib/*.t



Because in the Makefile.PL it says:

 foreach $delegate (qw/bzlib fontconfig freetype jpeg jp2 lcms png  
tiff wmf x11 xml wmf zlib/) {

   if( -d t/$delegate ) {
 $delegate_tests .=  t/$delegate/*.t;
   }
 }

I see the wmf twice there. Everything beyond this point is not of
interest for Test::Harness. I'll take that bug over to Image-Magick.
Maybe an upgrade has this fixed already.


I think I'm not seeing that bug because IM is building without WMF  
support on my machine.



So this is a new (to me) incompatibility: with old T:H it was OK to
run a test twice, with the new one it isn't. Maybe this restriction
could be lifted, I have no strong opinion. In any case the error
message could be improved, something like. Did you call this test
twice? might really help to nail such a bug quicker.



Definitely +1 to a better error message. I've added the text

Perhaps you have run the same test twice.

after the existing error message.

The reason we error at all is part of a general fail-early philosophy  
- it's a testing after all - so anything unexpected might indicate  
trouble.


--
Andy Armstrong, Hexten






Image::Magick vs Test::Harness 3.00

2007-11-08 Thread Andreas J. Koenig
Since 3.00 I have the following test output in my Image::Magick test

  t/wmf/read..
  1..2
  ok 1
  ok 2
  ok
  You already have a parser for (t/wmf/read.t) at 
/home/src/perl/repoperls/installed-perls/perl/pe1S7WD/[EMAIL 
PROTECTED]/lib/5.10.0/TAP/Harness.pm line 412


On IRC AndyA and I already had a short exchange about this and Andy
cannot reproduce it. I can confirm that I see the other broken test
output from I:M in t/setattribute.t. But when I fix this in their
test, the problem with T:H output remains for me.

  % for f in ImageMagick-6.3.5-2.tar.bz2; do ls -l $f;md5sum $f;done
  -rw-rw-r-- 1 k k 6088930 2007-07-17 20:15:23 ImageMagick-6.3.5-2.tar.bz2  
  20b2867f6c34de7034cbe5f56fc5a671  ImageMagick-6.3.5-2.tar.bz2

Tested with [EMAIL PROTECTED] and @32235, stock 5.8.8, 5.8.7.

Then I tested with 32235 and Test-Harness 2.99_01 with the same
result, only differing line:

  [...]
  t/setattribute..ok 
  t/tiff/read.ok 
  t/tiff/writeok 
  t/wmf/read..ok   
  t/wmf/read..ok   
  You already have a parser for (t/wmf/read.t) at 
/home/src/perl/repoperls/installed-perls/perl/pe1S7WD/[EMAIL 
PROTECTED]/lib/site_perl/5.10.0/TAP/Harness.pm line 377


Now I see the bug in the call to the Harness itself. It indeed calls that test 
twice:

% make test
/bin/sh ../magick.sh PERL_DL_NONLAZY=1 
/home/src/perl/repoperls/installed-perls/perl/pe1S7WD/[EMAIL 
PROTECTED]/bin/perl -MExtUtils::Command::MM -e test_harness(0, 'blib/lib', 
'blib/arch') t/*.t t/bzlib/*.t t/jpeg/*.t t/jp2/*.t t/png/*.t t/tiff/*.t 
t/wmf/*.t t/wmf/*.t t/zlib/*.t


Because in the Makefile.PL it says:

  foreach $delegate (qw/bzlib fontconfig freetype jpeg jp2 lcms png tiff wmf 
x11 xml wmf zlib/) {
if( -d t/$delegate ) {
  $delegate_tests .=  t/$delegate/*.t;
}
  }

I see the wmf twice there. Everything beyond this point is not of
interest for Test::Harness. I'll take that bug over to Image-Magick.
Maybe an upgrade has this fixed already.

So this is a new (to me) incompatibility: with old T:H it was OK to
run a test twice, with the new one it isn't. Maybe this restriction
could be lifted, I have no strong opinion. In any case the error
message could be improved, something like. Did you call this test
twice? might really help to nail such a bug quicker.



-- 
andreas