Skip Menu |

This queue is for tickets about the Imager CPAN distribution.

Report information
The Basics
Id: 79679
Status: resolved
Priority: 40/
Queue: Imager

People
Owner: Nobody in particular
Requestors: duvny [...] yopmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in:
  • 0.92
  • 0.92_01



Subject: 3 subtests fail in t50basicoo.t
Imager 0.92 on Mac OS X 10.7.4 (Lion) with Perl 5.16.1 (no threads) cpanm fails with: t/t50basicoo.t .... Failed 3/262 subtests When I run the test manually to see which specific errors it produces, the errors are not printed: Show quoted text
> perl -Iblib/lib -Iblib/arch t/t50basicoo.t | grep 'not ok'
not ok 201 # line 215: comparing file data to buffer not ok 204 # line 273: comparing callback output to file data not ok 206 # line 284: comparing callback output to file data I also experienced the same errors when testing 0.92_01. More info: TT-fonts: includes not found - libraries not found No threads FreeType 2: configured via freetype-config FreeType 2: Passed code check GIF: main: includes found - libraries found GIF: Major 4, Minor 2 GIF: Passed code check JPEG: main: includes found - libraries found JPEG: Passed code check PNG: Found via pkg-config libpng15 PNG: library version 10512, header version 10512 PNG: Passed code check T1Lib: main: includes not found - libraries not found T1Lib: Checking if the compiler can find them on its own Note (probably harmless): No library found for -lt1 T1Lib: Test code failed: Can't link/include 't1lib.h', 't1' TIFF: main: includes found - libraries found TIFF: library version 3.9.5, header version 20110409 TIFF: Passed code check Libraries found: FT2 GIF JPEG PNG TIFF Libraries *not* found: T1 Win32
Subject: Re: [rt.cpan.org #79679] 3 subtests fail in t50basicoo.t
Date: Mon, 17 Sep 2012 15:43:30 +1000
To: DuvNY via RT <bug-Imager [...] rt.cpan.org>
From: Tony Cook <tony [...] develop-help.com>
On Mon, Sep 17, 2012 at 12:52:05AM -0400, DuvNY via RT wrote: Show quoted text
> Mon Sep 17 00:52:04 2012: Request 79679 was acted upon. > Transaction: Ticket created by duvny > Queue: Imager > Subject: 3 subtests fail in t50basicoo.t > Broken in: (no value) > Severity: (no value) > Owner: Nobody > Requestors: duvny@yopmail.com > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=79679 > > > > Imager 0.92 on Mac OS X 10.7.4 (Lion) with Perl 5.16.1 (no threads) > cpanm fails with: > > t/t50basicoo.t .... Failed 3/262 subtests > > When I run the test manually to see which specific errors it produces, > the errors are not printed: >
> > perl -Iblib/lib -Iblib/arch t/t50basicoo.t | grep 'not ok'
> not ok 201 # line 215: comparing file data to buffer > not ok 204 # line 273: comparing callback output to file data > not ok 206 # line 284: comparing callback output to file data
Could I have the full output of the test script please? You can use -Mblib to shorten that further: perl -Mblib t/t50basicoo.t Thanks, Tony
From: duvny [...] yopmail.com
On Mon Sep 17 01:43:42 2012, tony@develop-help.com wrote: Show quoted text
> Could I have the full output of the test script please?
1..262 # avaliable formats: # png # bmp # tiff # pnm # tga # ifs # ft2 # jpeg # gif # raw # type jpeg #opening Format: jpeg, options: file=>JPEG/testimg/209_yonge.jpg ok 1 # reading from file ok 2 # opening JPEG/testimg/209_yonge.jpg ok 3 # read from fh ok 4 # seek after read ok 5 # read from fh ok 6 # image comparison after fh read ok 7 # seek after read ok 8 # read from fd ok 9 # image comparistion after fd read ok 10 # seek after fd read ok 11 # close fh after reads ok 12 # read from buffer ok 13 # comparing buffer read image ok 14 # read from callback min ok 15 # comparing mincb image ok 16 # read from callback max ok 17 # comparing maxcb image # type png #opening Format: png, options: file=>testimg/test.png ok 18 # reading from file ok 19 # opening testimg/test.png ok 20 # read from fh ok 21 # seek after read ok 22 # read from fh ok 23 # image comparison after fh read ok 24 # seek after read ok 25 # read from fd ok 26 # image comparistion after fd read ok 27 # seek after fd read ok 28 # close fh after reads ok 29 # read from buffer ok 30 # comparing buffer read image ok 31 # read from callback min ok 32 # comparing mincb image ok 33 # read from callback max ok 34 # comparing maxcb image # type raw #opening Format: raw, options: ysize=>150 xsize=>150 file=>testimg/test.raw interleave=>0 type=>raw ok 35 # reading from file ok 36 # opening testimg/test.raw ok 37 # read from fh ok 38 # seek after read ok 39 # read from fh ok 40 # image comparison after fh read ok 41 # seek after read ok 42 # read from fd ok 43 # image comparistion after fd read ok 44 # seek after fd read ok 45 # close fh after reads ok 46 # read from buffer ok 47 # comparing buffer read image ok 48 # read from callback min ok 49 # comparing mincb image ok 50 # read from callback max ok 51 # comparing maxcb image # type pnm #opening Format: pnm, options: file=>testimg/penguin-base.ppm ok 52 # reading from file ok 53 # opening testimg/penguin-base.ppm ok 54 # read from fh ok 55 # seek after read ok 56 # read from fh ok 57 # image comparison after fh read ok 58 # seek after read ok 59 # read from fd ok 60 # image comparistion after fd read ok 61 # seek after fd read ok 62 # close fh after reads ok 63 # read from buffer ok 64 # comparing buffer read image ok 65 # read from callback min ok 66 # comparing mincb image ok 67 # read from callback max ok 68 # comparing maxcb image # type gif #opening Format: gif, options: file=>GIF/testimg/expected.gif ok 69 # reading from file ok 70 # opening GIF/testimg/expected.gif ok 71 # read from fh ok 72 # seek after read ok 73 # read from fh ok 74 # image comparison after fh read ok 75 # seek after read ok 76 # read from fd ok 77 # image comparistion after fd read ok 78 # seek after fd read ok 79 # close fh after reads ok 80 # read from buffer ok 81 # comparing buffer read image ok 82 # read from callback min ok 83 # comparing mincb image ok 84 # read from callback max ok 85 # comparing maxcb image # type tiff #opening Format: tiff, options: file=>TIFF/testimg/comp8.tif ok 86 # reading from file ok 87 # opening TIFF/testimg/comp8.tif ok 88 # read from fh ok 89 # seek after read ok 90 # read from fh ok 91 # image comparison after fh read ok 92 # seek after read ok 93 # read from fd ok 94 # image comparistion after fd read ok 95 # seek after fd read ok 96 # close fh after reads ok 97 # read from buffer ok 98 # comparing buffer read image ok 99 # read from callback min ok 100 # comparing mincb image ok 101 # read from callback max ok 102 # comparing maxcb image # type bmp #opening Format: bmp, options: file=>testimg/winrgb24.bmp ok 103 # reading from file ok 104 # opening testimg/winrgb24.bmp ok 105 # read from fh ok 106 # seek after read ok 107 # read from fh ok 108 # image comparison after fh read ok 109 # seek after read ok 110 # read from fd ok 111 # image comparistion after fd read ok 112 # seek after fd read ok 113 # close fh after reads ok 114 # read from buffer ok 115 # comparing buffer read image ok 116 # read from callback min ok 117 # comparing mincb image ok 118 # read from callback max ok 119 # comparing maxcb image # type tga #opening Format: tga, options: file=>testimg/test.tga ok 120 # reading from file ok 121 # opening testimg/test.tga ok 122 # read from fh ok 123 # seek after read ok 124 # read from fh ok 125 # image comparison after fh read ok 126 # seek after read ok 127 # read from fd ok 128 # image comparistion after fd read ok 129 # seek after fd read ok 130 # close fh after reads ok 131 # read from buffer ok 132 # comparing buffer read image ok 133 # read from callback min ok 134 # comparing mincb image ok 135 # read from callback max ok 136 # comparing maxcb image # write tests for jpeg ok 137 # cannot read base file # writing jpeg to a file ok 138 # writing jpeg to a file testout/t50out.jpeg # writing jpeg to a FH ok 139 # writing jpeg to a FH ok 140 # seek after writing jpeg to a FH ok 141 # write to FH after writing jpeg ok 142 # closing FH after writing jpeg ok 143 # opening data source # writing jpeg to a buffer ok 144 # writing jpeg to a buffer ok 145 # comparing file data to buffer # writing jpeg via callbacks (mb=1) ok 146 # writing jpeg to callback (mb=1) ok 147 # checking closecb called ok 148 # comparing callback output to file data # writing jpeg via callbacks (no mb) ok 149 # writing jpeg to callback (no mb) ok 150 # comparing callback output to file data # write tests for png ok 151 # cannot read base file # writing png to a file ok 152 # writing png to a file testout/t50out.png # writing png to a FH ok 153 # writing png to a FH ok 154 # seek after writing png to a FH ok 155 # write to FH after writing png ok 156 # closing FH after writing png ok 157 # opening data source # writing png to a buffer ok 158 # writing png to a buffer ok 159 # comparing file data to buffer # writing png via callbacks (mb=1) ok 160 # writing png to callback (mb=1) ok 161 # checking closecb called ok 162 # comparing callback output to file data # writing png via callbacks (no mb) ok 163 # writing png to callback (no mb) ok 164 # comparing callback output to file data # write tests for raw ok 165 # cannot read base file # writing raw to a file ok 166 # writing raw to a file testout/t50out.raw # writing raw to a FH ok 167 # writing raw to a FH ok 168 # seek after writing raw to a FH ok 169 # write to FH after writing raw ok 170 # closing FH after writing raw ok 171 # opening data source # writing raw to a buffer ok 172 # writing raw to a buffer ok 173 # comparing file data to buffer # writing raw via callbacks (mb=1) ok 174 # writing raw to callback (mb=1) ok 175 # checking closecb called ok 176 # comparing callback output to file data # writing raw via callbacks (no mb) ok 177 # writing raw to callback (no mb) ok 178 # comparing callback output to file data # write tests for pnm ok 179 # cannot read base file # writing pnm to a file ok 180 # writing pnm to a file testout/t50out.pnm # writing pnm to a FH ok 181 # writing pnm to a FH ok 182 # seek after writing pnm to a FH ok 183 # write to FH after writing pnm ok 184 # closing FH after writing pnm ok 185 # opening data source # writing pnm to a buffer ok 186 # writing pnm to a buffer ok 187 # comparing file data to buffer # writing pnm via callbacks (mb=1) ok 188 # writing pnm to callback (mb=1) ok 189 # checking closecb called ok 190 # comparing callback output to file data # writing pnm via callbacks (no mb) ok 191 # writing pnm to callback (no mb) ok 192 # comparing callback output to file data # write tests for gif ok 193 # cannot read base file # writing gif to a file ok 194 # writing gif to a file testout/t50out.gif # writing gif to a FH ok 195 # writing gif to a FH ok 196 # seek after writing gif to a FH ok 197 # write to FH after writing gif ok 198 # closing FH after writing gif ok 199 # opening data source # writing gif to a buffer ok 200 # writing gif to a buffer not ok 201 # line 215: comparing file data to buffer # writing gif via callbacks (mb=1) ok 202 # writing gif to callback (mb=1) ok 203 # checking closecb called not ok 204 # line 273: comparing callback output to file data # writing gif via callbacks (no mb) ok 205 # writing gif to callback (no mb) not ok 206 # line 284: comparing callback output to file data # write tests for tiff ok 207 # cannot read base file # writing tiff to a file ok 208 # writing tiff to a file testout/t50out.tiff # writing tiff to a FH ok 209 # writing tiff to a FH ok 210 # seek after writing tiff to a FH ok 211 # write to FH after writing tiff ok 212 # closing FH after writing tiff ok 213 # opening data source # writing tiff to a buffer ok 214 # writing tiff to a buffer ok 215 # comparing file data to buffer # writing tiff via callbacks (mb=1) ok 216 # writing tiff to callback (mb=1) ok 217 # checking closecb called ok 218 # comparing callback output to file data # writing tiff via callbacks (no mb) ok 219 # writing tiff to callback (no mb) ok 220 # comparing callback output to file data # write tests for bmp ok 221 # cannot read base file # writing bmp to a file ok 222 # writing bmp to a file testout/t50out.bmp # writing bmp to a FH ok 223 # writing bmp to a FH ok 224 # seek after writing bmp to a FH ok 225 # write to FH after writing bmp ok 226 # closing FH after writing bmp ok 227 # opening data source # writing bmp to a buffer ok 228 # writing bmp to a buffer ok 229 # comparing file data to buffer # writing bmp via callbacks (mb=1) ok 230 # writing bmp to callback (mb=1) ok 231 # checking closecb called ok 232 # comparing callback output to file data # writing bmp via callbacks (no mb) ok 233 # writing bmp to callback (no mb) ok 234 # comparing callback output to file data # write tests for tga ok 235 # cannot read base file # writing tga to a file ok 236 # writing tga to a file testout/t50out.tga # writing tga to a FH ok 237 # writing tga to a FH ok 238 # seek after writing tga to a FH ok 239 # write to FH after writing tga ok 240 # closing FH after writing tga ok 241 # opening data source # writing tga to a buffer ok 242 # writing tga to a buffer ok 243 # comparing file data to buffer # writing tga via callbacks (mb=1) ok 244 # writing tga to callback (mb=1) ok 245 # checking closecb called ok 246 # comparing callback output to file data # writing tga via callbacks (no mb) ok 247 # writing tga to callback (no mb) ok 248 # comparing callback output to file data # multi-image write tests # tiff ok 249 # reading base file ok 250 # copying base image ok 251 # flipping base image ok 252 # writing multiple to a file ok 253 # checking read image count # diff 0 ok 254 # comparing image 0 # diff 0 ok 255 # comparing image 1 # gif ok 256 # reading base file ok 257 # copying base image ok 258 # flipping base image ok 259 # writing multiple to a file ok 260 # checking read image count # diff 0 ok 261 # comparing image 0 # diff 0 ok 262 # comparing image 1
Subject: Re: [rt.cpan.org #79679] 3 subtests fail in t50basicoo.t
Date: Mon, 17 Sep 2012 19:38:16 +1000
To: DuvNY via RT <bug-Imager [...] rt.cpan.org>
From: Tony Cook <tony [...] develop-help.com>
On Mon, Sep 17, 2012 at 04:00:28AM -0400, DuvNY via RT wrote: Show quoted text
> Queue: Imager > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=79679 > > > On Mon Sep 17 01:43:42 2012, tony@develop-help.com wrote: >
> > Could I have the full output of the test script please?
> > # writing gif to a buffer > ok 200 # writing gif to a buffer > not ok 201 # line 215: comparing file data to buffer > # writing gif via callbacks (mb=1) > ok 202 # writing gif to callback (mb=1) > ok 203 # checking closecb called > not ok 204 # line 273: comparing callback output to file data > # writing gif via callbacks (no mb) > ok 205 # writing gif to callback (no mb) > not ok 206 # line 284: comparing callback output to file data
Thanks, I've reproduced this locally with 0.92. I can't reproduce it with the current development version, but that fails badly in a threads test on OS X. I can't see any change in particular that might have fixed the problem. Tony
On Mon Sep 17 00:52:04 2012, duvny wrote: Show quoted text
> Imager 0.92 on Mac OS X 10.7.4 (Lion) with Perl 5.16.1 (no threads) > cpanm fails with: > > t/t50basicoo.t .... Failed 3/262 subtests > > When I run the test manually to see which specific errors it produces, > the errors are not printed:
This appears to be a bug in giflib 4.2.0 (and probably 5.0.0): https://sourceforge.net/tracker/?func=detail&aid=3574283&group_id=102202&atid=631304 Depending on what happens to be in the memory allocated by giflib it writes a GIF87a or GIF89a header, rather than the header I request. So depending on how memory has been used, it's possible to get a reproducible difference between two different image writes, producing the failure you see. I'd suggest 4.1.6 for now. Tony
On Mon Sep 17 00:52:04 2012, duvny wrote: Show quoted text
> Imager 0.92 on Mac OS X 10.7.4 (Lion) with Perl 5.16.1 (no threads) > cpanm fails with: > > t/t50basicoo.t .... Failed 3/262 subtests > > When I run the test manually to see which specific errors it produces, > the errors are not printed: >
> > perl -Iblib/lib -Iblib/arch t/t50basicoo.t | grep 'not ok'
> not ok 201 # line 215: comparing file data to buffer > not ok 204 # line 273: comparing callback output to file data > not ok 206 # line 284: comparing callback output to file data
Imager 0.93 has been released which detects the buggy 4.2.0 release and rejects it at probe time. 5.0.0 is also rejected, but 4.2.1 and 5.0.1 are accepted. Thanks for your report. Tony