From fe1540f5460d3ab65211f60626eda105e6f1b173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20David=20Iba=C3=B1ez?= <jdavid@itaapy.com> Date: Mon, 7 Feb 2011 12:56:45 +0100 Subject: [PATCH] Add index test case for a non-bare repo --- test/data/testrepo.zip | Bin 0 -> 14827 bytes test/test_blob.py | 2 +- test/test_commit.py | 2 +- test/test_index.py | 8 +++++++- test/test_repository.py | 2 +- test/test_tag.py | 2 +- test/test_tree.py | 2 +- test/utils.py | 20 +++++++++++++++++++- 8 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 test/data/testrepo.zip diff --git a/test/data/testrepo.zip b/test/data/testrepo.zip new file mode 100644 index 0000000000000000000000000000000000000000..aac9a6293b8b0a0b8a7cefa3ee7ff3f17d3c3881 GIT binary patch literal 14827 zcmd5?Wmptk(_T8IyG1&e4h2CPq@<e#mM-a*knS!?L8U{wLr}U@S`<V;S`idMzC|9D zRNjBzUe|%$Klj9$nKPvz0|Sc;IQ+1gNC^J?^4}jM013bWZ0}$PwzXkZQAPs5Fu#$P z#ep107Zd;#>>>;R@bizt2?*xvh$W~Hh{J<@9KsF^GO_}*IJh|c20H{i1!fAiw6vjc zwz0D`LjD6Rb&5B%<G?H?W)4RTYW#~qs#7>PXK+kyY%J`L&<;htKwKP%aEO3IG}Dm) zzG(yiKnoiHpuPaj)(*^U2Q~oNgIVlBR<@Slp9;7DK3CnsezFsHzjq&(2S+QKg&gaq zgQkU1B$Ejitrh#6dCJmQc?B#!6(t~ajpa5+!VmX>X&np<vFm9G9B~^p>+WlYu3LSU z(eWJhcoMTgERL02<L0ZTNnxg5cApm54)#&@6%vyl$?WRlmA_2iHZOXjN65uyezoZ1 zi01P3Zl>hA96gI=)2usILKWR4T%xa~=9rirRf{R8+P{>zvC(L-&_`1Xzm-tow~I<& z%znF&Hv}ic+$s{voF|_=*CYEupF6(p!QP`V<MHCEku=9};ox5T%B}ah*7={cZPag3 zhcm?~bqeli`zfW|z9FllVG_r*7p_91l)ydgJ35u8KO9H+;Yxek3wDimlLX=honZyy zJ7V)y6&eNXH$LpVsh=R&<^)C%Jq4A-i^Yp9YuYe97>gRQ(sqcajz*xVt#qKmG)iut zn8%|;2CFJuNuRspY4<!FEEvK#ul>A*ZAI3|D*0vrm3>s%kYf{UbdkM;#`BFQ0r_sx zCQerbfMaG)(~vPU(w?fe&ic)M{_(bgwLI<tG|jHxL&3BWZ3@`jMOWwk@8Y>mRRKoV ziF?1_npfpow<Z*D(qeK*r*6@dp1J3~xtp-IE*9w{MC$<Whf4uRRaz<eIFE6Zs8Lyt z#*)!KgcF<6#}U|JvFIn}fa>ziZrhT|&BVm_z*EOR03SZc&>Re=#Hi1R0uI{UNs#_< zML|lid)hG5TQ+eo-9g&FBI+i!n_={o-ER{8V2Wq^GOsr^zfTp=Vexg@>*3?Ad$s_G z$qT!hwQjDjFLB(Eex0JbcUNvdLxG(u6^kjvXlOxcvn54eWH9=5VK$sv>8D&FA?xx_ zG*bbVQ2E#tty!D^t%a(EI%UNB+2}r&Cc~>}_^~q^8_|Vc_a!ZC^k+i^Eqe)lKdLt< z`u}**nzGgqOnCc7sleDK(ME}9fp9TJrD$>%Yi-_h$>+{-=}V@D-p!(Jcgj<$>OPo0 zRqyP)RaxWbmDS_n-j2%i*u8bUV^$<Kqjf?37P<raQ0KJM*n*zE%}s={$^7N9)-R); zKpRTZ_L;o;w5r!HGPhN?(7?sQ3Q^8LM_Gitg5Z(ZTnC0YiP)_-2XUpkri5kMV(3Vy z^4Xx3#dY7O*e!UOjT%<r8PWNBlJV?(vN)t7YGvWnelBP%Z@hK}oM}f*HeEq#B=aU$ zI*1<nJtrKfr-5e9Y?ye&apRue_QRxi<oq8ZDN3Vo6KzX)z5_j+*}oM$$QivyG!(Yv zE^@o%Grj}=Y&}A`N_y?P6;D25iO+H+`;1{g17ek8WTG|EwJs95jBt2i+jX6&8%gd5 zXx-_0k>bK=wrqQy)s!-R5&Id9ZCxm$OIKsuG$T~(X9`e<r4DM`_E#sX1w&fBb#+*V zdM6OjXOSE;h~OTNvfWQdotdjb*siDflCk~Z(YLz@LHbw{2MZEGYw9~%!SQ*TuZEdc zTZ5YtO!ZLwDa{dzGG_W-ws^B7D&d8FYL$+$^OUq$_LZ=si(I%h$gx{{`{j?7chsHm zKKqMbU7Y7pLa(O_$p;gNC2<W<*2av%2QbWG<$#TqX9t6zo)lWHm3DbZtry$V20=ah zWH<V%lp{bzgmf|SMV?Ymo=x?Xg$%B_v7(77>gvm07am{zc2!_=49!4|4NUMSIgOPh z{Wmwt=!Cg$!LTNf;5W~^KzTJ8>+<SxcedhW$j#gXnx%DlU`WT)S>%rI(%=fvsdMPj zg~1ZQV6VsJk717#${BIMiz805E<W&@a`61(i6<PPk2uw(nZO7ihQ?CX2`@H>p;}cR zly$`g9Tt<9n@yub;FTY8PxbEmtNidkdfA71YK%C|4SS^vdwn@FvtJIzi!@<`M<(~S zD>Tg!hCPTgtI7}82JE}g!_PF<*17I~SY>MPDO!;+E>jHEYl}gXx>ERD5C?Q^TCy2> zL?@5OduPKzbYv-RP<%V8bN_W<bm)^2Grv~Jcg+eyjA-Lt`<qvvC1yA}#xpx_EUAO2 z+GjXuYoR@LxJ=Rr7@l#En33o?h4QZ;(pgRvurx~xa>GCwj{&s$TzzSC(cV%fKN8|M zVJTIW<_HPWy-Ju;z-nYPD$MV*1w9r=letLuM8CN#=-r-$;uomtnP#WTcW`=}8i9^w z*je5h>_anrqJZm8*o%GDbB(KA_T+SyBxQAi&>EA|IN@aXEx*Q?`dTZmp`@Z1RWr2v zN%NB%%=9X#Ys;oLuKJHHm&?^lS<Jn99z*>6MW+=9!@`FlMb2mWr3vv?k!gzu-S`8D zwe8~!WL+B!Z-Esl+;Ouu-K1LGuDX)=A(X0gr8CPu67n>$GyCF$?hzVOxTy#7#mOP$ zlD40mh4B%Bjok;(1|8Br@%U6sC+Z61K5%SWUD(HNW0`JCb@>*=KHRssOlczc@jw<Z zDa5Vii-B)g(}L@@B<~iPDrq{8-=tfrb0@{~R%|47S2N|aZs8eI_m~COdDr2>E!-ZZ z0ne<Dlr|g{<8fo*<E%~d83rD~_jRXl-zixbmYGK@ogpSPSFf(cEodwzuG;9Kv)RFh zj!51^X%ky?$$!>u{a!j)O&&*Y)0-uqXdh6ND(tZ#`T45o$U%f{5~bG-G2UQ`k5l*x z<A&yHYY~29T1gF#B^JGVd2E|Ff>)k$F(4Vv9AuAh`mk2F9RLn9nm@Ti3hGWv2qcqe zgdCcSat9lG2WCfGBap*ok_YBKMJ!(+D(v7vx`Dr*4~Gi^D+Wb8+OR{++qbJliwkT0 z4OXn}NuTs(OhrPq;K?iEX$>(oK(UWzZG{zCa!_w&navY&g;L{tUJEhc320DfWM7{| zRO?n1o!(VyLg5`z2kFJ6?N$;cSKY%NamMD1|6<L`!N=o?=&^BM!fr3WUwv6N(JpQS z>ZGLbewNSOAW~-jOHxA{D=RaHOQcE6VZvB#6d17U4F;%cvTJYlylHQiUJX@%mH|tt zq_YO=)|*V|KH^J|@+<3{RcyIFpF$w~9>&q4@Cvhnh%&EqFn*LxgKuW4ec{LImnCv` z5ep0>ZF9-)NHv2~7R(NJsY=wZci)?xdj~6mYgMghKoDL#NAIcd<^#$}$?hTHv}r>! zVFviW=YN+L%u`v*Vu~NbE8<?qOC%|nGH2|nt5V}_F?d9Xo_s!^2bDrB!$&_(#4vWH zTGH>Y?o&-_4J++_=$UHj>3tWfk+s$PstaT%$tb%=HBk)84<C<WEc$rERYa>Qe`3gx z`3Aj2HqdiV7a0G@Dt?E_UbzNWwml|<G}mJO`8|382EABrs+Bq$4fjNBftN~&6I<b; z>^HB1QD2SoR0TZ1Z<1*4ekx`-%GgMgCFPLDm8R0hQMvL!og)vK>lU03JcxHeR-!3g zy!Tosf=HnlR8SLq46v0@!^8YJYdrD+YHr%RC2SOJa6TPHc|#vRh*T*dJg4DawVRBM zaZEMGG|v^C20lUgK~-7=1Lim<FTz_`)+DqDfew%3)v^g6*Imua59xg29X{E={zA)` zy#t?Rzl1+@_Ty|k6DvMG_-<E6Ws+Y1w^!Luir>$F>3F500%R>-2+g^JRQg7xg2R)F zio%!s1DhSAcAl~*k?nQ66@(2fD7jD{fQ@^9Y|{M)N#!@(_+I2QRz^(K?rF4`nYvqq z+rQ*$Q|qjP&4osmY}4%Is}k?J*|$kl*5H3r0T#AOS!1NlP|<;&&lo|N*}0S6W`*VP zJ;Kf<qK6)PD#7eGg1!du1B16QV{nOBd>%3x6aI)@7Dc-EvW@Zz9(EFjQeA6+E*BP# z&~9WLnE*`6a42=IPj;N((B@r?ZNJS18(D!H1`G@euI*V5xdif2Huxi;n?MIC%o#&6 z^YYqsSQ{`iqq-UiCa~~%9C(Pz4}F<Y_YH}jykGS2nl*iWomg#ba)iT9I&sJlb8=Ky zJsrM9&W%pT(0&jAW_Wuw*YJta<JUwzRDnaE-UC|6G9SJf%F<8`DHj(_fGcBvm`a-7 z-i(Uu+c+OmZsWkI@y*>%$l>01SI2wJ4OgCUNYRqhf8Shc{?=v2UyPW@<+Pes+4*J= z**S-l1#JsnZ9w)`*4=b8DW#7h8&<)M^kSJL)_!9}?R+lAKO_u!mg2Bqt&ZK7G2tW( zGuR1mJXpq9pUQ;BdT9$iuUc!Svc2OM$oF|~hiHz$nv)x-JG6oKKANWHdIKD)T|Sb+ zce7TvTAvIIm(N-n+0E;Q+Ov9m?^@EI&$Y;F59e4ts(Al6({`mo&5aeDKz;L6P{O^_ zP~-#)01%@A09P*vzn6}@MQVyRliV0yRbCw`+_Mv<^HlCKDX2QWS3C(6EW1V&U@LBG zXd4Y<FV%c}eb5w{V<b~<K`R*s$dY<9?d&`=Jv8kcn-_(h20xuCLr%R}Vp-P9n=364 z6JcM*X@n!ofqT<jQ;H^+y?29<kb5-ly}7V9Q924=WaexDm=NtToWDJYZh;M7-lM^2 z(@@d^bjRSEN2PaAQ;QkpxNof7__#WlqdCfBb#RK_)L6-zEpHHQ2$52*ZI!AmogP`O zhmgWQ8oOSR9n+qvbIs2`{w1b&o?{;r3C6UBfKo1dKb4s^XOWWio%Hp(Iy?<=B{?~C zZvXpc+Kz5^P0E@C@%WfStZ;oUZK}y-3vfm8E5t$KvP>N5ciXeRBVswDzuU(QQ}a=O zk}MfAN0C%1hoY)JDJR*&D--1!V&5O8z@AU&_)*B)uSwpXW^Su??fc{&vj}jm+;%Yo zfqDT2?4lY+w%!gKp8Y-{&=G*u`?h4OEoL+p4^@{b>472*6?!*OEwZ}_$eXC^8}{o3 zkT?70az>l<hJ1o8j01fnIZX7R9_J5n(0aAJGkSH#55%ROTrny?v`D46zM@cxrWi6A zjn(2D=8YQoYsgEx?;Egkb`*4<;1(rwUaJmy)%|+iyjIjj+OI$9)eO#~H}sy~TBBR7 z-~IfZKe#DO?;(GD02hpCZXFkmXjZrvkO(O&q@AW3MlJhU(bT88H0N6#W1Qw{J~mbt zF*`l3G0pqrN5+BZH0E`?&dV920?AFN&a)Ck-0}TJdyP7>HGex>YhQ=Yl?T_zsTpYV zS{&sWI0N;Q3z}UmSMWH^U#=!89js*hNXUwv*tf-acH5rhHLM7Z3dS3m9zTtu^0uq{ z5?4jL<In>|c2_z+66`&bOy2hNuK#3h+-&bkXxle?1>wQ<N9uOrq)}x?$wgC29@%u| z2jYv4o-fN8iQb7nilnU)s-yebY43=eF8CSSZNi4$)4x(h@mlpwx6;Alh9Ym16dv^M zmuwtP#gVf9_ujhbir3^9DuM@*>h+y%AJIB}x*c$Bog{l|$v`lI7zQhqU!~Ud36bjh zjNPkMYe$dgmBW=zMfbPRbW=P!EaaTbks3wh&9z7sOF)iBpM5`nux!x{XB3=q?Ar;t zH3Q$>&+9-8&mGR?xpbYZzD&#Uda4G7UDpS13@gX@l_iRN(w;2wDGxV~DQV5GL9ay0 z@|qv|)D+QVlXtUje5H_9YsE9TUg8*+YG9L@6N~+6ppo{*7rXmUXK{3}^LNcC)si9? zMrmK~roU_p_o5ySWLz|S3LUAK6&|r|wBn2~2gk;nl8=KoNy17Fmx`ziW1<zFDLrQ4 ztn2(v=!bRwC=4TWgP=d|uE1@J>t!5Z-L~rLwq?CLt1hV|H?gY*^7o;?hnPvMF?(2< zdB%^3MD9FfqJW97QkuifW%eZz$!<D$+NfnAxAr`oxCVdmUgVvkTw=)_tWV7zmP)tc zs>A}Zoga?(3)Eeyd7blJMKVjNL1)^3<n6taxriAB0WcLB0GNRUHRcNf8l)Fx3xf2c zj`9&^D|?emBwL<JI`$(#3=f*-*(eU#n@p)~TGv-^)1z+r_YZC)m=%nfXemdBQB}uv zMJ`bBT_q)8ca0i&)7Utzv|Xnyty5<mBg<Yh=zX&zUkx#h4gD<xqdWQ=A)7LMyjEw# zc#WbQ1hA%hmVI`IZ)xH!`a;k*)WY2ArEBo=!_Jtw9muVmn^TgwPwofG)hJxud%@5C zVUQrVSIGc1i71xHY%73981cHVG1>z{OMkeQ1{n^8B63R`5?==pR$*RG^PnQ`)e<aM z&P>cZwVZwcE6xM|*WRDo&{=2~BS@dIBy_qJhAz%O&@?Lx^Bb-gO7!b66)B{`MlBuE zN)P(lU0Ij}8*l|Jr}(81JjNiUHM`whQg{UmVZ_9BpdUFiI8mHOTJ=pDFcVLZfYwxZ z(%L9eGq?i;c4(YLhEcgGs@z+VAPeYy!opay(DG35iIx0TxrLQKW8&ams)n@H{A z6Z(#&R=w#Jfu&_wA}>Pf2p!z;;FsCNTKF7k!aE<C>=<Gcx4YE~tPSuQl@(P_GJQ;$ z^&uWNFRV2qlGDn~iGXUrAgeCNN-=$qC>@<$!;Zt4Bf4lq&+_H={USCajc{M+0@x+v zk?L<-q}L>9qQd&o7hx69`a25(b}`*5kZYI{W}$e4lWIRz^=9_^pb;8@Redcp8>Zpa zZz%%e<(Ft;COOO<df#qwu1Ga)ODZ9gyMYf@#pL>DX}3Z}TkukZp?0o+Q_ZGSIzZm_ zifNS2mz;h>c6;s(DQW9CVZ%5ktgQ<M+M+1#`)Tdwo2hFEKO{i!Mqcf$%}(xp{xVu$ zfKJ}r3zAKh=yTu%mFbbBv!aExn|-4!z*Z+o+-C|K9kzn{(GFFghQ%clK5EgD|F9>{ zd|{#N#<wdcJ%EH-i*FxNV?;m!0Q47o05ize*3#7$<X~ue8S9T^lWzxN_?zr8l9|1N z8xD#`qM~|<>nI`TmM0(Xnc$g4A9N6*q*+$hRR6unJ#_NX{GgEup0UpYAf+%8rZt!( zs{WZ`mM^;WREDjCYAaz?{N{t|`*IB?DigRu?!Mu7dBqCSL^7VW;~B3qqi@7LogUdO zoTw{k@8VqvNyL><4W!8Wkwf*u+>xnRmmb%QjBf>{m;_%UCTWa8C+{s8M=N~aXG0C@ zThm_}LzRVEt8&xph7Go7uEoF5i%DNd&I}3u*i7?kB8h9e(9y|}hV-FgcZl1qN{?yF z89i>BzS}*09$yOzOEr^;Q=WWxHv9I)R*g9$-{!Na*Qtutvw&q)1)^IzNR*+yNWX^_ zs~y-7Z02;Ck`=7jW7h^mZCGGbuHjC)fhZLSdX(6|^@d!*GTDW~sndyW|2so~2sw{T zfsU)%GVKsCV_Q_wQ?3ThOyY<Ue|_6ERADy`vB7>35=7Nl6t*3zE^RY72Wn!T;IEtH zp0=`pn_5DoUF|Tvv~eZ`K!CKA5)~YxOl16Eenk&<Px9iP8qrEHQ*Z1ovNwPR+IL7I z>NP(&BlqF~o$RCa-<~;9h;}%d4;g^olaWk`xz>@r(_i}hV<U$-!olckc(@?6i^e0& zWgQi~aE9HGj}hB-LpoZc{+&7_ufp%#;ZnEGGW$a2u7f=X9=G1Hnq1Nu@3GQ}R#q8W zzdnt}H90JddY>T(6UHQF7DbdIE&R=v0g_-)9N#U;d#>;-#*EW7W4FDSrYW_<a;br; z8x<}!T3jAYi$A6eW5LT;g7{nnx!th3rS7t`B}RnK^xVU;CmPZ&w>jw*OJBP&b|AOr z4XINvno<03??H^7%?J>uBO_J*t|a5Is_es0K^4+|lw&Bd>N}!K?`e2~E1&gS25vs~ za4sgz$EDfC5*yw5(J%0vtoa4n9dK1d=MX_6@|J9cj>wbBrog`N6_N+yx=LQ?YS?zu zRl`|BxSHjv$`$Xss<X|Ww7k1M8zLY0h#+$K)nEw4?N`+~Q<T6sQ=~f7gIvoXsA4>{ z%F+cQTEWsHdE!@fHpp*cB4M=6;(t&)Bm|||Hu}?%5=vUQ=P@9{4LOQCiz7?WQW+u1 zV{~iS4De68f*+wyETqIF%RVF@C$GNK>Nk*xDwuG!gPDi^?pq9<zNhJB-dXzm${qz0 z9WazuR=BL!(i>Eo+SuTHV9K7XV~aug5Npsg+|fy(e-3%32%0um$hap`(HLUVZW6W# z<3zzB>6J)EWA;G@dPRLib!=1Et-yFH_q2!`R&L}9lr3-ThrTbVp<OR$w$(rzKg`{o zUF-L4_m|epKd;T<NvN;M<6@<*I*-hIG^R2y#ICRsmy~INb=VEHI~XZEOM`Z>#h(Y! z77#qYMpwd@pH-zBSUzCBERe2i!9vok5SqPCl>9x^D?MR8h*Tqxw-e6rkucl%!Bd4# z61+sM=5u2bCGTN|_udCZ8GRoh@Jue*<6(@^82fC(iCj>u*VOjmz&)((yN+0M_RLAE z(%*?zM}}C{v%kdJKXLZ5nMRa=e7g{8fXSL#QpHDTsb}5FN3nMFWtT=RYZ_@K+~!QJ z1=8v>^G2`qQQfKP>z|m3D-}>&HoYZQv&Dc{!&-E*=_sK1{iYEOFzVitAdLaNMT`X~ zg2;y2*W!@)#oa?R`C&Yf(Hv-A%f+U(_i0pcJ#D?;wf2<j8afrc$Ho`hM*t>G8u)1x z8j26Wdr^1sC6L*o@%9RY1aN$}+j3cCf_SWmYlwnT+9qsUJcDNiS>KRwW4o8zkCS|I zOU$4Q_<Gy*ew@Ub^POxs6`hh2QgoGv$}lieeUFUe=oy6Zo<u4z&u~vhj`q20nNI0W zEl{f$y(A?o`_5Cb=jQe#Vfmw$KmqxovX2I{lBb52C#I@Dho6=<CjZSW)gUv=!*gn? z`sd~j!2}KMy*(hW<YUOeKNH1&f=P-Ai~gKaUH};Wq7@064MS+?sVbX<m^uwo7Zv5K zFzl*9OmACILALN<abatxvSrJ?@93M&6u8pL+QzJcs)@ddDT=5I>6YX%xFBrO)?z=d znTj^<&&%}a>MP4TY7<EVJH-zIs0mUL={pGY1K{s&4G9z9-g+YY4Vcz0&N>Qzlf3z7 z6@R{F2+kMA4s85y^_-7L_7_A`$UytwxJT{Y(`u*sC$1I9-T`d)|M?F7G_rX@5y)>s zj7bV|2+v4n1hzM{GqZItv$6i$;2Wi{N2XU+R*_Dc`2}k~Qx|J~g{q`%7n34g*9#_9 z$(~**6$N=IW;vE_Cc3WP0VOrME;Yasp!+eU+3+0nu|(xi*Q}^gi(L?IXduCf<P1k5 z^0Km0%6ej=Qp&PQ5`WXNY-FoB3>&KGz;p>gd0@rhSD0H%xfpaf6MBOaAy(==9j{|P ztTV<|ZBbwl8Gl%c(^C7YDgD|kWwVUk5kAz;kLE|TLXC4sn7via>!McLm>1LUm{FV^ zavy1Ai)okBtSmG#FNgR?KYZEw4wI@CUR&_XZla`&)x?1#UylnuQ}{DloR0zQeNG<n zg~_k=Choe`Dhe&r)gg7iGsUuP9;dB0-70!(yYU_y;YQl$?t%W=X<I9U_tE6y6KNZ8 zA_6J3Z2oO>&Ei8mf5OS()&irM{bT%}-VXp^ol(zk=f7Y@0pd^m6hEEn$OVo}_1L<` z={1Y95zEZl_`ju+3uyd_SchQF0)1DDApCAX4$&EYe}aKs3@sgv{<>Ph94?I92E-BF zNjJz0%^!1Ot-;cEg}IA4nZX_NKJk6vShxvK{93^ChGgW2m}6t6hV<EH>NLm}nesLx zLg8pDELLWYofd1{4F$G5O$6-p!Z^6F<1g;l<!3=>nJm1Jv6T7T359I`mgfufbHx?t zxw`_mX_@1i{hg679;|rd$8W#5K@sEas4=F?#)ye5XpphDT`I>*5blp%t_gKbZ1;0} z?ThEztsiRx*4GgJD1Zy10Jf?e7(<Bgwvcn4HjTh8Kh2mM68jI&srYZdiE3x8udfen zAg*`dUYC#36xe18A8;=WwI@e|kbo!=2n05J>%)^-1V6r2ojCB>%($kf%-Y^lPtkc@ z6TUe6<+Hdc<;Iv0EO@$_K@Am<PSxx-{PQA~jNJQ8Ts$mbn4kW46hr@g`+oxRUvB^W zfP6N*95ck<o_q*<N(Fx$;4nUbG2_<gA-X&~<Yx@(805dhFrOh0ACDo20f-CC#cRaD z$IS&cG5~_vKnBJ<?8e-D>|ij6jhBPxFaB}%-TKLa1L)VY{uebJi^5!hR(Xg#+K_X0 zvB}WJ+SttGZvmLAyY-4U1uEPi$L)8BEN`hgMdI~D?l76PK3nbZd!E?vMWG$fFDrlH z(RQh3mQ(wUWiI9s5*QQVq5E0Jq--lj<Vnv0Mdh*BY)gWP_H0;BDjdSo?+@M?h1(dI zgAE;yJ*I!Xz(a@l4F>sg)+T=8aTpw}a$VpSe^@+(tg+NhB7wjio|_l42!Ukd1#_{n z8ySFj_`sZoyc|HFkr9v=1UBH{G3EvHu=5)58i9=d=8rB=GTmMBcYvG*FC_cAy42_f zSi7a(K?6iF;e-D$b=r}LFJ#IVWN7ivrM1gC)Gy`n86H7ikOKbU^U$Gk)_aLVAc{LY z7b_0}c{ykK?aAjPvo26+;XkuaF@eV+wJ1GCY^g{=E*Qe~Nw;YTt`-(5{!Bi#%U~i8 zTHW<JHDzFAtcPe+6b9ayQQ!<n0r?_SRfVZdas>Hh*wA9SHj2_Zks?S}zUpF;P&VuB z-v7eqxl_gYq32<2nRUx{>qB%=7^Wf0l;r*r*@G{AO}9tko5Q{V=AZ;(|ES>dS9PhE z@93&TE^X&vo};UhgT%eVb7AZ|gbdMmDaQl3ro(gbRY4#@JX~NtUZ5cl$jA_A#04^7 zGvwq08yXt}dD#uP*mw;LxDAbYe_quEgk7K*>7`{=fK~cHP9Ttj4U*i+-tLlp#h6D2 zDot=<aB%;2Bf~hLo@AMObO+aQrx*^PzK<!bAOi(W26Lo@vumjY5WWvT7=Tsb!~e&Y zRN;=6RL_Wi67J-R>Jc0yPXy%nh#ZGIzOedl;Ik{L$N7A49QeP5RS4$c!s=g`J#AGu zfa93&&tU#qUWFi^8$b`$@aMfaxw`sC4XZxv5N-U{>Q8Qukk46Uy&S2Nn=Z#mStDIQ z>YTlo%h5WyYjT{HI>e&R73+}JsRfP8(K@;Pahw)A$_2E3&t86ao-ar0<h1%Ysa44Q z`aH2t&8{y;=Hv|NIGHBMhVyx3{xVUz9LbYS`{N{A@Gc~IUJL(n<WBamkCUT-{5V&_ z^E%p>BX+X&dYss6!t;rp(}=wssgwP<<D{4%8O?ceUC^ET8@Z#HeE8r)g3s>{_KCQZ zOnRE!fBh*4@Hx-<QLsP1O@jX)@KJRBa6a%+x%xNo^SLHC!Sz$JbGiPnRQcc0$xfid zkzb7dtB>?I8t1Er>V$f9{z>CkG4pRqhcC~`uFfBW%JJc$I4#YI9uEZmAJ5OB0iA5o z9Ea~Z1An?<^EUyGF8fe`lU<JE6c(?Z7T~uLUC8+#+~0N&`Et_qWhhVM{+I6kTP24K zpKNm+XE^D6;NMM;f8(F+A{^l#3X|iLeC;gbKYI!g;B)#3#}l;ENy<r$NKu^z{^L>q zQ1$63LwLfY63z#{j5GZS2PfMA#}&TxH~7o=(fQ_bGUixNpR1hz>i&P<=}#{`QS~1e zq45m*uO7hPkpC#>xS8Xf(7h(jX}*8ej4H|y><feZ5%$^g{g)*kX7u?NV*f1W|80+F zOZi{$Pyi~Q{lCFqwy^&<6Q`Ym_=NsqXfM*=e}(-2enBUlW8p#qKa2W*-_hBU{<sqP z=`P~`e<<+(&BWi8C;;i*oy=-}8Q~>j?vW*)EwFz{d1#3-7ZUhcZbSG#x77YqYo0B( jf59JG;{4y>FI#$F!~`5<9sO`cgBBo!4gkb69RB)0pGxc} literal 0 HcmV?d00001 diff --git a/test/test_blob.py b/test/test_blob.py index 2f66609..65082af 100644 --- a/test/test_blob.py +++ b/test/test_blob.py @@ -37,7 +37,7 @@ import utils BLOB_SHA = 'af431f20fc541ed6d5afede3e2dc7160f6f01f16' -class BlobTest(utils.TestRepoTestCase): +class BlobTest(utils.BareRepoTestCase): def test_read_blob(self): blob = self.repo[BLOB_SHA] diff --git a/test/test_commit.py b/test/test_commit.py index 4160f92..245490e 100644 --- a/test/test_commit.py +++ b/test/test_commit.py @@ -37,7 +37,7 @@ import utils COMMIT_SHA = '5fe808e8953c12735680c257f56600cb0de44b10' -class CommitTest(utils.TestRepoTestCase): +class CommitTest(utils.BareRepoTestCase): def test_read_commit(self): commit = self.repo[COMMIT_SHA] diff --git a/test/test_index.py b/test/test_index.py index a4a05c1..9040f41 100644 --- a/test/test_index.py +++ b/test/test_index.py @@ -36,11 +36,17 @@ import pygit2 import utils -class IndexTest(utils.TestRepoTestCase): +class IndexBareTest(utils.BareRepoTestCase): def test_bare(self): self.assertEqual(None, self.repo.index) +class IndexTest(utils.RepoTestCase): + + def test_index(self): + self.assertNotEqual(None, self.repo.index) + + if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py index 1df813e..58030ce 100644 --- a/test/test_repository.py +++ b/test/test_repository.py @@ -39,7 +39,7 @@ A_HEX_SHA = 'af431f20fc541ed6d5afede3e2dc7160f6f01f16' A_BIN_SHA = binascii.unhexlify(A_HEX_SHA) -class RepositoryTest(utils.TestRepoTestCase): +class RepositoryTest(utils.BareRepoTestCase): def test_read(self): self.assertRaises(TypeError, self.repo.read, 123) diff --git a/test/test_tag.py b/test/test_tag.py index fc4cbc7..d98037d 100644 --- a/test/test_tag.py +++ b/test/test_tag.py @@ -37,7 +37,7 @@ import utils TAG_SHA = '3d2962987c695a29f1f80b6c3aa4ec046ef44369' -class TagTest(utils.TestRepoTestCase): +class TagTest(utils.BareRepoTestCase): def test_read_tag(self): tag = self.repo[TAG_SHA] diff --git a/test/test_tree.py b/test/test_tree.py index 2fde234..7f3d8b8 100644 --- a/test/test_tree.py +++ b/test/test_tree.py @@ -38,7 +38,7 @@ TREE_SHA = '967fce8df97cc71722d3c2a5930ef3e6f1d27b12' SUBTREE_SHA = '614fd9a3094bf618ea938fffc00e7d1a54f89ad0' -class TreeTest(utils.TestRepoTestCase): +class TreeTest(utils.BareRepoTestCase): def assertTreeEntryEqual(self, entry, sha, name, attributes): self.assertEqual(entry.sha, sha) diff --git a/test/utils.py b/test/utils.py index 8cdc9f9..bf18579 100644 --- a/test/utils.py +++ b/test/utils.py @@ -31,6 +31,7 @@ import os import shutil import tempfile import unittest +import zipfile import pygit2 @@ -43,7 +44,7 @@ def open_repo(repo_dir): return temp_dir, pygit2.Repository(temp_repo_path) -class TestRepoTestCase(unittest.TestCase): +class BareRepoTestCase(unittest.TestCase): def setUp(self): self._temp_dir, self.repo = open_repo('testrepo.git') @@ -58,3 +59,20 @@ class TestRepoTestCase(unittest.TestCase): self.assertEqual((arg,), e.args) else: self.fail('%s(%r) not raised' % (exc_class.__name__, arg)) + + +class RepoTestCase(unittest.TestCase): + + def setUp(self): + repo_dir = 'testrepo' + repo_path = os.path.join(os.path.dirname(__file__), 'data', repo_dir) + temp_dir = tempfile.mkdtemp() + z = zipfile.ZipFile(repo_path + '.zip') + z.extractall(temp_dir) + z.close() + self._temp_dir = temp_dir + temp_repo_path = os.path.join(temp_dir, repo_dir, '.git') + self.repo = pygit2.Repository(temp_repo_path) + + def tearDown(self): + shutil.rmtree(self._temp_dir)