From 570aafe9c107f35e4250e2830376780d5fe3421c Mon Sep 17 00:00:00 2001 From: "epoger@google.com" Date: Wed, 28 Nov 2012 20:08:32 +0000 Subject: [PATCH] Update gm self-test to pass again after r6585 Now depends on only "dashing2" test, not all tests whose name starts with "dashing", so it should be more resilient in the face of further changes. TBR=borenet,robertphillips Review URL: https://codereview.appspot.com/6844104 git-svn-id: http://skia.googlecode.com/svn/trunk@6588 2bbb7eff-a529-9590-31e7-b0007b416f81 --- gm/tests/inputs/dashing-correct-images/4444/dashing.png | Bin 1875 -> 0 bytes .../inputs/dashing-incorrect-images/4444/dashing.png | Bin 2797 -> 0 bytes gm/tests/inputs/different-pixels/4444/dashing2.png | Bin 0 -> 24979 bytes .../images => inputs/identical-bytes}/4444/dashing2.png | Bin .../4444/dashing2.png | Bin .../output-expected/command_line | 1 + .../output-expected/images/4444/dashing2.png | Bin .../output-expected/return_value | 0 .../output-expected/stdout | 6 ++++++ .../output-expected/command_line | 1 + .../output-expected/images}/4444/dashing2.png | Bin .../output-expected/return_value | 0 .../output-expected/stdout | 4 ++++ .../output-expected/command_line | 1 + .../output-expected/images/4444/dashing2.png | Bin 0 -> 23808 bytes .../output-expected/return_value | 1 + .../output-expected/stdout | 4 ++++ .../output-expected/command_line | 1 - .../output-expected/images/4444/dashing.png | Bin 1875 -> 0 bytes .../output-expected/stdout | 5 ----- .../output-expected/command_line | 1 - .../output-expected/images/4444/dashing.png | Bin 1875 -> 0 bytes .../output-expected/stdout | 7 ------- gm/tests/run.sh | 10 +++++++--- 24 files changed, 25 insertions(+), 17 deletions(-) delete mode 100644 gm/tests/inputs/dashing-correct-images/4444/dashing.png delete mode 100644 gm/tests/inputs/dashing-incorrect-images/4444/dashing.png create mode 100644 gm/tests/inputs/different-pixels/4444/dashing2.png rename gm/tests/{outputs/dashing-compared-against-incorrect/output-expected/images => inputs/identical-bytes}/4444/dashing2.png (100%) rename gm/tests/inputs/{dashing-incorrect-images => identical-pixels}/4444/dashing2.png (100%) create mode 100644 gm/tests/outputs/compared-against-different-pixels/output-expected/command_line rename gm/tests/outputs/{dashing-compared-against-correct => compared-against-different-pixels}/output-expected/images/4444/dashing2.png (100%) rename gm/tests/outputs/{dashing-compared-against-incorrect => compared-against-different-pixels}/output-expected/return_value (100%) create mode 100644 gm/tests/outputs/compared-against-different-pixels/output-expected/stdout create mode 100644 gm/tests/outputs/compared-against-identical-bytes/output-expected/command_line rename gm/tests/{inputs/dashing-correct-images => outputs/compared-against-identical-bytes/output-expected/images}/4444/dashing2.png (100%) rename gm/tests/outputs/{dashing-compared-against-correct => compared-against-identical-bytes}/output-expected/return_value (100%) create mode 100644 gm/tests/outputs/compared-against-identical-bytes/output-expected/stdout create mode 100644 gm/tests/outputs/compared-against-identical-pixels/output-expected/command_line create mode 100644 gm/tests/outputs/compared-against-identical-pixels/output-expected/images/4444/dashing2.png create mode 100644 gm/tests/outputs/compared-against-identical-pixels/output-expected/return_value create mode 100644 gm/tests/outputs/compared-against-identical-pixels/output-expected/stdout delete mode 100644 gm/tests/outputs/dashing-compared-against-correct/output-expected/command_line delete mode 100644 gm/tests/outputs/dashing-compared-against-correct/output-expected/images/4444/dashing.png delete mode 100644 gm/tests/outputs/dashing-compared-against-correct/output-expected/stdout delete mode 100644 gm/tests/outputs/dashing-compared-against-incorrect/output-expected/command_line delete mode 100644 gm/tests/outputs/dashing-compared-against-incorrect/output-expected/images/4444/dashing.png delete mode 100644 gm/tests/outputs/dashing-compared-against-incorrect/output-expected/stdout diff --git a/gm/tests/inputs/dashing-correct-images/4444/dashing.png b/gm/tests/inputs/dashing-correct-images/4444/dashing.png deleted file mode 100644 index e201a72d6866b28bc7d73966de526ae2bcfe7180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1875 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sVASDY1BwLyX3_>yEX7WqAsj$Z!;#X#z`)Ms z>EaktG3V`F$2=)V0f&nrN9OKinzL*3H@22tg>Jvz=X&W~nSAcuY2}BJ*=y|?7*hWH zy)Vwd@SvR2fuTWyk%K`%nSqfZiA90Ip@)Hmp+gX8qal+3gMu3a6T=Y>k`xu&Fr*(d z@x2U0HWvP~w_f{oYBD3k4wdx{)UpBY)-xX&=177pGV%TVz$W)v)N5^jHiie2_As$g z<_EY9h|t)6nSahqdHeNS-@t%b+48f$js*k#rb7$Az5T+R{_ObqY+Y+8*xh?KbMwBB zAq)(9r?nGC5v%`uzPr%ja{;?^Qwwd+Yz2__Bn| zf4Kw4A3sDgN`Kz}D<9u8vM@ZjMMmZY2T1X+iSm`-m-pU%Z~FcA20nWmA#^d|UKPqhe>_2IsdF}Y$bx(hM2RgVQ zH;$2+)S?=-n6s2?FixJeEE9<0D%WkjCeOfNL`GzgQDvaIgObYUGrz?p)&0w7bfg1o ONd`|>KbLh*2~7aF$_3^C diff --git a/gm/tests/inputs/dashing-incorrect-images/4444/dashing.png b/gm/tests/inputs/dashing-incorrect-images/4444/dashing.png deleted file mode 100644 index c319eabb2e7a3267fee5789a24771a3f99e9db83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2797 zcmb_edsxz08vdbfp=R1;gUm3W%*tW3HBwVXMrv#@#WF|p5^Bz9nisqT3gnMxvfMJY zG_%pv+SXVzWz==e6fb4#G%h*Cn2I0>X=}zXN{Xh!9)@aark>qD_B1XOYv4IVB{Bl&)|RAg$rYMm9t`MMB-OkmP(&wzBHLM%RD8D!Wo(!e@%MTQb~ zMV7p%ZCaG44D~#*e(o#8MIHSy05N9~)_L5K9Db_KS3>uWx;TYL#SDyoR~P*(|Iiwr zdaNnbA+Voa0kI)N5Rkz#T_CsVVnc^6^uPzP4(}zdq?Okm9>H1m)530C4ZfIRX#iEH z8NHk3O``w0g4HI{VVq^Imt2^)cL%P=$!`}FQIy9cQ8Gm z$D|V5&^y<<>tY4heM_DD<5Jh&zm{zXm9r20@J@N}+12}Z{BujZaXzM7mn}gUR?Yv) zHXpMbN;e>T>gf9*OCQ8K2o_RX(pfJ+VAxP{)v4&@VC5UK95=IqxS<&!`?_!-fCna+UR)@C+**d4G>ht#K|sk7u|- zQe)RYn7v1WcUXJdmfxm$_pp)+Y~kD518~#;OT~AQuvGn#Z5tz?@3!iV^2RHmL&`_?r_*G!%ID7nA*}I%w0I7oViIHW@=y&~k5T`c3=lfQ*2U zu^dTjhAOzdIfzRM?$@U-9XeKA_hXFbX3|u!_5@*?_Xfy5Ry?vA2eA;~$NJEp3*Tl{ z4liAJIX&SxDbwMwS zZV0YBC=v?eoJ%vu;i}CJJc{FRTT6>Ofl%RN*UUHrPC4zRd}~6U*R^z}TN$lIjPuRU z%Uk%e{9wC8InB6tcyhF-IM*x6)vArDt{qa$%r7bw2?Xm;+1f7>lalsa+kbVRtDBo} zVBnIEU2$w$|rNSqnF9b!QPi=-}SCcNl9_i-Ux>mclZjxSrXSMOIA%!PlLS{*iJK!!?5 zk4vQ+vbL4-Jy^5b%E)rAa5iL0wosQ^fa<=v^7MI)Mx)kdcvo`UH7^xIP1YW) z0kJqYDE_1cr8Rv&c8$EDGP6A#yT*@9F5ySl9c%?$-MaPX@bX?J0zo-Yw`(*dqiyqW zxw>lK7Ap*f5*C)$B1TISo7NGJG=`ic+GJ5vQ@59qdqz{L`)&l-$Cgki6bFa8m8+(t zBO^ANj;BnS;ub*&1j6Iba#D983-3Rfopsf;WNFL05}SsYOlGnlkD>)#JjHVS`O8*w z*ZlSuC~ihx6AB(rN=yVMkVquv*>^i5s4y&vcXn}hmhmQy#ydMb8$)~x{u)yA&yDit zqD$v;v@V)+Lj=2>S=5vi|C+$wUxtf|OT{P5nSZmq8U`0~8rEmD=)_)BZ&?k5f;T!1 zXTI1A!*F|;1JH=V4XO%|nV#E^=ejGCks}ZLLUn}N7k!Tp${7#A6IS?Jj88gMq%S6{PI9D}tR~*NeVdV<4irmpE^QdZ zw%tGh>sSz3OcD;0k7}oFvU}pmI{iW>`-?;w6Z}}ImKS;FpyKInWuTDiz8SSzJ~1dx zbZN6Ez*z!;U}9n-{Q}-HH}mB<2QM+juSG?U?p^4}2D57d<@0R$`R^BQms{MSx?1IW z6?uPk^yo*YB3-Q>PfRm-7~v3juwX#k-ZfJbDPyBC!h9KXctty91bTmG_=ycsxM9~5-nSDLamf&Cnr@IK=v~d zSj(#*W?twS#reux&N6tzRM&si-=uJR!$-^b(V+8#FRsU6F7}MtlFr2?_^&O6c8!`R34}L%H4ZxtOr7sIs|iG`Gu0cll@{9qt%>@D_Rn iynTo2kL(S_8pE|%Q!}Fs8VvrOLZr{gyK9LNU;hVRqGm_{ diff --git a/gm/tests/inputs/different-pixels/4444/dashing2.png b/gm/tests/inputs/different-pixels/4444/dashing2.png new file mode 100644 index 0000000000000000000000000000000000000000..bb942769368e2bddfb39e51494b2a1a46154ac16 GIT binary patch literal 24979 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/images/4444/dashing2.png b/gm/tests/inputs/identical-bytes/4444/dashing2.png similarity index 100% rename from gm/tests/outputs/dashing-compared-against-incorrect/output-expected/images/4444/dashing2.png rename to gm/tests/inputs/identical-bytes/4444/dashing2.png diff --git a/gm/tests/inputs/dashing-incorrect-images/4444/dashing2.png b/gm/tests/inputs/identical-pixels/4444/dashing2.png similarity index 100% rename from gm/tests/inputs/dashing-incorrect-images/4444/dashing2.png rename to gm/tests/inputs/identical-pixels/4444/dashing2.png diff --git a/gm/tests/outputs/compared-against-different-pixels/output-expected/command_line b/gm/tests/outputs/compared-against-different-pixels/output-expected/command_line new file mode 100644 index 0000000..1bcbead --- /dev/null +++ b/gm/tests/outputs/compared-against-different-pixels/output-expected/command_line @@ -0,0 +1 @@ +out/Debug/gm --hierarchy --match dashing2 --config 4444 -r gm/tests/inputs/different-pixels -w gm/tests/outputs/compared-against-different-pixels/output-actual/images diff --git a/gm/tests/outputs/dashing-compared-against-correct/output-expected/images/4444/dashing2.png b/gm/tests/outputs/compared-against-different-pixels/output-expected/images/4444/dashing2.png similarity index 100% rename from gm/tests/outputs/dashing-compared-against-correct/output-expected/images/4444/dashing2.png rename to gm/tests/outputs/compared-against-different-pixels/output-expected/images/4444/dashing2.png diff --git a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/return_value b/gm/tests/outputs/compared-against-different-pixels/output-expected/return_value similarity index 100% rename from gm/tests/outputs/dashing-compared-against-incorrect/output-expected/return_value rename to gm/tests/outputs/compared-against-different-pixels/output-expected/return_value diff --git a/gm/tests/outputs/compared-against-different-pixels/output-expected/stdout b/gm/tests/outputs/compared-against-different-pixels/output-expected/stdout new file mode 100644 index 0000000..1eda31c --- /dev/null +++ b/gm/tests/outputs/compared-against-different-pixels/output-expected/stdout @@ -0,0 +1,6 @@ +reading from gm/tests/inputs/different-pixels +writing to gm/tests/outputs/compared-against-different-pixels/output-actual/images +drawing... dashing2 [640 480] +----- max pixel mismatch for 4444/dashing2 is 51 +Ran 1 tests: 0 passed, 1 failed, 0 missing reference images + 4444/dashing2 pixel_error 51 diff --git a/gm/tests/outputs/compared-against-identical-bytes/output-expected/command_line b/gm/tests/outputs/compared-against-identical-bytes/output-expected/command_line new file mode 100644 index 0000000..c70d01d --- /dev/null +++ b/gm/tests/outputs/compared-against-identical-bytes/output-expected/command_line @@ -0,0 +1 @@ +out/Debug/gm --hierarchy --match dashing2 --config 4444 -r gm/tests/inputs/identical-bytes -w gm/tests/outputs/compared-against-identical-bytes/output-actual/images diff --git a/gm/tests/inputs/dashing-correct-images/4444/dashing2.png b/gm/tests/outputs/compared-against-identical-bytes/output-expected/images/4444/dashing2.png similarity index 100% rename from gm/tests/inputs/dashing-correct-images/4444/dashing2.png rename to gm/tests/outputs/compared-against-identical-bytes/output-expected/images/4444/dashing2.png diff --git a/gm/tests/outputs/dashing-compared-against-correct/output-expected/return_value b/gm/tests/outputs/compared-against-identical-bytes/output-expected/return_value similarity index 100% rename from gm/tests/outputs/dashing-compared-against-correct/output-expected/return_value rename to gm/tests/outputs/compared-against-identical-bytes/output-expected/return_value diff --git a/gm/tests/outputs/compared-against-identical-bytes/output-expected/stdout b/gm/tests/outputs/compared-against-identical-bytes/output-expected/stdout new file mode 100644 index 0000000..301f17f --- /dev/null +++ b/gm/tests/outputs/compared-against-identical-bytes/output-expected/stdout @@ -0,0 +1,4 @@ +reading from gm/tests/inputs/identical-bytes +writing to gm/tests/outputs/compared-against-identical-bytes/output-actual/images +drawing... dashing2 [640 480] +Ran 1 tests: 1 passed, 0 failed, 0 missing reference images diff --git a/gm/tests/outputs/compared-against-identical-pixels/output-expected/command_line b/gm/tests/outputs/compared-against-identical-pixels/output-expected/command_line new file mode 100644 index 0000000..d6b5850 --- /dev/null +++ b/gm/tests/outputs/compared-against-identical-pixels/output-expected/command_line @@ -0,0 +1 @@ +out/Debug/gm --hierarchy --match dashing2 --config 4444 -r gm/tests/inputs/identical-pixels -w gm/tests/outputs/compared-against-identical-pixels/output-actual/images diff --git a/gm/tests/outputs/compared-against-identical-pixels/output-expected/images/4444/dashing2.png b/gm/tests/outputs/compared-against-identical-pixels/output-expected/images/4444/dashing2.png new file mode 100644 index 0000000000000000000000000000000000000000..91d37eb90149a02baba96cf1ee49efb4b3c8a2e8 GIT binary patch literal 23808 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

