[PATCH stable] discovery: test coverage for issue4438 / 86c35b7ae300 / 73cfaa348650

Mads Kiilerich mads at kiilerich.com
Wed Nov 5 19:37:03 CST 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1415234909 -3600
#      Thu Nov 06 01:48:29 2014 +0100
# Branch stable
# Node ID 0d2b5ab58d270d62e4c227289c95cdf6cdee83a9
# Parent  c35ffa4249cab47a1e089a30bc16fc65a0727f48
discovery: test coverage for issue4438 / 86c35b7ae300 / 73cfaa348650

The randomness in the discovery protocol made this problem hard to reproduce.
The test mocks random.sample to make sure we hit the problem every time. The
set iteration also order made the output unstable ... but with the issue fixed,
it is stable.

diff --git a/tests/bundles/issue4438-r1.hg b/tests/bundles/issue4438-r1.hg
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1a4ff9cdc645b534b25f909544295ecdd0c28c31
GIT binary patch
literal 4151
zc$|e-X*3&(@{hHIsMcDvMeSS~LeWx`*pezD6~w+oLKRhFX>slQ8f)!>*jly5zO}?I
zwJ+7$T06De(%Zh?^FF-u{vY1|cjnBT`OVBZGau&689iO_Z7mCo3Rn{*W{R?6C{Y2>
z9KHPY|6zqKbx%F0M*~n#6Ab7E{2Thgw6*{-!2f_C!1Xo&mUXQFAeIS$7umaJ0{|GT
z-EBZ7eb<M<EqkR<Tfkt!KbdhH%tWRWRtO-IRwTK|5i;KAe+!27&w)m7Ij1@?8gZVe
z$;Yc10r5tcNLjobf)JXp at jj{sz!5`*gII-9;gD{541|vtra=?M7?LVRi%5<*E~kp=
z!wUhfTL3x at It>tnPP4E8!V3)sK^TKUjKMSo5Sn7m<N`j-IEXRZ9hL?0j|cDp#-q<u
zB-e<+|1}BYzg^IO7%oIIzc!|Cq8J)dGT6WhqSK(Y&E$Yzt4Nhx8!>gd2Q&RJoGs=!
zFi!&(Pi~O6jW-g@%#3s8g&RScE53B!2z3pHS42&OV(%D_hDHk2Ds1l7(F2_tgD+K%
zjdsbnXk2oV{K#(L`5?cqz5*WddU>nLrrmYb$3gn!AZbV)RZ11!(VGJZGc3iM0%le@
z6}B$7K$J~`dwg?gK5;T2%to1^x4=8husdb_qxSe;+<5^y1%FFUdEB`ndr%;1D;NUg
z)Hz&>3zWFbNXtaet{<$$9;|aH8eM9A{<KETA}}`Kp%Cy6v<Pd^oE~V9OLkbxisObv
zQD#DM3M%zt8Eq>R7uYKePccnl?;*DQ!BVBTBbvr?XoZQkHppwnt{R?akBT)(D{}JF
zVPte~c0jgt`+th_6r^PbveE-I*lB5)1iCcn83TFa?9H$K{g61p{fh~j8)hzK9g1Ax
zch)UXUmd}}kK`*Vwn(VlBVX)ESL09gm}zR-lxx(dyM+ at pu!*YYmD>z7^w-1p!{YZt
znLdYeIdmWF0R&bKnE>9ocMk=<b3e_VQKr6RZF+W at EjWcV`*5%T$LEXDoMCjT^|kuP
z^MBGa2^t?I$MGc`qMJgeq)8lv4dPN-55IY0;(n{a)!A0!Aj7AYXGoXxAn9|%Ck4ct
z-a|Td6~yjqy-%ppN9X-=v2=V?$S9wRp^?lJRUfpKYzBX+(${C?2a#+7%1=KnaWf6{
zrRa<NPZ76`BQ||myeZWF;EO8E3t#O=sasjSf2V7q*ttR`2F{*_o_F-pnbE&Bi)?u1
zkqWy2j7#Vfd|c74$f!#}Eq+z80*gfjA at nSK2mNINQw&7&*)(cncPG!<z6$HNsQjm>
zJLpVYdjEuRd9Sv%c{0UIGunEN+ttk&U6S%{xVV^9Yxm>M*C`!Co&H4|VM?#s`;Eg-
zeRpe(wF;ajs)QqY8}>mSP-sA+<}%7W+|>-R$aUW&d`rgNkUqyZM<;yJn7<Uyov2L)
z;RvS)amsN{J&uA+dq#3ccw0T2FB$?HOqL|!@+m!3<tGl>gJ7v*YABPSrktF7^glK_
zXejg`)o!8xkBz1gOZ(oo(qv__JlsIY#Xa9}+vUT%If*4XRvFGOdN;4KPYDSUv^0u@
zGy(BiutFwfjExB=yFxAcm(A{y&zv?%HZJ0`icw**&ywQ$rUFQMC&(!4RM^_IXh!s=
zbl{}KNUKD=4FcLyh)9p=G|RMG at MX?&D4bz!mFQ52zetKf%{GSjo2NSmiC({uj6S=v
zce_%d$BTQTu++=kEGs}yPmfHwP>l#>Vz)(1y<-2`M*r=mB#;M8breW?pVv~wL!~rz
zonpW9Wb}W}z!)S(=uH|1HKYkX^%!Rp41UVgM{iFHrr`~a(|`&xMTa}^_Bk|b?~7;M
z^9sH7vD|UYb|}k~&o**nuV%!zscmVWCw8nyU9~n|B)i=|iCshG9X(lG-PB!Cp<T|m
z(bYN6b%zQsnG%W+FME6Y5?O;sWJ6<fxMk_aKtIrRX999+#$4i$Sx&WRuo4J at A||4W
z=HkcCK<pI+tVB^PWOBr8-yfEZ-;35&-W%-->tfZpH-#HgjOBPZVq6lvGd%lwrA71-
z=h(GnF6<eDK`yJn6;Zi2im?zB at zsZF3*NPOdF-(AU=kZy5LDH2n*l{kN7nu>SAaaN
zPt>o23M?`WYQBTiyx7RJ9TsZ2YN~zQ0GWX8j0K3^5<7=Y)Ll*Z5OwLU?(IIPMw2St
zRZQd%HUNuhaCdi`lqe32R&b_tZO6t0zvw at B&s)r7AJ6<6;@)a~YFg>Wu1U*s)Gmau
zd(2IP$EBO8)CVSVFb0R$+0Hn6=l$H~usz6&y)mK|@y+u_2t89&R2cmoGr}{%Gy|t5
zJ*#P5Q>(ir_uGb1skK7(+kE}{kyuMJn&a|OI)mzlheJ<~{{HKjNl;rGnYI2M_T+<V
z=gzt$eD#MSQ==x;oHJZ4=7G&xQq%rKitXcuLN|PTPjfezIo<QeeS)G5es9&DDCKi6
zlut*Q)D&%oo^C39Z2YF>J^s<tWrwi`kteOg-;_>LNI6vFsXGTBCDQcGzRtRtlUXS`
zKanN4ZakK3SAorWt}k2**`g~yLn07~c36z{d{75e?(1{UZ=y at ksT<MW=?r}FHx?z0
zCZ;`a2H59nD}$)be{nI4xEt0F3!`v`iYx}Nn`=f)BPvVNo>%+;C$vsk%s)OjPnn!;
z>R6Q-d*$k25;Z{C3jJX$6R-j&-mH8+dza0 at zPVBss1-YAIbAlNX_HF~xgc_t8f*Gp
zqnC)J(ZlA7UZEhYCnNHMDqGFV+r?9kIi7^VKi~IB7pbn7m5MvdKTPt&^4sP*%uI#o
zAf>OLzTx25C6fXUES85tV`D#x&5I}wK1cFpT=>gKXD><ATk#8==2wp5W$k5U)dsZt
zhPvt51$V{P!O;>+M|zJq|GB*Rz<)Gt%zre!l%mD|<^C%!aQ!gO;R at jc&M&%McRBFU
zZ%%En+N<FA_M-SU6S}Ilhib~j_?mi1yLMWyJWP!|J{qa<pdOaN>$VJEobb=6RN1|P
zR*d0~^%Y+|HWwf);W1pB41bkcK-riCLl`Pz4JD7=IovjHS<{w8UhaD7gog|j6_x*y
zg6}Y&_UV6Tk_%D%zF_<K*@Iq}Jp1unBT0Qp8IF4qg(8dnCr&{-7oQBv(0A$+Et5*b
z1%G$-#29>kXcV*Ll#asAE7~Cql=R>%Y3Espu!!njH_i>Gmo}D&3*oGwM6ibQoNq_6
z<I3+U%j-_U$=^tc>HF$yt1lXAD5RZ}pYKLsue_`ShF|9JmzPP8OuF{k-8fpzGVG-9
z74EEx!~Im;QRq47BoFLJ13x#OnY$G9D!KEgZOSmGH)z4ZYzzD5mW}vMw|Qub`3ny;
z<5Ib{;9TKdiAMpzS4Kwx(yf`BWvCguI%qd79>~O=RDc;zx{7(EiPYkd&<34z@*E2h
zUY2#OHtcNY?YvDRJIc`hwOP*c=flK_ip$I#8w!%^I$JfBt9;Y#ieTpVkCvwGep)K&
z-|GMagYM_<f~8ye%KOpzQ@>Iq#ZP?a#ileoQB!94AiYva@*|Et3O_fo!zJ&CK+tJ?
z!SZ(8Z2HXgSk&qHutH2qV9fRpdF<zsbKXnk^RfvFXO{fVCwe750+CnRoRLJ(Vdv3K
z!}yo#&jk$<Ur$a3&<MqebSo-+t6)||zs#x4lV|;pw|-yN2jgu%=v>M6MXy&&OXpb3
z)n8c6)WsO+<k_OdzM>sC%hIZ9Dq_^r+x^CvcjaU+%<C0F4+zu}90oN#qI7VDL=l<_
z`a>8MX*{PWpCz%?ai?frNfzjXfxh0k1xfd{3g4B;cOxK*Ngq^5XxWrj>DZ$m#Z_OL
zn;V(6;I(kd=bk1Ki%d_kg9{aB`qS1<t5e3KTJ_B><LX|&HeKrsdeZnu1rJeySog;>
zqZuwl4wlLJkE$MXA|!bhe{h+J8DmJN+uEb%k)vgTFEZRD=W3!oFISdXOo6CngU_OV
zQQkME9`I1MmUQlMTKK0M^_ at tSYu6synmLc0t3Q90<aHe(0$G^$CWQU@`3Z`VrVTUg
z+gEB*YVHymhrTivUg44d9qxGbiNB_$C+~XDw|hKXad;N$U|{82?k+HBh?@eA%T@%X
zqX^<f1VZ+6W3aqlRD7%Ta4qm#QA6d|@RI_EOyX{v16SCP--1H5mS at 5<%je%ECG~K5
z7rC{~`_<8o`8~@Ust;p<#kC3ZDLd+A at I&==9S6kql8bvwg(@*a&@+_SA5P{O8Evsn
z+?(m2O{k=8_C946;7YCV^t8$<B#|Z&CM!4hC(=T(!qXhd!;D4RkX?V&*RD5P+Z3}k
z$<=5jl#`7>R~H*4%b2$z*zJMpWA+b_w>9tH%7$(&mOs0DE-Xy$6SjZ(oC}E`nhy$m
zsjI1jOMdfaXWnP8`0*xw%t*mVbEPT<t9qBdr9z5|ovN#fCDcgayc^5vjgpOh9wSUU
zc4a`+QR}snU2mx at 95U=8s!D>bb<%Q4Dg19P?fS6oF<0~%%E)iuXNv?|CA_X2DL!)G
zeb4nMaCj?j_%-mnAk}O7U5LHaB4hY~GtXKpRrfAQUL^%RC3;2s at khGs6SGrr;FD_%
z>umv~lYkja&R^NU=>n2&)C@$D>txJ<>z(m}VKD;p-C$YrT>!j@@}=WFe9n2{>@<L-
zhy%7n@@QZ1MQ)y2r5eoFm*3r{V;`%=dW~k-eAHTLYTlCfG&Zar=~;PGUBe+f*}2t<
z9&dMH-X?$T+gjZ1m`R#`D;3T&;9xo$)3`3oujHz2g0W%gHM0_JS-lO~mN`t*K3|-C
z9n(5wYlA!VPS-`%S!WO at zO~kd_*M6W+do2=Ne&xZURqg^d)Qk)ro3bDb4YnNAS at Mi
zT at 2l1ohn=0SlP0Zcey+&Dk*3mou}P`i?1wS?^GPgcbT_7OaA at U=(|`IV{ol$U1cb)
za1Hyk6SX>Lv+#=mAU88XPY(O-QC$hgaLn?Kw7wDz(V5%%+B^)xS_H2SxO~n2*`%R8
zdfF at 9rMat^a2nEWN9Hb(h at l=?W)cr|4pnO^zq>3iyeRBMtiC>-h)=y}o2EIIsx8ca
zks!^zRsl5FXsPg2BP7oSxywsQ>wOkUWAp@#zif*6RYP&t)f2sGN!v@>dVBIhwz#fS
ze&{?E)-5Z=KMN~b>a#+_kDJ|dR?U|UWM#9dbziv~-s7xO)S^ApBf4v!&xnH?^aiG<
z(qQmpFV9)U=tA5T&p=&KOJ^=fYTOBz=wO3?Y>ZRf)0^3zex5vp!CE|4`YL7e3rn4e
zxEq;l)GZJb(=R1$m`hfvP(la5ln0$k7aeD2N~kZM7COvrz!P!YGn)5GJ05#xdm+=K
RfAudWKjakQp>bu?_!oo5x5 at wj

diff --git a/tests/bundles/issue4438-r2.hg b/tests/bundles/issue4438-r2.hg
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f89d1acab0cf8450460493a452bffaf60a448305
GIT binary patch
literal 3864
zc$|e-X*d)N*B&BcpRtrsk%=+3nX&hzBHLufHU^C)WXQf`PqHg}jBQZHG8p^5mB*eX
z*@lrNMY5A6l+^q5yg$F|`@Z`+*L~mDIp at ducV9<W2Lac>KTt)e-xbH+JqGV50~iK=
z|G)Ui`EV{N=_x=lG?XD6kO%k&jA#HafB_Ep-@)*QMzzOn{;?Da`X3ck0E`0v5uj6O
zJa{!L8O_weXsgh{2p8ARf{()m0m9G1gl>r$U=$u?j=NzLI$mf;+(y$TbjT&q;8Xx>
zXeIyvPDP8Ribe{EOo)LlT;R|K4n#VIf;s?aOCpr1(aeerd1ph<CIA3uX#XB at HuN9j
zRQRtwGj0#~*G^1cK^T#d2(qC40XiNWic#np7UNXNDm(y?Y#0RMnL6Udnfg02F#_m#
zF%X<l(1vxDHI+fZ&Q`(Z7OWJckQonD5a&o0=Ln?@P?+o$oFa5zu%<Hg^w<kwwZY_2
z$y$f!VaUubfh at QP0wL(6M6y*Fdx}t^P$rz+Fc>0-9~aY;soQqW%8hRYZa#ea5-M8W
z at Z^KH&3eZf_EO<leavCV- at Awg5`TxrRK5B=Ht-VaFj8LbM?Wx|+6Hk2NIj77wyeJY
z3}zdqagP{njP*FGywCC%jHyEQvb}lkHIDip`eR}C#cQd^%AqSpDJkfzbmp)21BzU}
zOWFs7!nF`zpaw6rkgQh(5HJaAPK4JCb)&tx)FD01Ds;%Lly05p%e;o-3;>-97!eD(
z6{n#mdS!W<J{*p;H53ELUu2YSF%pr_J12Zz+D4s`03XW>?+oP<hTC-hU>FBw$;(|$
zIZw%wm-Ky1+~1*p7d$=v3-F6UorAmMfV<<yevHHmqg=iRqg^MtOtMDM7qJXSH`zyY
z^e;bK0cl6QiyB+h5WC4CSMs$BymXT%=(_2Kv4aCT<-1|3II0z at D<VQy;&!A3>6e96
zHL<R=zrcUk-@~4DbM=20F{~}3&S>^7-8s{~uJMT;kJ^A4&E*R5(4_UAm2Q%S)dqy3
z%st at fFq`&Wu2EY$i5#dISk6A9^VQ5hxL0B<wd`vw_%`L-Ir1gqPwj;M7`|10AgEg8
zRu~`!1^K@#lel#zhPyo)oL|3wd_5ncli*p(+8n;35R3ao8jxIdj(hze1*M}UyJN0X
zIjXFWKYmyIzPEIKq76ZJo0>u`6 at Wy-9IXU0KE_38ZcY<UPgS|}R6eTiAT;-9(gNk>
z1!K6nlCddhSl9zyC~f;%&!D7FYuS(qFR*{e*z1YIOVWZ6XRKyylJ(dQLosg3M>orl
z|2H<CvA#^+Ai;2qY&TIM)E=l`W?J2X5+7E1nyPi<sQiSF&G`8<H)GjPMY!p2gd-K{
zpz?mW6k~O&bFRaDo`<D_ at 2yVp>3R^zyxdIF7zl(Lq&>vazo~TwbIO}`+?XWi_`_IC
zxh6+kXVVFWuBouAV}apCtY_{-F$royFUImPrSJeno at -cxl5c$!bsJ4aR$YDlfEFtO
zHq%VgQIVB*=!d=}eVxC)QZj$zT*GmGhX3Lrzj#BdVUhKodXVnx=s+{GjkzyIPd!p&
z?tbYEBxJwg7u+(Z1Rj(R&MKv+pVE%_vjc{%x%F6(l%jfVrhI<r>*F-5>wv2ukcp}9
zx9??ateJ)_+{4Q%4yDZxa$B<(9PRLmL384*+2^?+mOie*Mp`n6Lvl(6uLwE}$<+T}
z89t}Q!~||(0S|fb^!M!v%?HcuulZ)O at Z|E44N7R at 4$jEuVwPkLlpGI(6mXZh2aMrW
zF9d^`_cmp_WtxCk at 8$6llN5k(UM9FRv}2J2zRfAH6q8pygsC3VbuFQ?HyDPWo{aKb
z0(Wuc8bz6CbAP=(nMFu9cgp{S!)dUwbLg^kLL$xIKJD1N&PDh9wznbO#*8c|LP;2k
zMtTM_sy7^vyAwd3OLn<A&|Sh5fnwoac}dl;pq}r1Bt+R3P7Fn}*@UZ+2X~Tp*EghF
zWarZOHMmx-qBNnG0m*UPF{66Sy;8}gQFz<hSvRFloN*-7Ft7`l$Q_P_XQH4cmE`H!
zXCi&^0>7E0Pt#{2pUBBw=8;8SQ-bIo|K7SI;xpBViMFS?Na at Zt?5H*P^^1u7E$s*E
z25p-&oy=mWn1VUepHQHMa^w!*o7g(V?cSy4&DoL1KiBP;K%(6-3?qbv*trfdph(z+
z1ufxzuaR04?HLpMH=~$GGHpv(LEpg5R+sif6eAGyiGE=vWL|9JUXQR(+pZm{Q0H^5
zZOYIRDAAe%YJC?W(q6?i=4x$0Tzs{D?X8_xl&=M|x>?yMgeD~wKrKs*s$ugI70r3#
zoE`bn7Cbgve0Y%gMaJyD at nBoYcVna?Ve&+YTNb&V7RbspzS$#PWwog+hk(^60-IJ3
z(j#4~HXBOrW~hyO5Q}!JT_-9Zx~6KW#^#%vV)T9Z3`%=ltw};(f(?D~I3sVrfvMaG
z)AU}a5`5ZGKud$cYimDAztW#I2^wK;L8X&|4ftOsvV!BYGS0COJsz3kE7{^%+I813
z6SE=P7IXgWXF`cZTNhiWe_)3ul1HHv13fbc^L-GxY3=FFiB*&;TOBglNJXlESf&(@
z9SLz(evq!OrZYu>THDoEzwV1#uF`|Ow%#Cjm#D<Yt$1XKM|t|+nK1sA*~mE<%r<Ch
z#@JU=R{0tS%Zuo+RM?-Uy-jtZbxq22rA)bDpj>~V5_aZKf&x50{$XL2Kg^wVedT{N
zS^nK-=>B(*oP5ZO#CRE~Ra at w6ew*_Ffw0(N=g(6W>~+6jWn$CLLR>>1qS!7Cw*^S=
zP#3Q|ZkEzc&)zi%u99r?CiPty4%)T=UqxnHU=w@$+=Z{Qz5Sl|S)63baVz}8F0R+q
zLVLBviEqZ~;zgydYIGM8DO2kuG+8v?-k|tvjH(M~uN7=Opwmk}6cGa0y|35~+)Iz)
z%rl#tB0!o%jaM~+H)tkicO#vw`1WgE1hoi7t}n_yyMGARH#lu%%?O!k<p|&WC<kq{
zT`LZj!+psM4X2%^jL+In*pVM&*hA_m^W9hXDSnmmT?Qr6BV$-|vlZ5l_3U<Es%oXg
zM0O_L-v4BSBfY!W6tceP>u6Yw#xfn at B`yw{(+Mqi?g`+o^dH})57JvJ at U3}D!$=|P
z#6h_89lhk&MX<lM2JdOSk*%dko+WhMMuLWr(I{QAI<pthfDBT8YG^$gjmh%4XMrD5
zbyhNUC}2B2e(xwF&|L3?;UR72tg8&oj(Mf(|JCnd!j{6jsZ(1eS?8HUSbG*CyG*mo
z&{j1ewNxAYOhezGTQzB^xH&&=)0V7ye(uyt(QA>4iR*rtrPHxgnRLO at pR2%|I_dcp
zZ at lAlt@b#+ at EpHYQve%FeTzyWX=YA&;926s<R7zBwyr)iZ+_`E4d&C*9&OBS1xZmq
z4_2auFT+acEz-Ql?hE+i;`%aD<{b1ABMLIyTJ at v1uI%AoEb3coeO7Q{kbA4|=OVhV
z&-RpsZ0 at Vavb_<$Gs{K4a?*<=tu+p^mGh~E{5{I3V at jq^!3cKk8;g47ee3<u8R at mN
z7s4HITJH^fgswi<Tvd&AQ at ZPAMo(LYz6git#w`*D+UV^~aLgitXk(02lOWZ%OU*&e
zi2FY4<pX?i0WB33E<rPG_2G>fZoFI6_TK3!<)FrENt1u0#fj|RYQ@;xi0cb-6~xx_
zoUbh=i*YWPLoiC4KiIEA+7<7#Tb>|D5FCX|vkPvgJb%@PfVV=X=wJH^mQI*Y?>(vt
zEHu1nc0q99dWIz0U10g!9u!Y}^|wt|889yH4(;ZCejZxYCA{ND4s${^M&+&DV}E~_
zeb8Kubaw9(4sX>J=?$rz?Cg$`F(czu&m)<KuvQ7n$x=IWIwdgCZb2+ycXIjDEB6bO
z+?V%X7I=T4;v}OhG`^_Y<L9)uo&{F6y?wkbzZZat3He1lLhatvE<K=b+$k?~e96e0
zk`q*MM!dHTN4_zdug2UPP)QTwfBw`?s5f`6yd*B7-yb7by*E$#+$ptPJF}hc$lzv{
ztIbSzvhte at 3@N{Up3V>ZnO3OueyiCaE6M2`|4ipw9SE<pMB-43OG?_Eub at xwYM>=m
z%Q2?YI>9S#D>6H;3nQZtBu|s#W8a)&&J2w7zy+bb#dI?Z9ivsGyM~vk#YG%y8|EIg
z81Kys(@NNt+j=w;BvoL!CA=~oYlMh<sPT%rKI};IU7+UgWgR6`<z3i1jx3|EcA^_L
z$1#ECyt1&-k#aqkpwVUzRZF{ZeQM^hHU1+NVl3I0b%dzm^l`tWSMUBl{)eBx at R)?!
zar-2XqPbK8+xE#capOvkPT^;&5{KAvkj$ex?`%5a<kjIW^*)_Xf_luW&r4Z{bKU=B
zeU4eI@`Y_yLkku^k+e4>%UuB-p(ajxy3Kdj`)!{Y^0j1+?OiJo?2GC&QjndedE)!-
zPNS^Mr&TKNo17TVid$WwjF;URTJal-^E)`tqUzx!K=At5%-wPf8=0)JqWcXr7%Ore
zC9v`BA+%47F+<S{mFri9em0}Au-^&P=lTZ7;o9|G;YqPt?*%0mQVbX75D8PjCNH(P
z&%d<C>!t8xt~Xhf>My^!CnS+slRxc?GIn`yX8&@&E9x=fQZ3Hk+`6vrPJ5rahYyZ<
zjY2Su25Z+TNayEG*2+2u$__&FmZakMHB<bC&xCY&SLhmUa<_N{xQ%C6>{`<AuF1#$
zklCt9`buq-p4flPaXY%GaK6^`GD>4j?WiOnf$YiC--r|bTt9T;clw^M)(AOQ?NmRp
z>75ac3e=m}alxx4`6uRIyLLF!mfliqZZ!@;rK6y<23B$AQPU4?CcjMI at Q<Jd=vFB(
z*wjLmo{-9fSV2=IPiud>PxqIA*n*}<NnlUQ>6rd6@`=0cE`mjqkWSII$hYr$y+XLj
zkc5QOG at ZF-RW_Fs^92nzM`Og=;nn<~WR2ad7~(D|-RbxSrABu@$L#lcZ!HzW<Ue2V
Fe*mD{D#`!=

diff --git a/tests/test-setdiscovery.t b/tests/test-setdiscovery.t
--- a/tests/test-setdiscovery.t
+++ b/tests/test-setdiscovery.t
@@ -357,3 +357,52 @@ Test actual protocol when pulling one ne
   $ cat errors.log
 
   $ cd ..
+
+
+Issue 4438 - test coverage for 3ef893520a85 issues.
+
+  $ mkdir issue4438
+  $ cd issue4438
+#if false
+generate new bundles:
+  $ hg init r1
+  $ for i in `seq 101`; do hg -R r1 up -qr null && hg -R r1 branch -q b$i && hg -R r1 ci -qmb$i; done
+  $ hg clone -q r1 r2
+  $ for i in `seq 10`; do hg -R r1 up -qr null && hg -R r1 branch -q c$i && hg -R r1 ci -qmc$i; done
+  $ hg -R r2 branch -q r2change && hg -R r2 ci -qmr2change
+  $ hg -R r1 bundle -qa $TESTDIR/bundles/issue4438-r1.hg
+  $ hg -R r2 bundle -qa $TESTDIR/bundles/issue4438-r2.hg
+#else
+use existing bundles:
+  $ hg clone -q $TESTDIR/bundles/issue4438-r1.hg r1
+  $ hg clone -q $TESTDIR/bundles/issue4438-r2.hg r2
+#endif
+
+Set iteration order could cause wrong and unstable results - fixed in 73cfaa348650:
+
+  $ hg -R r1 outgoing r2 -T'{rev} '
+  comparing with r2
+  searching for changes
+  101 102 103 104 105 106 107 108 109 110  (no-eol)
+
+The case where all the 'initialsamplesize' samples already were common would
+give 'all remote heads known locally' without checking the remaining heads -
+fixed in 86c35b7ae300:
+
+  $ cat >> $TESTTMP/unrandomsample.py << EOF
+  > import random
+  > def sample(population, k):
+  >     return sorted(population)[:k]
+  > random.sample = sample
+  > EOF
+
+  $ cat >> r1/.hg/hgrc << EOF
+  > [extensions]
+  > unrandomsample = $TESTTMP/unrandomsample.py
+  > EOF
+
+  $ hg -R r1 outgoing r2 -T'{rev} '
+  comparing with r2
+  searching for changes
+  101 102 103 104 105 106 107 108 109 110  (no-eol)
+  $ cd ..


More information about the Mercurial-devel mailing list