Re: Image::Magick vs Test::Harness 3.00
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
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