fQXCbhqn}DNe_SpzcOvy z?)_*4FXWbgtlxrhwJwK)NQ=^^O3enN|B7F;jXWq#|Ak#G_$x0-<=DgN=r-Asig=@{!TZ<@;ff>L~NbXv|Y#GaM`2TMX%ed_(dA}a)&t}ousJ?^}9 z1;iE5!!&2#ocVfuoV1(R(USJtU0rxD-jKj}Lz+D(t|+{itQW&T8C}T!T4!dEaN6?cD}Pw;ppsCiizcG>_&6D!BXh@LX!As`ybxLINA^dY&Gf!z?7-&p(Byjsdm(iU*Z zmZ>_PHSOH1&;$<}%zy^SZwR&zj*vnOzeH>lvaOz6F$4I9d zf88@9f!AD3N`;pHD5-qrIM#Wx^W^E1(0@8q3_*nQGd@CJZxL%~c>ni!WU;53KE@w< z<@^DKELGk2F%*N*6R_-hrR(x0nNZ1=(ta+85s~G~*3b0|YBDDXP95qc;=Xz*S1;SOt4+MO=}bBsEc6{Q-kHn35Sz`VY}CG(9kz-R3Gl*GG(V&pDsn# z`eUxY39J2xyWj?)NWj0X#s(bVj)e?=sDh6t)NLnQT=coeIr{^nXojjqWC(|)m4~{G zH4UKUrb%ft@9f>DV;8?B01Y`g#EJog>Pk##(|AZG`M(Im>KL{vls0wSMOY*EjB@&Hw7Uf+Sw9{SXT`Z})nCs*GFVK@b8jCXH!}g&H{JIj zf-Gu(3V}cXZhci2IRV(0^-F=xTE?bzEL|@Zn9)9On$1#q(uG~yl8Z$wLDE@|76%C9 zejvr61k@ORUho-6j`D6U_>s)r7>NJ>8#|n3zdp~jJ&3CVLqcq=?X7Ch_@@02RVldf literal 0 HcmV?d00001 diff --git a/gm/tests/outputs/compared-against-identical-pixels/output-expected/return_value b/gm/tests/outputs/compared-against-identical-pixels/output-expected/return_value new file mode 100644 index 0000000..573541a --- /dev/null +++ b/gm/tests/outputs/compared-against-identical-pixels/output-expected/return_value @@ -0,0 +1 @@ +0 diff --git a/gm/tests/outputs/compared-against-identical-pixels/output-expected/stdout b/gm/tests/outputs/compared-against-identical-pixels/output-expected/stdout new file mode 100644 index 0000000..00868ac --- /dev/null +++ b/gm/tests/outputs/compared-against-identical-pixels/output-expected/stdout @@ -0,0 +1,4 @@ +reading from gm/tests/inputs/identical-pixels +writing to gm/tests/outputs/compared-against-identical-pixels/output-actual/images +drawing... dashing2 [640 480] +Ran 1 tests: 1 passed, 0 failed, 0 missing reference images diff --git a/gm/tests/outputs/dashing-compared-against-correct/output-expected/command_line b/gm/tests/outputs/dashing-compared-against-correct/output-expected/command_line deleted file mode 100644 index 8a95ecd..0000000 --- a/gm/tests/outputs/dashing-compared-against-correct/output-expected/command_line +++ /dev/null @@ -1 +0,0 @@ -out/Debug/gm --hierarchy --match dashing --config 4444 -r gm/tests/inputs/dashing-correct-images -w gm/tests/outputs/dashing-compared-against-correct/output-actual/images diff --git a/gm/tests/outputs/dashing-compared-against-correct/output-expected/images/4444/dashing.png b/gm/tests/outputs/dashing-compared-against-correct/output-expected/images/4444/dashing.png deleted file mode 100644 index e201a72d6866b28bc7d73966de526ae2bcfe7180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1875 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sVASDY1BwLyX3_>yEX7WqAsj$Z!;#X#z`)Ms z>EaktG3V`F$2=)V0f&nrN9OKinzL*3H@22tg>Jvz=X&W~nSAcuY2}BJ*=y|?7*hWH zy)Vwd@SvR2fuTWyk%K`%nSqfZiA90Ip@)Hmp+gX8qal+3gMu3a6T=Y>k`xu&Fr*(d z@x2U0HWvP~w_f{oYBD3k4wdx{)UpBY)-xX&=177pGV%TVz$W)v)N5^jHiie2_As$g z<_EY9h|t)6nSahqdHeNS-@t%b+48f$js*k#rb7$Az5T+R{_ObqY+Y+8*xh?KbMwBB zAq)(9r?nGC5v%`uzPr%ja{;?^Qwwd+Yz2__Bn| zf4Kw4A3sDgN`Kz}D<9u8vM@ZjMMmZY2T1X+iSm`-m-pU%Z~FcA20nWmA#^d|UKPqhe>_2IsdF}Y$bx(hM2RgVQ zH;$2+)S?=-n6s2?FixJeEE9<0D%WkjCeOfNL`GzgQDvaIgObYUGrz?p)&0w7bfg1o ONd`|>KbLh*2~7aF$_3^C diff --git a/gm/tests/outputs/dashing-compared-against-correct/output-expected/stdout b/gm/tests/outputs/dashing-compared-against-correct/output-expected/stdout deleted file mode 100644 index d7f2c6b..0000000 --- a/gm/tests/outputs/dashing-compared-against-correct/output-expected/stdout +++ /dev/null @@ -1,5 +0,0 @@ -reading from gm/tests/inputs/dashing-correct-images -writing to gm/tests/outputs/dashing-compared-against-correct/output-actual/images -drawing... dashing2 [640 480] -drawing... dashing [640 300] -Ran 2 tests: 2 passed, 0 failed, 0 missing reference images diff --git a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/command_line b/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/command_line deleted file mode 100644 index 423a7f1..0000000 --- a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/command_line +++ /dev/null @@ -1 +0,0 @@ -out/Debug/gm --hierarchy --match dashing --config 4444 -r gm/tests/inputs/dashing-incorrect-images -w gm/tests/outputs/dashing-compared-against-incorrect/output-actual/images diff --git a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/images/4444/dashing.png b/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/images/4444/dashing.png deleted file mode 100644 index e201a72d6866b28bc7d73966de526ae2bcfe7180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1875 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sVASDY1BwLyX3_>yEX7WqAsj$Z!;#X#z`)Ms z>EaktG3V`F$2=)V0f&nrN9OKinzL*3H@22tg>Jvz=X&W~nSAcuY2}BJ*=y|?7*hWH zy)Vwd@SvR2fuTWyk%K`%nSqfZiA90Ip@)Hmp+gX8qal+3gMu3a6T=Y>k`xu&Fr*(d z@x2U0HWvP~w_f{oYBD3k4wdx{)UpBY)-xX&=177pGV%TVz$W)v)N5^jHiie2_As$g z<_EY9h|t)6nSahqdHeNS-@t%b+48f$js*k#rb7$Az5T+R{_ObqY+Y+8*xh?KbMwBB zAq)(9r?nGC5v%`uzPr%ja{;?^Qwwd+Yz2__Bn| zf4Kw4A3sDgN`Kz}D<9u8vM@ZjMMmZY2T1X+iSm`-m-pU%Z~FcA20nWmA#^d|UKPqhe>_2IsdF}Y$bx(hM2RgVQ zH;$2+)S?=-n6s2?FixJeEE9<0D%WkjCeOfNL`GzgQDvaIgObYUGrz?p)&0w7bfg1o ONd`|>KbLh*2~7aF$_3^C diff --git a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/stdout b/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/stdout deleted file mode 100644 index 10956be..0000000 --- a/gm/tests/outputs/dashing-compared-against-incorrect/output-expected/stdout +++ /dev/null @@ -1,7 +0,0 @@ -reading from gm/tests/inputs/dashing-incorrect-images -writing to gm/tests/outputs/dashing-compared-against-incorrect/output-actual/images -drawing... dashing2 [640 480] -drawing... dashing [640 300] ------ max pixel mismatch for 4444/dashing is 51 -Ran 2 tests: 1 passed, 1 failed, 0 missing reference images - 4444/dashing pixel_error 51 diff --git a/gm/tests/run.sh b/gm/tests/run.sh index 103a71f..acf4b5f 100755 --- a/gm/tests/run.sh +++ b/gm/tests/run.sh @@ -63,9 +63,13 @@ GM_TESTDIR=gm/tests GM_INPUTS=$GM_TESTDIR/inputs GM_OUTPUTS=$GM_TESTDIR/outputs -gm_test "--hierarchy --match dashing --config 4444 -r $GM_INPUTS/dashing-correct-images" "$GM_OUTPUTS/dashing-compared-against-correct" +# Compare generated image against an input image file with identical bytes. +gm_test "--hierarchy --match dashing2 --config 4444 -r $GM_INPUTS/identical-bytes" "$GM_OUTPUTS/compared-against-identical-bytes" -# In this case, dashing.png has different pixels, but dashing2.png differs only in PNG encoding (identical pixels) -gm_test "--hierarchy --match dashing --config 4444 -r $GM_INPUTS/dashing-incorrect-images" "$GM_OUTPUTS/dashing-compared-against-incorrect" +# Compare generated image against an input image file with identical pixels but different PNG encoding. +gm_test "--hierarchy --match dashing2 --config 4444 -r $GM_INPUTS/identical-pixels" "$GM_OUTPUTS/compared-against-identical-pixels" + +# Compare generated image against an input image file with different pixels. +gm_test "--hierarchy --match dashing2 --config 4444 -r $GM_INPUTS/different-pixels" "$GM_OUTPUTS/compared-against-different-pixels" echo "All tests passed." -- 2.7.4