From 6e5c7ba004e8700bd009c3d2b9444d543709a4d7 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 3 Feb 2022 08:17:12 +0000 Subject: [PATCH] Don't ship eggs for testing (#459) --- envisage/tests/bad_eggs/README.txt | 2 + .../tests/bad_eggs/acme.bad-0.1a1-py3.10.egg | Bin 4235 -> 0 bytes .../tests/bad_eggs/acme.bad-0.1a1-py3.5.egg | Bin 3606 -> 0 bytes .../tests/bad_eggs/acme.bad-0.1a1-py3.6.egg | Bin 3598 -> 0 bytes .../tests/bad_eggs/acme.bad-0.1a1-py3.7.egg | Bin 3603 -> 0 bytes .../tests/bad_eggs/acme.bad-0.1a1-py3.8.egg | Bin 3839 -> 0 bytes .../tests/bad_eggs/acme.bad-0.1a1-py3.9.egg | Bin 3830 -> 0 bytes envisage/tests/eggs/README.txt | 14 +--- envisage/tests/eggs/acme.bar-0.1a1-py3.10.egg | Bin 4178 -> 0 bytes envisage/tests/eggs/acme.bar-0.1a1-py3.5.egg | Bin 3566 -> 0 bytes envisage/tests/eggs/acme.bar-0.1a1-py3.6.egg | Bin 3561 -> 0 bytes envisage/tests/eggs/acme.bar-0.1a1-py3.7.egg | Bin 3566 -> 0 bytes envisage/tests/eggs/acme.bar-0.1a1-py3.8.egg | Bin 3802 -> 0 bytes envisage/tests/eggs/acme.bar-0.1a1-py3.9.egg | Bin 3766 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.10.egg | Bin 4182 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.5.egg | Bin 3567 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg | Bin 3563 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.7.egg | Bin 3567 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.8.egg | Bin 3803 -> 0 bytes envisage/tests/eggs/acme.baz-0.1a1-py3.9.egg | Bin 3771 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.10.egg | Bin 4044 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.5.egg | Bin 3433 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.6.egg | Bin 3428 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.7.egg | Bin 3432 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.8.egg | Bin 3668 -> 0 bytes envisage/tests/eggs/acme.foo-0.1a1-py3.9.egg | Bin 3632 -> 0 bytes envisage/tests/test_egg_based.py | 70 +++++++++++++++++- .../tests/test_egg_basket_plugin_manager.py | 41 ++++++++-- setup.py | 16 +++- 29 files changed, 119 insertions(+), 24 deletions(-) create mode 100644 envisage/tests/bad_eggs/README.txt delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.10.egg delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.5.egg delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.7.egg delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.8.egg delete mode 100644 envisage/tests/bad_eggs/acme.bad-0.1a1-py3.9.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.10.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.5.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.6.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.7.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.8.egg delete mode 100644 envisage/tests/eggs/acme.bar-0.1a1-py3.9.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.10.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.5.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.7.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.8.egg delete mode 100644 envisage/tests/eggs/acme.baz-0.1a1-py3.9.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.10.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.5.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.6.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.7.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.8.egg delete mode 100644 envisage/tests/eggs/acme.foo-0.1a1-py3.9.egg diff --git a/envisage/tests/bad_eggs/README.txt b/envisage/tests/bad_eggs/README.txt new file mode 100644 index 00000000..b467308e --- /dev/null +++ b/envisage/tests/bad_eggs/README.txt @@ -0,0 +1,2 @@ +This directory contains packages used by the test suite to create eggs +for testing purposes. diff --git a/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.10.egg b/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.10.egg deleted file mode 100644 index b2a957061d2fcd4895366bf56e837c7eb82f9dd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4235 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 diff --git a/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg b/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg deleted file mode 100644 index 131bfdad879eee862d15a41b35e280cb9cf55917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3598 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 Z%>2VC?}l9ps1cfYIoLE%b4eND*WddGA9?@) diff --git a/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.8.egg b/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.8.egg deleted file mode 100644 index e70d6746281d4e3739ab440d7caa012c89a68b8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3839 zcmcgudpwhU8{eFAZsnN5>MfyYr4UQcXf!MHjF`l18m(BPEvH#bY7Xh393mk-4?;aE z=RY=^l%NI4bWhAB7tBm+-aO`J$UOkvQV?5jcV6oil8&`VU*xZ;#OAW%Xk3yMg%;fG` z{aBrLz0hj4ao^*u)4!~nhS@K0|F5`5XNB(L;V_smsPFDO5cUwQunvZ-KoHJrAK4y^J zwo)ywgn;&9uQ-p^8eR68YQXayyR;^!nr?y8%(=V*Uvqe21o2YOHi-kC0|CG^!4d4I zF=>qbG=^so*@wrwTG#rz!+5T6=kd{#Mr&V;**#S=$q`Lzlmb_4G>f=A|V0(l((jMl; zk=m*bswLqCEzj}u3j|_b{+|i(<$|b`{i2w^UQ&c`0&J}flT$i?eZg|GRohmJsK;Cd zE{QZcsfms__8|y8Rb5KfXt}d)z^W}M$K(FprjLu&7YEjtWw{M1Se!Nckhb#9pbElp z{q{6vGN&F{;A%%);+s-!^ta>l$dX$HDM>uFx;G|<9ZIff^Gu_Q+eNn|^i(0;rB+=G z1`7ZRS6H{-Jq5faGkw_JbcV2?9Cn{>K_MzDQJbS|*bLhh_E0SX=g%@iY%Ho~NLyxD__Kpmt)TRX7F!npF z)b-HAQ{N(DMmcknQ9GC7S@KN7e+TR|d=9?G+f%G4L``SlJOYgkSwa!YUS&14p-lG)nR#oJf}UcOkus4Y@leHpS9(|b~+kh}5Ar@ua z(%n+zaz0~9dPco#gu_K^ZA~-iyWsmOG%(2lli%+Xhw2uyC+@@~cX@0gojk$8SJgQC zY}TMj))J@0Qtix}@rkiZ?jx@38I0T>elYdJMy69pC+uQ`EcN6*)2CLWTOC+|6P8c< zOBnmurRv79MR1oFH)rz~-v1od-+Kpz^BZ$_rW6ug@)4HVI|rOr`j(O`6FN7pAvQ~_ zjl62fY!6MYA{L|uO4Wz`8*G`o z&b2pd+q9d^0$b4K{L|y;ONNTe+Oit-X$I#yOyFYR9>(f46_a0}Tt6?hQTxyfu`v(T@55`Zi z05QS+?UA+B&3%ezecs$-=C-9z5odOf*+{D*bJd!{eBX|A#-_|33pmnWc0b1T;Vv(S zp#rHt#IBYnn%nK$&Y0;Fk1jXSdrvic(`K1-;ZZD+?VPjzBsoB@Tz~vf-=&cUF@s;l#Ms$gg*~z_x^oDU1JH^a926<;e;c zzP@Y7ZxR>^hlGbbyc!G#Nl+*QSceEj-?t|#JRB(K?+*M(0z#>v3Q$B<4W@$X zK`0GW-HB-QftB^$qaSNMC>d1WiOASsGO*f%Qb0wXh~g%gVu9p?a)7feRD0i^tnjyB zj&Irz4F8ez6Ty+d#DNMyFj_dBpqfmCt`(vG>#PQ|{z&bJSno=J6a`42LK&bcM8t3i z&?P_CBw&soZ66UwF(AypbNqu{1Z9TKbP;p8^iP<7I^pf{l2SsvBJi06ay~9A{P%CP CTXf+7 diff --git a/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.9.egg b/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.9.egg deleted file mode 100644 index adcb2a010bac988213c5e260dd176b58a369388c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3830 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 diff --git a/envisage/tests/eggs/README.txt b/envisage/tests/eggs/README.txt index 108ce05c..b467308e 100644 --- a/envisage/tests/eggs/README.txt +++ b/envisage/tests/eggs/README.txt @@ -1,12 +1,2 @@ -This directory contains eggs used by the test suite, along with the packages -that were used to generate those eggs. - -To generate eggs for a new version of Python: - -- Change to the acme.bar directory -- Run "python setup.py bdist_egg" using the desired version of Python. This - will create a new egg under the "dist/" directory. -- Copy that egg to this directory. - -Now repeat for acme.baz and acme.foo, as well as acme.bad in the bad_eggs -directory adjacent to this one. +This directory contains packages used by the test suite to create eggs +for testing purposes. diff --git a/envisage/tests/eggs/acme.bar-0.1a1-py3.10.egg b/envisage/tests/eggs/acme.bar-0.1a1-py3.10.egg deleted file mode 100644 index 51ea84036193c7603131752524f9b5cbcffff55d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4178 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 diff --git a/envisage/tests/eggs/acme.bar-0.1a1-py3.5.egg b/envisage/tests/eggs/acme.bar-0.1a1-py3.5.egg deleted file mode 100644 index 3d3f319c506f174db03ae21c74d7417eb484a08b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3566 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 diff --git a/envisage/tests/eggs/acme.bar-0.1a1-py3.7.egg b/envisage/tests/eggs/acme.bar-0.1a1-py3.7.egg deleted file mode 100644 index 2101d8949a4d8baa6d000723816f5e344dae3988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3566 zcmcgudpMMN8y*Hzj^lh7L^TdEB9#w)N*Q*{I;>OVFw7WC7~@z&tC^9ONfPNpvuY|Zx5lK{9|*8T%&6z z*DWvNY0tIh(DSI7`IPMh#IMmAw{jHRSFo>4kjLZztnp$nn6RcV>^$B+uQr5dZ5?wY&FqeWmt{pSFb#8k*6Q&yUUT-fsR6C z5m85GlgG`~r8r^Ier4wwEeJu@;gc$lk`{hMm)242%ylx(>clq0tgIkUs&5M%U=9=j z(*aiyN~V#ip=2tFPKcsVBjbgo42i>5X73DK3fl@~;epTuXOpQ3adZMLhC)sFlsV`D zW4-FBseCZlIO}zn#p#}XP&4RTK_kXduLOAzPqHwawGDhE*2gsyD;BJ#?z;_gRIS!d z1$p2IVXOlmMGc82$J0VcWCHLJ84^zZcp(1UPL~m938iFQCN=;9C0lzXSO$Pt3xp~d zDvlhRNQn~x^y1qejzVi@y|_7p0J0>3Py=Tt#Lx&)H1PYasKp>dW=w;dV(nrjZ5|i{M211#J zt(ov^ykASq7&=#Ju{Q7a%So#Rsihtj$${SSN0+6Wk(>MbFlh$x@B8kC)CNz}Wx{`w zJG7&!3B^f!ir3@#rq-w|PwAxJUT5)*V^898x$ngW_kiG|4>8;4$VoYhreR+cUV_%^mI`?sWOn zKY-6Kc~`7o zKcINLO9f-SMKlXp%{Ip&hoX_@9DR1m7ghKsW-o}GV53N-(kzOEZQl$Bq7rt z`&=z8fMo~pZx_n;3sZnCffkh*PN53*)a=* zFga-N6TAPatsMUCBJSLU=f~u4+FIJ~b2jFrNF*V%ncg?@w2Uqs$^kND5fsDn}luf-P8{rgf1`xZ`| z+5IYwCgxOXaryPeQ!Ve0Xhg>3^fx(flZ-PAs^xhZL{(t$dv(2Sb?V=(dF}*jShhXH zV`<}xUgC-2>U_hb4%3#ZZ*62Bja9)(lPL4KJ^^-!$&7mIc=&->_Vr80@R5kKV+}=w`C6uOTjMG^cLoyQ0XfVM}VX+Yysajc>Eb4 zC`&+4W?yRoNL(xb`}rO&)W^G2iZxHX!O@I2+4`uRX**_9rsA!-dyS;=#QKu3ZKjUd zFOa7FH#BW8J5+26e<{ylTGGT~{9+}2YGOG?*a7qIn)&{RA5td@wRPmymaik!-hDrY zoIa*)n!SX6E6|of;uzxXlzSV`tJ(5AX|2X|7e?ArKI3YC*@nQWa@=r?Yr|rSPO+;} zyq3>ma$#A+i_=!zviXa592*VEg_nM)j54%s=4O@{bugR}1;f8fj-GbDKKa4NS9+?x z#SX^oPD^5N{WF&Wq8xJ7Y=Sn16?F&Y&$V5@HoXB=kZQn&-DiJyGCxN5hdvi#QH6a2 z##_7d(#?#j)M$j3snJ#EG#8)o<$(i4iQM<}pMArvv($2WT>>^z{9bSZIW6i#H_u$f zCtB-{jl_ip9`DK@xT1d9u8QjPp;2q*ns>{2-KW}<8=41}>vB24xs}z*p*Agg%}t}n z``&LH@;99$GbH!?k>d8(jp?Z_XTJ_^h{>sa=yabeI-9&tRdizHPYEhqr&9+_B*|@<5@Wjzodjrwf(#iH0lIcY2o%6TuD*o97^^KC5ymf4 rAdJ7UdZ5VA87@Mu1}yFuc3|YMPIPy?B)~>!(B)xsK+gw-_8RtYf6e+v diff --git a/envisage/tests/eggs/acme.bar-0.1a1-py3.8.egg b/envisage/tests/eggs/acme.bar-0.1a1-py3.8.egg deleted file mode 100644 index 016f0cb528f39b38911f1eba967e3c46eabfc969..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3802 zcmcgvdpwhEAD`3Y5ECI%cv5;o6FQ8D8igE-iEK7=HZzkpr%@D1dZ-sss&$aVQ*x#` zjYy@YV#F9AIcGE8RVImi8MRY`*ollNpNOW)Ba7Hp&CE-%> zpVQ?_xofpfCB%lv1-gp(CK~v5apI*%Q}wH!8M&6=;Y*CfZL}{S9@iBxg`2Z2M5l}9 zyH|FPdp$BmB+H>ZdasU|?&^++>A3%%)-3zi=bJl(xA?t@Qhm5}BXen!-Mvfp>3&1~ zg)QEfRcB@+H)F-yf{&M`$vQ0ZzJw~Hn+AAoBLsu-WBTE}v;BUjooHu0>S1blT7yhH zQabT1ONy*z!!^)n80QA7XRQ1S!<%MdzyTX`am0P|1tbV#iAZCXpzFR9uJO!_MluMsP zD#3GnB;ATGGg`$zro^6B=sPr*tCe5pZ;DhqenBm?F=TNB>F~i#B7o;W05COh1l~k4 zk>pJz5op*Te^Ou=KNPkwY%$vG;DV1KfU*H>1sF{vQ7JSmImDkt{e~QMg2lh=uPx~s zZQ|~`6Q6UR+f_S?xk<)TNH;v4@TcQ-b0iw45oi~?B(xAtQ3+!N*@~rNCMyGM!MD}m ztw>(M#4xfKfrtgZ0=;~RUpKU|y|;JVT67tGPZHV#LM6?*fs+C#Bmi3urlJr-!~H1& zf&rV(o)^%V$xLLNIY77VA&)r(&^sWLi_#C1+nq*pze{iBGH3)yjZw*G%4SUOQTH6npJa- z4B4pXU}9<&cpSBa%GLV2E&IcH#h9y&>znd7Pc@DeBI%Lj%M~s9eJh4^UkFnyo z8lw`kWH)mY6KQCmhqEOfXlrXrYgF#aYp0&5P&eMr(k|OtSE{|O?2&!?yrOGVln==~ z#&J&+Pq!hXe=MizQvY0S({TT2eA8IJ`^ssYT@=qcQPU+aA2<51Jx=~UcF8eL);^(0 zo+LaaCN!b=V%+(QNu-1Xx7w_vm;icp3_l}Hd%3l?d5`I0XDYS^QD&U2!T6Z2=7G^#Qg1&jvx`}*=@}XDS1EiF!i9d()MOVtN9h+ zk}#YPY9>cw-_uOy>Z-6R59&9J?|ewh$F(=~&dMsw9&W8>9-LTedK&fqyhi=Ra)h3a z*?9$QRI7TiyPcC<@VPpJSNonMRF)Q>%ZyiQdAUXJvAny9@g;+7Gr=wKJzdpTJS!m# zgAstl<>&1WPXTYSot2FWgO)^ojU4z&pt9HqfvTcEc$UVwQ>`OQg`?}i`c zHnayz@AEB1ImX(1uF&;Pvy4Q%+;AiC@v@dc_D%C#+>@zYD|+=gJhV4ey0}&-=9$xU zQ6p2+=)L%(W4MrO57^UfoRupIYz?NKe9Dl?(0M_w{5&4FOM{*t5#5H<3Fy$RmNZj1 z(x7gv{bKkGZvXIU>=PYH&56j2VbmKtb=5!*PT}=jf7p9-I%{W3(QEa&tn~*>w(8~2 z3FoR_K3?rK9I4)3PVYBusSxX>k2qNzE6wvLQ`5R)v*o~yqyeXVK+flu%T+G*+`9;- z7h>W@KvL@X@9Uq*SbG|^m3vR#?|h*D7yGIfH?GFeEn?gCK9Q5csm4v11!)>3^vZzP zJB!-aubi?Ra3ibeV~ztOu$*JKTn2BZwBqi^^=+pe#3$v4Dvy7`zv!ZPL|?m$$YoJ+ zuRGx>pF%#lu$PNG9ya)tA)*s&;<0{k6qvu@F>R+AHd_rO%|pO+z{!Kf{x4fS z^gk{07+~<2_9g-H?%D$cH=x&^q zK9lME?mSF^eI`mHT`vOuTg3v^1h{j_By! zu8}>}`9Y zbXjyoWrX7FqqSF_CatM=(ElxUwBXv``-^PV9%lNcuaUgQZqGJ~A*!kbIc8i*G_t%w z{XpB>B_~r8Y2{5Xclq{SDG2#jPT+l{ITxg(K`|y z2k(h3KaU9Z-Ndn7-BVehgneM$9nS3N-}=G%+UDPj3On=ChG+7)j)HBiaaoy--w`kOMq??p#N)I2DAQ5 z$p~2MML}u-BtD@GP=z622mmz4&-DhFgC84o&xmWLk0}2xw+1MYcm@?oW<8K*o0PS15(a(_H*2?;o|N3+NsbuWqM}e z?e}F;)0;OX($56S_&N%CMWemirXnSWnW)MkjAMzLs2B!ffw&5LR-2bC*p$9c_{&>4ywp62aN2X1RcYkmG z1CK2D$JtZ*1js}G*wQ3v+^XzLsB3hRz^p9<0Dx1|_w4O$4%wMt?RBXqsKH6~Ya)@7 z(eGFiBWes~_n*y%D=*@Hi?(fXV9ZVHD%+HpoSI|3n>O#oGq%9{C7lFeDT0gPmHn<= zm5~+j*4A;{y3Pe3Y+v7G)j*%w)hf5caxWDs@pV7VqEgg+os7-g+Bf+@7;f;h(5q+{%2+SNT08rtrz=K2~ z1$dAG+-U?qa)9q~PAMaTz-slLqYIwfK$Qg;YkAeA0BR78KnWxVP`@gN?SRO!-kOrO z;l}BM_aZO%Ot;kxI~7sff&y|~?A($gbuNoHyoX^Otj}QuTon|ZFnm+7l=n!l0jJ=E zD(_SQM1Rt83elZJ0N;FxUZgJ*T3B{ijUEt|J-PoJ_6VPqBrDfd0<;hZL!Q?vh;%HN z9K)Bo;=wSn28>>!uzln5$mF$IYkF_BAR-dOgk0@R`31T%!SjXU`jn;Ah@Yf zXzoOJZxVsPP1Bu1qk0Dh=%9Ci8M_~4qM!}Na;BjPk-~O2|M-RIwn11z#>UnCo!7up zqpQAnwRq$6c<=Glvf?SR5Qi`wm9(`tXbdsItI3{;BdkBdO7_rRNP$ije_m@js=n^UfKOh^FANOIT!gxX8IlYZE8W4>=P5W8dl66Zsq)& z!g=byY>FE(h+FahZDW#6@VJd;OL>4G0LX$J%4yK=>47N{D1O0S6_Vf?nT?F&dwB+ z(mMA83OMK|{V)66S9_zETOC#3$ zk?i^lb$%TzG$4e)WzLu-Iqco2hx-|h+iBWEiaWy2ucWLPyX?rL_I8Nkl(Y&bo;q7T zW)|)3Z>Z^yhYq<9&BQ;NQ|b|hd{DoeoKx?BJ^VJ2!svdXtHAzFxnkNn#UNbN`1d#S3;;< z6v8J+>e}w{4bq70C%c6SXl#u6`Sf_z>)LEddq=ZqV9T>ZHr35<$^aL=!#>?8y)?gS zruZMN2F|Te^i*J;Mw?qkoBEXhYt?fxd+$0P@>NgHD~&W%dX&4@_P~65>wVO6vz570 zW_C!)+aTPZHoKtPCuG=5st=>$9i2~a=xo$>IjZ%OR(`dKjZk`(YWM`~jq`?;T?3P` zL}-xuUuw~fpDs*khO}>K#!zJ+n0_i2VqY~FS|m(_D(fjde0AmZiXgY8IoELKh36+K zz+QO_#unb5ArSuK0}aE5W_@{}i;#I6)abDqMa7{{->gBUVTezR^Y6v}=0b)`B)WQy zru9g#NdH;0LXx91w$avq(iu=(uurT}t44`zZ7*DWfT}p&vF$}Mc_?c>Eeh+1ak$=Z zeac7}VR`f!I$V`}FsD>ZgWT0;cU^VgEU+t01$H;yCLM#lg}osW%1k(z>gyFxt8wah zzAeH-6WK{WD2m-&a4p(??_vdO?(dd^Rhq{JG&&Xx<|S6Iz%LJFi~GP^P#e4rb^mPz zc%Gouhg$0S_PBne9DNhMY?Oia|5Fh;AgRef3lR}H7q-%=iqMo)Mftef>B?`Orec+tio*X=A1pT>UB8OM&|GYyW1+u@+VB1*ClnPXUcf=-7tT+ zvY)L(YP6JDZtybAq)mKH^_krS(hkO}q&}-7H%s#aJN5L2Ti<`4%+sb}){i&2d1NGX zT^tC4++>vp7%b8;ukd+H^W9}(K@a6amsYINb=ycYh&B&>i~>>43jsknA>=*DlwPi|Z*7OxdQ$MM_nQyJGr6TE@GXY^x6<2U2yGOihw*Nm6a z_$~P1jB8QCYq1K|_&s=6nL}ycMs~y`ug5oLjqC_j@Mz%&I9@g9Am*nk zuDXh={+~xOuPc8}oPPc`vLi}`c>sY2ELS=F04lf+_8?~b7%_M~essxjJz_wh{_gP~ lt{i@6{==K=d`|3Nod5MG$61Joa`bD!*C%kzbD^AH{{V8MU2p&Z diff --git a/envisage/tests/eggs/acme.baz-0.1a1-py3.10.egg b/envisage/tests/eggs/acme.baz-0.1a1-py3.10.egg deleted file mode 100644 index 077d8cfa1a96e7160eaa4c9174cc7155ad2e2a56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4182 zcmeHKX;hO}8V&&hAwbzT1w>H7DiQ>tpe#*Tf)E1;iZv!N?8E?xigv)DvS?5$DrKnx z1ypcpWs#kLAYy`|NLkWA4aibO5CbSMWxnVr;XC%s%$Yy)W9~U`lJDfa&%1o@eeQE{ zSV<{02m~Svp}8#L%>%kj(}1TMz?1<)ySrO>`e1xF;jkZnpjpjwEmlh3Of9Ovhp4jJ z^ZeD+w#cEKZpZLowP{5iE=_}a6;7SgAxDfKzH4R8V6M+^*7^mfV{Wa@JnQK+Ejer( zsI$fYly)~SwalsSEx*Omx|aY`uj42c;{kA|5`qM7o;*yX2y@Uu01$A%)WxAbT52xV1+ zjdpk7UF1lKHo&{-0!#@AMkGg5HW3Kn)Nne1U`dNdXZ%8Kah6Y>cRYnac-Rz}U##8v z@VGyNS-_j9Mvb(#Y5u5-A8hoI`y*uW?snd?T1c*a6#f|J`Ci10OPt=Zp4eGv@OcNu zo?!Oby*0-f?J8jsDN`i5ms-TU{SO}eaC@9XDs3rHl+W{d%46lnpqN@mt(I(rWmmF>8VD8T(zuVvO zyf1BT!|B5nc-Up^$cdBR$m{io59vpDy)vOhWx#fq%@-FZFwcEsvT!OrkG(HCbxtcL zNX4UFI^z4eo23hlo8CMRn!x+<+iRXCCZCyl9aL*IzH5AI*ZU!ghsAlFUP_8Dn&=%i zaG~vo{-TDw^c+Vo$LuVFsLm^tGm7(NIuDcU$@ zq)~i-Y{O`YhNjWRtAm16nK;34ptagB&>hmMP2T6dP;q!+Cf@oCRv4?A`Sy$%T|q%8 zzk^|B&J}ce3;nvgXH_%f{AQUYV-#rTuV&Zk+lZODSMWKR5$&?EhN>A#tEL$|U?K+l zFkmF&(Ur3QKV<*ikcqmivVAc1J+Ot}N`2&v&s_#OO`t_FLc^)RNZs^nK09Eg)G%gN zLW3AZAhW#8CW!_9uBD}3wDF!aW2;hfU6mxIsgZ1K&N~!15YU@tlz^J*tk0Gw*5|Mv z)|OxWyFm+S+w!}F&4llcSEkAEX83BhB`SW^k#0t)Q~Y_7?BP9bk7R$}oWH$Lr7eTW zXF{cd+cSl-ORwvl&bvw*d!1C)nts}fs=ySa9C1z^&xKSy(&tPXk3R7)fOGeo@=NH} z)0FZ(iTqpWC3P1a>2yc8w7tg*m7Fd{k8F*k`*xbA-M)j_X%q=X%B#0CqTrd8vwiuV zRzq`zNp)9pLp_H=6Re3qq^m1bkb=*H4#Z z*`-}D>%}t8eq9~gTeIqoX0Q`3w}=%N<_&4J{J7@tcB^^Ec0TbxI`P;!y?h&N=d(fE z$qf^{BrJc|(z(#KI3*3_oG4Ds8t7{)Afoyx6b)m~ZUn{znrOe|P z-lUw;KEj`Xmj@Z6Pp%r82n9a3cL#bAko)OH-?`S1rJRv zBY!<480u>)kLo3(UtZRzc-?kXcMO$O^8@He9@>#EtOvGYA7B=%x8(mIE1Cb>tdyxz zCS=-<0L;`2VkToSGl?|eZ!^J)NYwY1v zJ?AdBE`wNTxNPys^BVIZa&J7dZr`@4A#hV};V z$(Dq#>&m%PxqOn1j`iB9#6K74W?GA#mlYhz2V-`*BiZX=Ygw!@%mLczPA(U1v~`i~ ze0=r|xNyxsLHSuuSjUhQWpkL>N5fmctjMxuUyI;vi zYQ(gzVH>KlJdgiPfb7z>NuUy;HhDq_=s7Hn}TAwVe6iax(boHR~bFJsf(oL!iv|qgYWE}cB2Pd z*{XU&cFRy4RsyOfDLS~me31bD_^^tYqOZ^L{L{4p><-rRADtnPBBn?pe0CR8_h1BZ zi6_$2pH>m`C@{;P5x%6Z!BAjvy#iG&4h5FlU>LA)UV$-$ie>a=84U&lOXn3ZsyLXq zkOo75_45kE4RMH7Y8s3o-er-H{7B7w=Dh_=3 vtY9br*Cnwm{<8wVMCdEfYI1)8EtV>X-f>uIpeE6EP!aMTcxmqPqNjfV$Rj>c diff --git a/envisage/tests/eggs/acme.baz-0.1a1-py3.5.egg b/envisage/tests/eggs/acme.baz-0.1a1-py3.5.egg deleted file mode 100644 index c435cbc539316da5b606a9acee59882078d19b00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3567 zcmd5;dpOhW8~?I7O^M7QT8*44bGF{3P*D!6Ip(}J=8&1i!lYg%9fXt!kwYV?6t8k@ zZ$oD(A$g-@l@&#Dipu+4UA3=Wy58&e-|xAud*5q++@I%jKlkVP+z;L!21fz_APIPf zms)O6&$$o<{! zq{G~TN<*pin!e#RQ{ponNU`3|!M0MwEm{5UE=+TxU%^?_I=~4iv}@!X-S#x++MkqX&C+&$-5^t z?M!^U9Vrr^WY_0xY^I-+Unb zFONDjAT{Do^Rs-8&+?}&T(4>}xzsefuASMkc4_xYQelo~_2Ec8+mqh%Zr;a(YtVz- zFf`lp7;0K6KlF)0ak8;T7S_qTql6H4LdR!v2HEc8z*rVhs1rF-M&p$-+-D1Rb!X6X z7g!u>CkW~mZVta?-DKWNa7Y&Xl|aCVR?sGtWh08oSy1<4XFoKYI0*>Fh1qwc~eC0~+N6opCQX(?PeWyG<37gw%e8qgPJDi=_p-ekTR z^H9zTTbe-8G&@u84|{lH^Ln&}rdNpmCzaXV&XW6N_4;&7#a&ScMr-n9{oX4W)kouT z@jZu6S$MCK$3D$0UVW@APo^&%KD+`TenYXntx`2`BbpUwk50+g`)6`JwNM9nWBBv4IyzbhZ2thtvy@5Fm0MwBIBM0}b!MaN+hNaVJ4E(#IDUQ6iD%X10I5~5LMu)|2f8h;&HK>CLyzN{ zfeANdw8NA*%PBz>wOIau*r!Jywk6!uUXn{F>1E)RPP?*Y_B-dNjXya=Ol_^XSf;+N z`O$>(FkXXnMZ{)B)@JQxL%KN8T8_ftjb{d<8Zt!5y(4;(632UobD2-6hEe!Z@#Rky0ckS$Lrw-~_HopAIVNTOPC# zwanLvl)=R0N;Q6zwRYQf#8qUcqLRC*&{o&d-rSY}x8TQe=vGu>C^>>g^dl3%pAcdo z`TK_U4z0M?cJRe9wntpOg`kS=>N3+nh-NV4pip@GAH`dz+y`v{xq0$)Qf!>md+h2A zgq5MqX8mb>80(3I=N*Z;hmH#}Q;`N~OM#&Pr5{e-y(c(aP=BYroo>Hy z%QyzUUi{+i!H)CC;;)7~Z+CUtWbMrF^PV)04AWr2!C|&ES1nn^Pu-@!HXEOL&~epZ z^2nH;%J#}ld#BjLV-g)YHg8fw#dSpv+luVJ(es}4sFqoydjI}g{L+UryR17q-`Dka z+7RkUUdUI9wb>l`NwsvfL6d~!<{bN{GRn4g@p~TELv;}_I=mdZE zGAfhxt>p6!I(may{{bO`XTJFBlLW|I3=ICf{8a%xj7Ff4Bgqtg4c`SITs&0mb2=Xr zOv6MF1IXVME+UGA{r-^$?)ZJN;`txpCm-HkkUih)>qjmCu;Pma+5b70ps4e`Z3L)! zU|Z*V=|BFXKr!Zu!e%H8BW!H~7zz|-exnlx6E-&iSTz*v zr_~9k3!94|JyH@<64YvhA%q=908s^nfcT9tg76I&AVh+u_v>8e+;?FNXq)+0{pVuE bS3og-UVOa07}$OOc##1nK=pF@?h5=1{IvOs diff --git a/envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg b/envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg deleted file mode 100644 index 96e9ed1ad8b49eebdc989d17727f793aa13213d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3563 zcmd5;X;f2J7Y&3_3W5m%Q4}mmR0xAeT(uSu4JaWRgS04?kc2Q3VhF{6A|c3!3PMRi z1*A$73gQF~AT!Ej0Y?xlqL?UyfJ~vH0_}?~$m1gg%Ti?zci-`^O=}KSh zwm!(Nw(6sn8aDHjd`SgC??>>M0~Em2z$+lE)__;PIB_IN_(RHt2|Bkq5374#);EQA0D8) z1mB+w4EPasq2`%NSG^2}e^xI#HrUz9@@r7B!qxqup4p^MUQkM{wYOI)Py$g229p;! zUyA!q56TvTyCwGkHzKtbsOGDLkt!{zX_66Rm9ymLX>vxwuC;?nqcTgQoyA+Cr>aI| z>TRo?dy_-eER+(rE5+129j4#E8CSZjxp{!R{N9HkLVNpgS$DfLwT$kCe2Kbwx)$-) zRA@T5UXWCmN$k`ytix*zOg^SrW{>Ix{t;xXy2<{5|FjcDrRzmxhG;hLT@Ba7exoG* z`N9f>Y8~s~K;}RJFk^59zDzcg<;!F-c+`+UR&cny6sa<7Av#5y|9(AyA_B1#jApX9 z93GV&7Rcg$LP{vGxc;_^;ucArYqyj&|G=JvD4T)}dNv~X0mPBno>ah<( zMGDwxqyKWaGkVe#`|8X1bntvtN~27zu1*2%L{D@T4(9nO0P4AS;kdrCPFi7f)eYG1)Dm=UQ_bipB~5FkBDk)BmeSGP3CIM$28)K>d4A5$3CIQ?HBz2eh3b=mF+xH8 zJ2Bx-L48bSOG&9jY8$RKe%w_e4b#jMVfxHa;)XtSZyw6P4DAfQ&@LzgRdK2ac9 zDmx^?KaeGt5~VrlwzY1>pgHQ5Nnh^b)v_hq&i;I;uHjzW~%$EIPiPq9t4Mh2U(7j5BZXH&ho zO-IrZDq*K{dulaLXa3NC*DyUl7+vu{vpr>n;~~Flh;k!w$^97pD<{|0I=+s*q;Kcf z6K1F9SG4N(rmeVpdYke2f)Mn^oN{0Iy_&7xnK+=mf~_Wu{@(AdaY)y)XSJQ0hjILP z=^0(du>QL817s5aY2rzTeQOc;&J3}6%K0-oJsg#huVJ)V4-@kLxeP5FW(?%anHL4yGGNeGaQyX#iR)Y(kMZpy$fuWCfVm3+$rBS4mNU;zUb1eK`KGL6$cQ~P#e85!xmzJxpDUM zy?rh>tY@5%N(qS`yV6TiZWm%~NS$YUzF(_jaFtiLvHAvFJL4A*aV@?uV)n(iHp=z0 z75iAl%Q3{J*BHyRYZt=q=A3DKbT!Ms-LCRfe|r#p3(5MIAA{~+wvS|8o~i2{51};v zwjwy?t+q5~mP*)hW!s+a0UIx$#Zt*k!(jE#V>p9oLsK8@!8ZdAyH>1lUQ@_Ja-9ky zC;{R!$Aa8=66>93!OkqRm6$3DId7Y%T0;>kIuhY|fW4u{{z#ES9(vMnGx-h2GJiC_ zA3M=x+gRFMI@H1K$e6G({`RmEnW&_U zgn!xK0V4UhM11*U-XqP~Jt!P%sy=~XFcH5Q3UW?tQ1_ys!7GC@`n;Ecl0p58f{YI)1G^b01=PeSD5}8}3oH$k1Kee~ zo0(f8{(CUToVNkPq2p6-ZRVDUZvosaP@@Az%Wom5=TM*@DA51+ItH^sbCT<0|v=O-_iLtYznz$iFs)Ic2nV%$KPp?9}}xf-yv^Vxx!zj%|A ViK;+0azm~I`wQs#bGe;{{R0-A9e4l$ diff --git a/envisage/tests/eggs/acme.baz-0.1a1-py3.7.egg b/envisage/tests/eggs/acme.baz-0.1a1-py3.7.egg deleted file mode 100644 index 6bc22c6796a07defecb62c07631e5dfbcbdfac62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3567 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 V6Y;758@WN(fsFw@m&xrl>~E_20Vx0g diff --git a/envisage/tests/eggs/acme.baz-0.1a1-py3.8.egg b/envisage/tests/eggs/acme.baz-0.1a1-py3.8.egg deleted file mode 100644 index eefcae7918dde87cc278c9313be88cc1108cea4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3803 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 diff --git a/envisage/tests/eggs/acme.foo-0.1a1-py3.7.egg b/envisage/tests/eggs/acme.foo-0.1a1-py3.7.egg deleted file mode 100644 index a343d6d7e947691699c862d8b06f8cab9667398d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3432 zcmd5;dpwkB8y<%oMueCsWrRuP6ba>%7Fot&%tRI$OoJ)S3^SwnT5FKQ$f4}mD2IFw zvBWy8aaiRrUry7v4l8A&#-TFBifV_{_fCECdVlr%_RoFhch5WX$9+B5eLvUx+!qEd zA*lj`!DL`lc4$}KxW?pk;9n;YN5_fa{n#I|Uda8*8rNU;@yFRt zaR{EBEW?_|BQ>6yP+`sBD(H1dgx|8!*+J8_9bOi{oK&AxebqQc zpwzSN#BJ{zj!3=)fqUy~=ZGD*np2iW-!Z3b_!>!a(Gc#LQuj_O_veo;(Dux2Eg(x(^ zTag3K5NXr^0uc{)fB-ER+^%&(jUrJEXaPaQbuD5??Qt1y?ckgPHqih&tOz^<2xo{!csz+rqT}&~ z)X2)TBk(w5Mf*3F+!(pdH+DYc7#7R9?JJrn2y|}OfseJ81^-cHoi6?UIIq%OwZ+zo zm_5BQXQNf~&BQrb&HN|TTb5$la6Tq!o%;0yhuskpk%tyO6uLx&HqKgd$jE9ZKE-CZE`)>u*_2?2x70*ya46$p!cSU*@uR8v>mVTu$BLPo&&fm+B*JsIu4_HknNu}NCm+O}|laU5#U zU@Z3e;-7^>{I>&zlS6@rU8a3}=jXE62K`JT%)uf6Dnh!!Pl|6g5l-%7| zwq!H7V8RR%s2&^RS9kN=cJmzT2@;J;ll~wzKo3at_I@~^APQxz0(Bt3_$N(qJ>e{8S=`cl zA~u*!4U!znA6VF--VmPf$PA}qWnqY0kowl-sP2qs*qoMQ)@+m2okTeHQgaq+F$4aT zmR*2k*z7u&qW-53FaDc~F3cwP-t;8op`j!2io!Tvs#caBaVzn~$NMW4Q8AShEnP=;S>0Z3fy z-+eaLg*<4ZlBb^j!tv|fdk%RbuJ)uHtW@!k(TZoOL?~fvw<5IfQMT&eS2vBoB>Q{Z zy}jK+BKVQ`SPdUuac;uGoz)aj6ggL$zp^qy3!@tAaH7u(U(c30bQ#q&Sj-;h2ypr~ zI%4pO0^Q7u2cN6@b?cT+%8MzyJ1*WD)R4ER#nB1lShJ?*7<4PMX^V2!Z#(fvZ*8YI zk3KqcHZ=*ahC8`j6T0_MTVZmM9xuje)0N2w(sNlo1#^#&dckFooz^hsKwLyj;kM*u z-wOL2_QA#jK{@???AJY2xi7W1T!}`pU>z*?OYAC5haX%{UA=LnUEV{PS6X|eKH!Da zRt;m1;x^qM8DT5AUd)r<<>4z|ivRm~#yuBoNp=~<^{#7XZFe`Xmd3DF7jOfg`=<7@ zN6WX|u&$4Gc-N^ecg@47K+H#Tb|>oL+gq140+ewNWleGkih_xS15cwb%Wp?Co7|4Q z{>Lw+@4X^96z;Lwb0hHLEK(W!RH74G%JV{pcCmHEKw*Bo6SG^fTBG8LPQ=V`uG8|P zo6KA}foqAxE18sn-=Fwmlw|r{g2Mba{nUHOFS<`azn)pwQ@M-^9~s$CnVC&!C~k85 zm#Wc$pYa1{yze^DCs#IL&|=~$5??lGfLK1PBBto^$?&Y&HE252A$?4S!HSrz;B=5* zf+BziugIsYt|Dd>AmC2~KIdAXP*Bsd2E_qGK`jgv25LywV6??Sj6QEqpkPo-vIa&5 zgRL_tPz-R3MBZd|6*0@e7^_YNoDQ9XBBQdpikPE7I@Gp+vqe`4)Ih9dGl9$Hf7$={ zUIn8eVQxT?p%?HP h@>#&3eqskk{^E6vL2m%qz+m#grxxgWzO3lqe*rh$?aTlG diff --git a/envisage/tests/eggs/acme.foo-0.1a1-py3.8.egg b/envisage/tests/eggs/acme.foo-0.1a1-py3.8.egg deleted file mode 100644 index 83b35d8970cfe52784ea5235464f3a4c2701fd09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3668 zcmd5;c|4SB8y?0^mM|n+A}VC7Y)6#Inq`zdGfZQPF~+_$8M5!8bi$zsQ6#cvcTAxq zOOmDrB`Ql!jwQZ#>ce=y`hDlm^UUvl-+BMIujjg-=Uy%|BPatO1Oj1!2^&Qv#i z`4;o~Yl*=erq>)^@|kZLcf~Q^QpBksN)XoKDm#Vq=DR8648sUmk1oRp&+*a0ugjGb z(xncF++EkB6G>^Q(W>wJ{e$+JKKq6vGUOdq(tT=Y4|}W_>w^>Qw5jwuVE%RzAvnJn zqDT%VSK9Fg=4f0k@F%4fOR(rUt+fHPdKRAI;6r zlclN|T~Q!aY827azO(@ANSofH7D^6SQl65vyplLA?E#4~pd&Odr^`m6VlKGL7e=V% zEPjfcdO6}(KV7Qj*TE@6g5sOBB}ILtP7JQlUyiA|Qhr?_ewyd;?z7FdMF!#&D7vFb z-`HQYsXl&rWQ{nXO%aY^CxE!8F%2m}0nPw*hzKqBa~K>3dk%v|2O&M&u;+cKL5$Hu zwnwgYEBg->z{?1*U9{d9tS>$YiSu&9`u^~wARytB{S6h}l=g+w55u$i7P=cK*5x=S zJodJOEuk@7E{nBwjvH=?U0R|;!33-igSJ}lF7x9AwxF6A?N(SvPmB-F5sg6tkMoW$ znC}}J89zBSVaTvE*llUa9t0ImzW;?8fM5g+MhoTZg+qE^{4pNXV80`P1ExK$ZHXG} zhLiJgbjEBuB0C)g)4|5Jnm}L^Vc>+hfwv>t6LScObi=y&B9ZdApgT!AY!M3F@I|$b zFm~P|iP0MQ0(Miy{IOgo<5o$w*Nw$4vt?Sz%s>>956;DT5$@piSKTaJ>=W4d4w=XB3@`n4+Y`|mNSa?{)A68UT-(W0_l zs4U5~|JbqZ7a2TJ?eqX(*9Vx)7E4?Z+7a!FK_a&pqj5pLu3lIi zJH-dK`jhZ*l5<=AIl?_er5=6vjw!XorodXNkKLIa@{d z2|*S1R16X9e*?V#QiO| zYxXu(+VJW2Ey~pTy~@@;GFbD*#$4k$WGZ4IG&;dmK1rk9dW9nh?_Ds!IDfq1;}qhW8ERBC zc-(wo6p|H<$_`uoQd!-$yq}b6#yrhCQWLZ8^u8N!f1$9AJG;>r^|6a7;hWbt%Q1fF z@GIqS=}=jMY+3sGIf3mZPTq}Dtpk!~5HMNVP_9#W5dRr7Z`e3G;E-pffnV#58a2)})zf;n+Q_v~ zJT%R1f6QTRHLLE@>b{WpF+zO3I-G7NZ*DW*wmj3^PNUXhHq&CB2w`3nptHKCA?@E% zF9}_56f0yv-4=^%u3!mw{p<8kVcsgF$u4&UOnd@YGC+9J)jil%kcq zYJkeuBZW;-o%EWsa~#^@TCVgAWr|Uh^aB09KBdmunXb zKcI!qYOyKjm?Xe6n;*BB)X8KrU%YtlJ!LkJ{j3R7_DOv;Q#L8g^VEvoa+2q0#=LXt z`1PbiQj>h_SBUqxy8pJkl#!Fs*2&~A&(UZ$-~W60QJvbZ+T2#&8=s7saz2dh3K&>D zZz-kBFNJXyUMaS?E?H9Y6-rK87P!e%HuQkZFjAQn;5M|xZe~PB&jV>rL$2Po+f#bD}2W#>yvNV4xZGG}7^Z5J2)^3qcwX z3_lkOv>4Rbz*Axi;~XHFH!=Rf%m5>Ud+!#qE6XpCf7yx6j2M}y{yTu*ec;UF*{EOt E0R&oGp8x;= diff --git a/envisage/tests/eggs/acme.foo-0.1a1-py3.9.egg b/envisage/tests/eggs/acme.foo-0.1a1-py3.9.egg deleted file mode 100644 index 1c5bbd424ba634db894b1d8db7c837027c0e1e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 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 diff --git a/envisage/tests/test_egg_based.py b/envisage/tests/test_egg_based.py index 26e6bfd1..74f48ca5 100644 --- a/envisage/tests/test_egg_based.py +++ b/envisage/tests/test_egg_based.py @@ -10,20 +10,82 @@ """ Base class for Egg-based test cases. """ -from os.path import dirname, join +from os.path import join +import shutil +import subprocess +import sys +import tempfile import unittest import pkg_resources +def build_egg(egg_dir, dist_dir): + """Helper function to build an egg. + + Parameters + ---------- + egg_dir : str + Directory containing the Python package to be built. Should + contain a "setup.py" file that can be used with + "python setup.py bdist_egg" to build the package. + dist_dir : str + Directory to place the built egg in. The directory should + already exist. + """ + subprocess.run( + [ + "python", + "setup.py", + "bdist_egg", + "--dist-dir", + dist_dir, + ], + cwd=egg_dir, + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + + class EggBasedTestCase(unittest.TestCase): """ Base class for Egg-based test cases. """ + @classmethod + def setUpClass(cls): + """ + Create eggs for testing purposes. + """ + cls.egg_dir = tempfile.mkdtemp() + eggs_root_dir = pkg_resources.resource_filename( + "envisage.tests", "eggs") + for egg_name in ["acme.bar", "acme.baz", "acme.foo"]: + build_egg( + egg_dir=join(eggs_root_dir, egg_name), + dist_dir=cls.egg_dir, + ) + + @classmethod + def tearDownClass(cls): + """ + Delete created eggs. + """ + shutil.rmtree(cls.egg_dir) + def setUp(self): """ Prepares the test fixture before each test method is called. """ - # The location of the 'eggs' directory. - self.egg_dir = join(dirname(__file__), "eggs") + # Some tests cause sys.path to be modified. Capture the original + # contents so that we can restore sys.path later. + self._original_sys_path_contents = sys.path[:] + + def tearDown(self): + """ Called immediately after each test method has been called. """ + + # Undo any sys.path modifications + sys.path[:] = self._original_sys_path_contents + + pkg_resources.working_set = pkg_resources.WorkingSet() def _add_egg(self, filename, working_set=None): """ Create and add a distribution from the specified '.egg'. """ @@ -32,7 +94,7 @@ def _add_egg(self, filename, working_set=None): working_set = pkg_resources.working_set # The eggs must be in our egg directory! - filename = join(dirname(__file__), "eggs", filename) + filename = join(self.egg_dir, filename) # Create a distribution for the egg. distributions = pkg_resources.find_distributions(filename) diff --git a/envisage/tests/test_egg_basket_plugin_manager.py b/envisage/tests/test_egg_basket_plugin_manager.py index eba62b10..60648074 100644 --- a/envisage/tests/test_egg_basket_plugin_manager.py +++ b/envisage/tests/test_egg_basket_plugin_manager.py @@ -10,15 +10,16 @@ """ Tests for the 'Egg Basket' plugin manager. """ import glob -from os.path import basename, dirname, join +from os.path import basename, join import shutil -import tempfile import sys +import tempfile import unittest import pkg_resources from envisage.egg_basket_plugin_manager import EggBasketPluginManager +from envisage.tests.test_egg_based import build_egg class EggBasketPluginManagerTestCase(unittest.TestCase): @@ -26,6 +27,38 @@ class EggBasketPluginManagerTestCase(unittest.TestCase): #### 'unittest.TestCase' protocol ######################################### + @classmethod + def setUpClass(cls): + """ + Create eggs for testing purposes. + """ + cls.eggs_dir = tempfile.mkdtemp() + cls.bad_eggs_dir = tempfile.mkdtemp() + + eggs_root_dir = pkg_resources.resource_filename( + "envisage.tests", "eggs") + for egg_name in ["acme.bar", "acme.baz", "acme.foo"]: + build_egg( + egg_dir=join(eggs_root_dir, egg_name), + dist_dir=cls.eggs_dir, + ) + + bad_eggs_root_dir = pkg_resources.resource_filename( + "envisage.tests", "bad_eggs") + for egg_name in ["acme.bad"]: + build_egg( + egg_dir=join(bad_eggs_root_dir, egg_name), + dist_dir=cls.bad_eggs_dir, + ) + + @classmethod + def tearDownClass(cls): + """ + Delete created eggs. + """ + shutil.rmtree(cls.bad_eggs_dir) + shutil.rmtree(cls.eggs_dir) + def setUp(self): """ Prepares the test fixture before each test method is called. """ @@ -33,10 +66,6 @@ def setUp(self): # contents so that we can restore sys.path later. self._original_sys_path_contents = sys.path[:] - # The location of the 'eggs' test data directory. - self.eggs_dir = join(dirname(__file__), "eggs") - self.bad_eggs_dir = join(dirname(__file__), "bad_eggs") - def tearDown(self): """ Called immediately after each test method has been called. """ diff --git a/setup.py b/setup.py index 10370e02..9ff7ad2c 100644 --- a/setup.py +++ b/setup.py @@ -330,8 +330,20 @@ def get_long_description(): "demo/*/*/*/*/*/*", ], "envisage.tests": [ - "bad_eggs/*.egg", - "eggs/*.egg", + "bad_eggs/README.txt", + "bad_eggs/acme.bad/setup.py", + "bad_eggs/acme.bad/acme/*.py", + "bad_eggs/acme.bad/acme/bad/*.py", + "eggs/README.txt", + "eggs/acme.bar/setup.py", + "eggs/acme.bar/acme/*.py", + "eggs/acme.bar/acme/bar/*.py", + "eggs/acme.baz/setup.py", + "eggs/acme.baz/acme/*.py", + "eggs/acme.baz/acme/baz/*.py", + "eggs/acme.foo/setup.py", + "eggs/acme.foo/acme/*.py", + "eggs/acme.foo/acme/foo/*.py", "plugins/pear/*.py", "plugins/banana/*.py", "plugins/orange/*.py",