From e4b964454ad9d9c366b0d4d321269576f7edf232 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Thu, 5 Jan 2006 19:07:01 +0000 Subject: [PATCH] Bug 286724: change testserver.pl to do a simpler check for image creation, thereby avoiding false negatives. Patch by gerv; r=glob, a=justdave. --- t/testchart.gif | Bin 3751 -> 0 bytes t/testchart.png | Bin 2382 -> 0 bytes t/testgd.png | Bin 361 -> 0 bytes testserver.pl | 61 ++++++++++++++++++++++-------------------------- 4 files changed, 28 insertions(+), 33 deletions(-) delete mode 100644 t/testchart.gif delete mode 100644 t/testchart.png delete mode 100644 t/testgd.png diff --git a/t/testchart.gif b/t/testchart.gif deleted file mode 100644 index a4ed080a0265a19266fb6d1810488cb07a6c2a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 3751 zc-jG{4p{L=Nk%v~VUPik0m1+P|Ns900077U0RR900IvYy;o$%P00000EC2ui0FVKY z0RRL32)f+}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3yc&_h!@BhG{a7Zi~kI1BQ z$!t2G(5Q4uty-_xtai)odcWYXcuX#v&*-#z&2GEj@VIg&+6 zTkRjR4Wg&=jmhiz`uqI-{@CdL3A_dm9ug*SDCpen#R{9)DRGi78-GFMb zX#^+Ir$~=N)uuEH(;`l%YR%bmE5Vc^1c((7fvg9!63{w?lGUqQkzL-o?zU!Hfpz5f4fxP7Ku z6`KjM-hbG=$DMUG^@pH;3NGkCflE*b#DNcf7GP}y9^_z#$Zg0Wb5?x_qHPi8Mj{p# z{(#|$UZtpFd?gkKV~8?J$e#%4L_oj?KT5F5geKnTmWao72*8jO1i2&xPI3^X15Qra zq7N?`Srn2Z#|G zO%iEioNvuZryhfPUiYsGrhGqZ6m1+R~+m-r9kguRb~^n2SCdrJ9Yl{z(m`x<<9ijjXCy zWV14ryb6dYf!c06lC|t%`$VZcT%(=1IN3(ND@ zRF~-tF{(YYp^(jx^!sK+M2iLC)Kn*J!@naHjU(8VRxLIqT1B1U%d4(U1KA?EecaI? zsx5Z~bl2_m*%^te_udoq9g^J|qTTG^gli17*@NMIBIAwzKfM*=g~Ht)<&_WJHsqFi z;&1_+cix9vplhYMf2Esl3F@goB{{UNvtYR2e}^vm=%m-~%v+d4wfcXpn|?d)0_e{B zSH71#SnNK{?r!tW0}nk{!y`@o3CANZeD>OJUqbh|f4}?k%!^L~`G;TsaNy`$Q+(&_ zYZN^8it|2y<@MX|K3w3-(Eb|NKa1SYB>@zm`o{N}|7j$F3S8g_3TQwFQbc--li&m! zXhDf!FoPOIL~RZj5(wrkgd*f%?oMLD6QVF4w&`HN@)tk(y%2^Yl;J);xUB&aj)MMM z;R9PZxf>?rI6BM+5sPR<4gfKT$txiZYlsaW?(P1G6%-=7rbtB_HgN-3%wiNTxI`FP zQEp+Z2nj)RzAk#>jB87y8nyV3GSV)N^tc+owq`jbCJ`JwbQm0$GL3cwtsa2D&KlPd zNI?>CS-C6NXt~{GleJ!PLvZBMJOrTxKMqZbP_4Gs5U;DwvYmposcUjJYOn_n99@|I^C&FH;U60(ll&C z6={ZYc2uM$)s;)-SWp+r(@6MKj8moRQ#}{etZH?ur#q2YnhHX&zD}%UEh|{BI#v|#&dJ~Lr!*b zm_O?yic+*)%SQLOs=Q@&g?2N*i37KWJ?~9yN!^7Jl`wNEZ+zo;F{ZI{8se2xe&K6Z z`C^43%;c?a6ImO{>9@eHMeRj}3yuf3)WAM#utK##;IE!GaU0Htg@p=Q39ppG@9nTj zBaGjdso0GeeuIf;8e(pY7{)Bl9E!_v<1WV74Kwy=jl0p~8veKqK`y{RiyXfrTkS|g z{>F=qoMY8RS;|vJpOe=x-sYqlI*=ZKi1KYuB)Z- zyj4n9degM+^ynDAgJLs)JfN5Q*_S)GH{w2*gBFy^&OxaAl;xPMb-vGlJ z+aBgG!n%V?Q2K$2;EtfW*R9@iGq>5Ob}Y1YkTr&o+mqf7cE0zk?M&ryy@>hq?aB%?#|4d%WSyc4N$mmvf!}oS;Qd_Ru$%bfq7i%02Jm&ASwJpXu`aHu4=m{LTzcH9E_Ja}9qgv`daux)_MIo1>}7X5wPrqsniECsI=Z!G@$MG7 zi^1-9H@mmsE_Av7n(bj1Jf=wQSH5q>?_mIZQ5-)N$b&)hfj9iI3Ey_DN1E&B_I#r` zUwF;?vlV*m?SiX)UC%1M@AD2Xf4XgM!%`k8mcIeDZE0_cJNEWP$$brW&wGF~?cK8l z{!oNJ1L7ASybAyQ>$SrC7&!m=37f&OxRzxVDxrTQDD z&dT2j`u>-)>GUWkNQ;t) zd*3&12S54Q*c>c?J;$XdIqrHy~ZjSF>* z=8%jP0*%oqjXpt+p`-qP* z=#T%%kK-ti1DQz*8IA}!6AhVo1et>oDUme@kMYQ14=E1n=n5HWV;dO`9r+O-36c{z z5+ivNCE1Q6hmk9J4Iz1173q*C84@Yk6fdcfHK`Fdi4{4ilk<3fGf9&{35*8*>4q`M z4LuncKM9l%c$C?=lYa=6QTdd77>@u+6+=0YMY()i$(2M$l~LK16DXEdnSy4ig-ID| zG1G6;wt4~glUd1@24yjwM2zIul#z&*NfTbWn0=|(dU`33hWLG|mtMWsUV|xOYuP(! zq%^PyeR0{8bGek=1eyOPnYFi=mFbF~6n=n-aGS}QQt1ztX#vZaV9m%d@3)vvS&A;{ znvqDBE^(ScV2?%ukhXatvdNOjv70W^o976ddMBKWS(+~OmF0(=$f%sl`J2uueaxv2 zz=_J^W#qoOA1 z6*$^_I=Z4p8H|VNj1pIjIvRgC8gUhKiIX{@%7>zXiG5M}T0aVtFxaDsFr?jdW$+5fFsbU3i=U|nby}(_@u}cfcbnP}tSUa0s;OeuO#YQHvKp+yI;_N6 ztj2n*$eOImx~$CFtj_wZ&>F4MI<3@Nt=4+2*qW`{x~<&Wt={^r;2N&tIu06UN>bSVG; diff --git a/t/testchart.png b/t/testchart.png deleted file mode 100644 index 720423e6dbe63503d321e0be38b42203023a58e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 2382 zc-nndYfux(77h?(1Ome-h&*Hlf~X*Hv%FLcNhX*<=IV@pUt~Z$ zjfKi7?jj?arvX&Sm~{qSG1~XMY-lpvR<%{q%Erfay)54_yl>I?&?Uk1 zIs9?>_qs6n1&9Cqzy{I1ONzad9i{R3&J$a<4`L88A;{YU&hc&tUL0W~M2a zIT(w+Ld725(~cCq8SgM)sTfeOO=rUG|p+;pY5#6tBFu$C4!k%ZHiBo5u09ds#;GJvXUH@4oj za3s&lEUvUa;{o^>bj7F4Qabzc_cif>ONbNh=SY6hA*n{C`r_m%8N3pv;3{GkMs1>zQ@Dp1fDpCqlI| zk<>v!M%P*9OA0TqH7kN}GB%4<)bual2jMW&9Z6vKJIVe6mts`Iad|;IvMf?yBDpG; z1!~zznI2x63PuR8r}W2-qYJ6^a)2SyxB$)N_T-kf@8oET!=Bx9abU z3TV}Qk&&ae1D1?5;Tno;G)nG+3~>4ZcD!(yrN#kv|1@?LLU8ssvyxF3My(Q=y3@3W z5QOT^yKGXNTtK5%^J|b1{6dFLuh6miu4DfRtCTy6bpdQw_lIC=K}^>}WaZm;-@_e6 zYkTE6!Fwd-%L8mu=wztM=F`qonY!{n#IhHHH;U5~^xBWu`lZ6`>+enQq1FAC!lPO1 zS6vYw&0fEQlCSq2+cg;{J7LZLD=AL0@9kRXX>D!KyS*%=IQBzFOG6Hc+0944!*zEp zI-mn>&O1H8k-LiWlMEWdTmPXWHV<4&-@1dciB&Zry|U<9Y_PCdBlvD`xFQe34#BJ1 zW_im)-OQoKo)4s3i~I_!`4(e2u?+&fBCH;XQ#ISW2@5&wzHjS+%40n@YTi@J_C;FPr|geDS=3( ztJ(0N{T0HvuJ@!3aUpF&n_ka0ebIXe-(I6^Ru6 z;?|imJ4i7o>F5;Md_!O6-gc2W5v5WbeTH+vj9vq?fGG6^0;x8?n^)HK!!id*Q6K)L z_dtvLYZX?XQ<0n6Mz3Bi3GKa6R@N=IzE|Zmc~@~U`Rk$iPx^stIF0bFKNff)z(NDf zO9RGzcw?3l2=jXsw{1F+EB~VzOdk<_M zV7Z?kOTZVs$fHqxcE1e2|KZJ=O~jibiDx~-O~Ec-Whyobeh1>hFX1-!vXmFo^!Lz%(KcFpX@^1^fxxT=H5KLrQT?v^1qC z(L$y;MPs5@OU7?{X*#6VqoK|3>tClPQh(yaBk4LT>MiI1 zr$n-y??zMoFul#pbh`5MtX5m8m=G!jqk2chBqCCQI^PISyc?;3aXh4Y9vPop2Y>B4 ziRf({af3c&tW%UqtFt10kyI1;H*q1M(NV?Sy%c8?k(0_&i7rQ@Q#3$^3#6E-pzes+ zEN$F{BrI;)C>lJH?QJ&upsU@v21s5 k0}|_963_mBqfZ;N<#c}v6l@z_`t>&y5gy5IV8u)S3vIm`hX4Qo diff --git a/t/testgd.png b/t/testgd.png deleted file mode 100644 index 72c6aa50647d8fed2515a7b3c141f4e224a3d30c..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 361 zc-rd>@N?(olHy`uVBq!ia0vp^DImB?%5O4-)~M2^Sg{927noWw2ZjL`>W?pZle!-f{5|*Hele zn^eq?Z-4&ZLtXgy<2ddAThg4e)CA9)-ecWkA9}l^T>3fVIRVx3g0P1*hi7&ahn$R? zbKT&1`; + my $gdlib = `gdlib-config --version 2>&1` || ""; $gdlib =~ s/\n$//; if (!$gdlib) { - print "TEST-WARNING Failed to run gdlib-config, assuming gdlib " . - "version 1.x\n"; - $gdlib = '1.x'; + print "TEST-WARNING Failed to run gdlib-config; can't compare " . + "GD versions.\n"; } - my $gd = $GD::VERSION; - - my $verstring = "GD version $gd, libgd version $gdlib"; - - $gdlib =~ s/^([^\.]+)\..*/$1/; - $gd =~ s/^([^\.]+)\..*/$1/; - - if ($gdlib == $gd) { - print "TEST-OK $verstring; Major versions match.\n"; - } else { - print "TEST-FAIL $verstring; Major versions do not match\n"; + else { + my $gd = $GD::VERSION; + + my $verstring = "GD version $gd, libgd version $gdlib"; + + $gdlib =~ s/^([^\.]+)\..*/$1/; + $gd =~ s/^([^\.]+)\..*/$1/; + + if ($gdlib == $gd) { + print "TEST-OK $verstring; Major versions match.\n"; + } else { + print "TEST-FAILED $verstring; Major versions do not match.\n"; + } } } # Test GD - eval { my $image = new GD::Image(100, 100); my $black = $image->colorAllocate(0, 0, 0); @@ -167,9 +167,9 @@ if ($@ eq '') { if ($image->can('png')) { create_file("$datadir/testgd-local.png", $image->png); - check_image("$datadir/testgd-local.png", 't/testgd.png', 'GD', 'PNG'); + check_image("$datadir/testgd-local.png", 'GD'); } else { - die "GD doesn't support PNG generation\n"; + print "TEST-FAILED GD doesn't support PNG generation.\n"; } }; if ($@ ne '') { @@ -177,10 +177,9 @@ if ($@ eq '') { } # Test Chart - eval 'use Chart::Lines'; if ($@) { - print "TEST-FAILED Chart::Lines is not installed\n"; + print "TEST-FAILED Chart::Lines is not installed.\n"; } else { eval { my $chart = Chart::Lines->new(400, 400); @@ -188,10 +187,8 @@ if ($@ eq '') { $chart->add_pt('foo', 30, 25); $chart->add_pt('bar', 16, 32); - my $type = $chart->can('gif') ? 'gif' : 'png'; - $chart->$type("$datadir/testchart-local.$type"); - check_image("$datadir/testchart-local.$type", "t/testchart.$type", - "Chart", uc($type)); + $chart->png("$datadir/testchart-local.png"); + check_image("$datadir/testchart-local.png", "Chart"); }; if ($@ ne '') { print "TEST-FAILED Chart returned: $@\n"; @@ -227,7 +224,6 @@ sub fetch { select((select(SOCK), $| = 1)[0]); # get content - print SOCK "GET $file HTTP/1.0\015\012host: $host:$port\015\012\015\012"; my $header = ''; while (defined(my $line = )) { @@ -247,14 +243,13 @@ sub fetch { } sub check_image { - my ($local_file, $test_file, $library, $image_type) = @_; - if (read_file($local_file) eq read_file($test_file)) { - print "TEST-OK $library library generated a good $image_type image\n"; + my ($local_file, $library) = @_; + my $filedata = read_file($local_file); + if ($filedata =~ /^\x89\x50\x4E\x47\x0D\x0A\x1A\x0A/) { + print "TEST-OK $library library generated a good PNG image.\n"; unlink $local_file; } else { - print "TEST-WARNING $library library generated a $image_type that " . - "didn't match the expected image.\nIt has been saved as " . - "$local_file and should be compared with $test_file\n"; + print "TEST-WARNING $library library did not generate a good PNG.\n"; } } -- 2.47.2