From 430759950ba72cab66cd292656b244c960e2c874 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Tue, 25 Aug 2026 21:00:53 +0200 Subject: [PATCH] fix: give three tests distinct screenshot names, so a failure keeps its evidence `index-without-img-cropped` was asserted by THREE tests, not the two #284 reported: the `color_distance_limit` case (:117), `crop accepts css selector` (:129), and the `skip_area: "input"` case (:200). A differing screenshot is written to its baseline path by design, so when one of them fails the next re-captures the same name, matches, and leaves the file clean. The failure's own evidence is gone before artifacts upload. Measured on the real failing run 32740082766, artifact `screenshots-selenium_headless-chunky_png-diffs`: the job reported a **26.06% difference** and its uploaded `.base.png`, `.png` and the committed baseline were all `5fccb56f4a47d41b3a8c8cdf38531da6`. Anyone opening that artifact to debug the flake finds two identical PNGs and concludes it was spurious. That is why #285 has never been diagnosed. All three visit `/index-without-img.html` and crop `"form"`, so they share one rendering -- which is exactly why the collision went unnoticed for so long. Each renamed test therefore gets a copy of that same baseline in all six os/driver directories; nothing is re-recorded and no comparison changes. The `color_distance_limit` test keeps the original name so its baseline history stays continuous. NOT verified locally, and deliberately not claimed to be: this file reports `0 verified -- NOTHING WAS VERIFIED` on this machine, and does so on unmodified master too, so a local green here is not evidence. `Test Drivers` is where these baselines actually compare; this PR carries `full-ci` for that reason. --- .../index-without-img-crop-by-selector.png | Bin 0 -> 928 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 928 bytes .../index-without-img-crop-by-selector.png | Bin 0 -> 1768 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 1768 bytes .../index-without-img-crop-by-selector.png | Bin 0 -> 1926 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 1926 bytes .../index-without-img-crop-by-selector.png | Bin 0 -> 3686 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 3686 bytes .../index-without-img-crop-by-selector.png | Bin 0 -> 3234 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 3234 bytes .../index-without-img-crop-by-selector.png | Bin 0 -> 4006 bytes .../index-without-img-crop-with-skip-area.png | Bin 0 -> 4006 bytes test/integration/browser_screenshot_test.rb | 4 ++-- 13 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-crop-with-skip-area.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_chrome_headless/index-without-img-crop-with-skip-area.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-crop-with-skip-area.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-crop-with-skip-area.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-crop-with-skip-area.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-without-img-crop-by-selector.png create mode 100644 test/fixtures/app/doc/screenshots/macos/selenium_headless/index-without-img-crop-with-skip-area.png diff --git a/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-crop-by-selector.png b/test/fixtures/app/doc/screenshots/linux/cuprite/index-without-img-crop-by-selector.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9296b3fec46b8e7f4a47b56b44790330aeed86 GIT binary patch literal 928 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGBgAGW=z{sUL}3K zyzclM{ZExw;_dTy+uv@R^-3&v|8D)_WfPa5b6fiQ-u3AV4o}l|__ihQ(ybdoy=KQM zepaOIe|KkF5#zI1{<`b+4H52j?~C4+r=J&^_jRe%M$rkkKK;EZn7rD~V}0$Gw+~O; zb(XzwY@yz?G}~X-q>`sRI?;b?6j{U-1 zfhM2#->usOqOP;PIJZfsWFrGNBa;M&z=01p7#`-Cznd^8Yf|-W4g;=IJ+VfHIWLl) zrtMwF@Avj}Zv34ITJJSiUp*eor%_m8_WoaG{@dbr&);&(2Blul&D{Svhu^}BSK$0< zp>4s3zX#vaHHou1nwmUe_in3_wFRxO&M)a+vfC#7@tPLxIlK5b)ho^kdzLrHH^BR% zgo}&3K|cH2l^ajaY%G3vRwLZ*SocO%<|CI66y*n8S?7{@dhcu9pK=A)l9$h7C|7V` zaK6syw4HNpsjPxSc5sj3Cm*X1x-AE~A2V>r>VW**)-T<y_0!(YWJp zAoFy-#UZ;#Ga`@Fd1RLSkv&#s!TZH4+hN|jsC7PC>c4O1PE!*9eWQ!{$mfdH>5(VD zyF9s4o(&X=h*O$>Gjpw5>Qklr(>y<#X!*Bk<<3t3v^oF#-Cxob-|WNpEs4u`ukBye zYjV#2^yGWa&2Ja-{rGnE=&9I~Qhzh|Ui@Bf@=RihiRLp7xBLGu?s0h~FKT(}QTQK! z(~mKcAD@VQk7?R^t+?b&v3p%{(Z>FCv7dXowm#i^>B-Jb#Y=oRb8E|4Iz!*@e$|?7 za97sAV79n{fI>qfF!4U|WETNq5N!mELy*spvvHI!DrEn(gqe*9+;-g0l<^%%-#X@& pJmILz{sUL}3K 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 M07*qoM6N<$f?6Z6o&W#< literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-crop-with-skip-area.png b/test/fixtures/app/doc/screenshots/linux/selenium_headless/index-without-img-crop-with-skip-area.png new file mode 100644 index 0000000000000000000000000000000000000000..bda68f47fdeaaf589ffc6b91d6e75c37007cec67 GIT binary patch literal 1926 zcmV;12YL93P)<6-UZ@u_lT<^NZ?U#Y;fV7UV zWW!9Um0`2Eo~ak#i_`kH?~j450a^0cQ<`rIwr7vM^?GqVYZ|j}2D%1>8wPqvyi5Un zED>iPbi_(BFs-K)N8MUX>oFcVkczc^JO*YBNUec-{54F8`V6b_TkY6G)X3_T_G;gK zGH@LbGzLo?nHz?6#35U;DHz7`exP%_q{A1I_f*pvuQ?@K@wV@mf$M;@jyR>U7+b2D z#W^R#a-8*A4aTs}_|RK1#oE4a1{NKVpemY+U!`wK^JQ3$^O~w-4~mChCF3+^`&bMt zJ|IdTnic*j&6i<0&N|jo$r#pKIE~pp76bo$K!Q$gM%FW`Gc3nhuhnG?>xys16l?pw z8CY~cYK_Hy)-!4|tj5)j`s`y}W7tbzdT_v7-Zuk_4oFai24krdwqlIcM&(%Or8w8t zxZ0?}Iq-$VQ_4fk^1d0k49I;S(Wf&5^BM4f%;(OT2VlSha)3+r5$7}D0h!O8GY`PP z@cw=tPp7Bx+qdt2&4GL1{~maFcpA^=^Eia^_V()lKMQ+8?|esTO5hxpCm z#|)T(&kV$DctAe$VviZPFyH}kBbb2(19vkZ{-5r~Eju)u0T0M*>YR842C4(Xf1AYm zR!Q-1kgeX#zW3D}kUbsE1G1;v+Rt8R4M?pS*&jN;ObKwMc*z&J?1x^e2_GpYDV}Y#xLrXax&kPIIqb%*0(eRy$swmAZS`hEUI?+*~j`) zIb4%<)VDMPa~POCAlig%vmToYn|-Wf)0wYSgL7188+*W7mS&)rf#!gqDOpBgZ9Xi< z{#Fj-O1UK;*MkmRNUaGBBx9|cfnElx1JYaIt8h91U$w5+IW_|xkYnG!PoFU00Z9mQ z_}C2WW^&A?v+fYwBz+0}vz;!^@ zS^nRznl)k;pSr`|dcC-*>l?o;1G5GsE*EcYJBUM;aEL)FCj9Xr4yicUh(jV5@sbQ| z>nX)izZTPaj7JWnVr_4Wfyo1+7prz0ugBMm>A|(uEameROpPmks*Sy7dAvvK>oIWs z@fjC}x3(R=>ts?m$n8evCn=>?W+vyM1wz-A2Vh(l^jZQv}|W#Bp> z*hX9wzwn2wT_XEg=UmoX7>=>d`Jr=+^%hQJS|^Lw)?t55*V>HJnC}1taatqnR<6baTYFKP>#>eFWGe=Y<@yXX2PC$~7s+~U>$hS! zpLJc2W30Du8VkFXtMLpw1>aLE>iJohfy;ojE{kKV*S38thVxn1^*F|Q3#YNLTe%v~ zuv73owW6M%bs4x0Na@1Dr+&3#`|4ABNet-HHPptMB|mBa!?x<0ueR3ExZ1$0Uv1ro z?R6Nq{u3)MNZ;C)dT>i%qDJj0#Y$_Ia9ndvytEE#mg<%8ic=f)EZ1eA-hu1x%d4A# zO)%gA*~B$?6I*4#1G3ed@xC^}fCpp~*WgWTm4V^?JwB8EVb!cr$3)b z59RIc*H#DE`!WNoFc9DL6JKUB#J5=ZF#~4cGXpUj9+1zx*kcAR40u4?2xg$cz}*ap z{};M(%MQ(EzymUyIwu~1f$D(h-wwgvDk=UAvelc}_r96~vZteYK=yQ7``PQP0jV`3 z`$OlKDFLn&FZm*u{m@G_;R6N|eoHejg@IWE5(`A*@xwOjz_2fLwgXf1aX#lLK8tZ2 zH7(6R#z1pG(1a|xAes)6W2!TTb>K4Jlz4{4nwDlDW1u-8S#rcn%?N+Q_(i=^PUf2u z=QUZ!`j%#(mw}rG1WgNxMb!>J`&eHphikHq`j%#34g<3XM4OOp)?-s)vyXLbI`frk zaE|J1V-Hx%(hT%6&>RpnCCezR&4tJd{8$7a9-a_sx}=@SM#APGSZADe;Q49Kys$){h70T0Mp%zNEkFmM@=)9HDP z&)@nn17_fZftQ!p@$vC_9M0$XR+At8Mhp5zi}=am_t+f7aKvo<2K?TvX{nU*`~Uy| M07*qoM6N<$f?6Z6o&W#< literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-crop-by-selector.png b/test/fixtures/app/doc/screenshots/macos/cuprite/index-without-img-crop-by-selector.png new file mode 100644 index 0000000000000000000000000000000000000000..615653f640c523fb631cf23bcdcc1d5c4f06596d GIT binary patch literal 3686 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 bpZ=`bZ)BM6_qfaR@IPH&#|Tfo;1u;Aa;mg% literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-crop-with-skip-area.png b/test/fixtures/app/doc/screenshots/macos/selenium_chrome_headless/index-without-img-crop-with-skip-area.png new file mode 100644 index 0000000000000000000000000000000000000000..d1fa4f384184c32fc920fb7f2e8c29a0c9cc30b4 GIT binary patch literal 3234 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 bpZ=`bZ)BM6_qfaR@IPH&#|Tfo;1u;Aa;mg% literal 0 HcmV?d00001 diff --git a/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-without-img-crop-by-selector.png b/test/fixtures/app/doc/screenshots/macos/selenium_headless/index-without-img-crop-by-selector.png new file mode 100644 index 0000000000000000000000000000000000000000..556025a7f3aee27a0022fe88128994f1e513cadf GIT binary patch literal 4006 zcmYjU2UJtb)($b$P$Gx~X;Bck1cU%87ZgI3NbjA5fJhTTKtO4MfDj{9={1U!P(*rB zkP=X&h$Z-FQWOvgRUp(C?)6{qpSAYc-`Q*LZ=E@7W`8pYrpDK}IL>eY001tOzK%J= z_c6?pjfL^--4A)raO{5ib^!nYnD5w_0NJ@vMzHRNEy^8*k^!(WURVIUOeX+L40LQ~ zn3(_Z)(kB42Rk#c^q(9c1M>m@m+$!i^iRG!BYr&e8FtL`f1dFv$*cenBch;)P+&^= z7c(&!0EK_z2n7YE!hac$jsO5);lGT>Q#tVmTQczRz`T=d006i%Q97EIA-T(WW8Rij zf!=ws)z4A|VXJQ*sIx_zf=+6sm=fZ3yGatZwiqina&7x;@abd3rS_G@{Mq+!-Q3r6P>y1wZiBf>Hw&^VR=#G`e)&&A zhXS!qf+L(M&g^|Al2e>TD*3E-94JBO+%5WVDmo^Hm8XSjWMuTWRmhL`S%t4(t1m}< zPOCD^R5&|)k>`xE^z6N0+W4Y++0*7Zw}=Lv4rmLtX078AMQ7kOJ2TITt={R3;XpxPEUW{mVRrjp?MZ^Jv20w5@Y~- zz%6q9zM+-X6SW`J?T7F74Fs=do5Eh*-=?jz8yYTKi=(sri19<&ba0jHH5H>#Xk zvDG~b&2F*~!75@bEuF%=(zao&5cKmCrZ-W)G9Vh{*5}b|AkVnVO2wn2AeG#&Tl{(chRG_hvn81Pehm2`I;0~gyVmhK$_w->x zmwf}rf`Wpw4)gVR#63Av%YThE4vAzM!%B?v?u=EV+qvBba~CJQJw4f{p2lV=-XM(8 z3Taxqk=vaAGA=ECdW#WSn2!;}1Ke&!d9FTU1-T z=L3>y;JJhCsieF!?qM_FxxN%}+VAH^IjMsQ9fq(t6Jy}?g#wNiI8?%-MscLXq~LBA zlJZDMAo23y&TP_U4yUVV7`4hNpxUO&F)MKJMt^!1k|?n*lkEBNIrG8Zc5tnA^c%H; zJ^Fk>jDWl|K4vTN=OPiga8H*@6mf^M(!dht^YJ$pxw0{Nf92m&$d*56@FrtrvE*F7 zefI=<&}h5gYG)-vr_Ogm^=9efaec`8qc;}NQl-P4g{Mj5p-n9D+#`bGs0u?TB@vOl zo*AXEA;(v&M4G{Z*GLMIR3!;DF25-VJu|;v5+(1{a*Eaqt6yoHiZF2C0TN=ow|bHD zgLwwo)STd7Ne{^u7J*>o?{}sT|LZ z|8imqno&#t%W!(K$zR-OnzO67EtE@~g)iQv8v{fTp^SfcQk(SZz-oB-1>E*^SS3H) z`q1W#P;hHPj*fO0t*~<0tSHtCs;le06cZ_w_#B3_=j;mMt8-ygEC162j=7SpVHYo6 zyl~}`y{JZnV^qK4K)Drpgi+l&MCbZ}x%?}Ye%M;B3QeiwRb|S$`U*zVoRZS-wl0?+f=f?F7LjwY810=76 z@74uGY@*I5w;vsjQm{+-F9JK`&DbQ$fv18{7Tz?SZ{DCa65`2m~TO%%U?zu+-u~~mNNBX zEVm0qCn)-ytow}BbRl}>-4l3KPibXk&>q5z9lybA7qaogsPPd%R6T5gb_g;zDo~%u z1LLG?fS%!gD5*i6xE1i+OwU6Xzf-?cJ!6+C6v|Q8kjJJamN~lSPNPkhvZr~|(a+Ch z7odt@9S8W~tN8lFP4BC%h0fknkL*<9iU z-5hw?1kTKZ=o&?^ZrkP1(5!*Z1)FN;W%ZJfK#-<4N%rhl4xP8Zs?hDCl*jNJW%7{X zwX;$J(+z<&JKV%PPH_h;bE*uJkVSPJ?=Pt#{^5}qN&dadV~t%jF5TvkaGdbfd&(6h z;<#b0M}kU{SHxU7SbjnBdd{UKv;^~}7ew?as2XH6XRiuJ&x=PMRK2Ud+xpd#j5bgm|$-%mrJm&M>yRZ&5YE zwVX^&OP7x)@mG!T(*xcP#Iiolidqru))^bSODQ@j$c9^EU+D7g zr#Ph`Vfm}Mk2o~JckX6%JT+vFCP%0vaGQ>~NWXP$n9gtd3xK47xc67Z!m&3m`vb4- z7@|-pKSqCjHgwWcKb6&9Y|v;_E-^8>Px}k&+=g(BHc4#$a3Xk$xwyFaO`?ce=kHPf z=<)W*Nb{?*A0_?y%1XZ%2Jo}VvHdP%c4(;;YbTFEy@V!IcJ*N2Uu30s%y{bHp&Pie#lgsnt z1UvK#jAoOBkk*G$O{%tLls((yk&%&^#Iow@;ISR=n)nj2)_gKDUTs=M3&%u_WX4VV z4qc@C9-84GciwN$HWpb4A+S0jw|Lnu>>sXRPe~cWps#P^6>YUJ2k#{a3tdqlxfqts z!j0kUY}W1HuX0`sw$dAu)`Eh0r8#Vrc-?V4Kx$~DkY>{AZiiQ#L zZW`$n2{BWn#v(0YPp>829cwxQkMD%z6cAb&)-EUX{8N<&3~EgpW0_iBreXrU%s$1w zu}x?f5NwpfyT6h73C0_Wu>*#MW^MSGO)jBJD%!vIsD^p# zLtAHC6Euq7-6Zk!WiF4v(DQ3IDgZU zq0WAoJe2Y97`0l3V&K+AtH(Yu)>+~?~nM)wQCv!B<$wRZ9OZ4JQP^wp6U{{}14G`6+clNb@L^QK7 zz~5#&yip~tP*THDU%1K$h?57~7(GYvU(-a+^hvql3$sk@?8gu0IrJ%!1iyS8Bz2k0t<0v_EKrd)Nb zw6%maecqd|;rD&yn8445GtpTngM0))RW(hzD`$T{MDS9XB)nj>m^scmXnlRXi{k@O zXDIuMl_Cff#fk`yBni~hT3!nA1{uH5xk%9!2*HZxAk&@`=AAorRHr}a?59#jQV z!J4)u)Kkk#+6fE2asf6amM>DLp^bBd!Gy6O}CM^}sIhTgl=1TAo^1JdVdlN!Czy6c;K;F}vI?qy zdR4UQhme7!LgN!bT43Et=e#5Y^NG9hgV+>9%?UO3el4d*jth!5eEHg|VG;uSK_jUA z5^79hT+F~ojstG$hx{Z7KcU} xH!tY<eY001tOzK%J= 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 xH!tY<