\Tc@s^ddlmZmZddlTddlmZmZddlmZm Z ddl Z ddlZddl Z ddl Z ddl Z yeWn!ek rddlmZnXedZdefd YZd efd YZd efd YZdefdYZdefdYZdefdYZdefdYZdS(i(tTestCaset makeSuite(t*(tget_script_headertis_sh(tStringIOt iteritemsN(t ImmutableSetcCs\yt|}Wn tk r2tj|}nX| sLt|tkrP|S|t dS(s copied from Python2.7s [truncated]...(treprt Exceptiontobjectt__repr__tlent _MAX_LENGTH(tobjtshorttresult((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt safe_repr s tMetadatacBs2eZdZdZdZdZdZRS(sAMock object to return metadata as if from an on-disk distributioncGst||_dS(N(tdicttmetadata(tselftpairs((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt__init__scCs ||jkS(N(R(Rtname((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt has_metadatascCs |j|S(N(R(RR((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt get_metadatascCst|j|S(N(t yield_linesR(RR((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pytget_metadata_lines"s(t__name__t __module__t__doc__RRRR(((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRs    t DistroTestscBseeZdZdZdZdZdZdZd dZdZ dZ d Z RS( cCstgdddd}|jt|g|j|dg|jtjd|jtjd|jtjd|j|d|jt|dg|jg|dD]}|j^qdd d g|j |dd |jg|dD]}|j^qdd g|jtjd |jg|dD]}|j^qMd dd gt g}tjd}tjd}t d\}|j|j ||jd |j||j|j ||jdt g}|j||j||j t|j ||t g}|j||j||j||j|j ||jddS(NtplatformtpythontFooPkgsFooPkg-1.3_1.eggsFooPkg-1.4-py2.4-win32.eggsFooPkg-1.2-py2.4.eggtfoopkgs1.4s1.3-1s1.2isFooPkg-1.9.eggs1.9s FooPkg>=1.3(t EnvironmenttNonet assertEqualtlisttaddt Distributiont from_filenamet assertTruetversiontremovet WorkingSettparse_requirementst best_matcht assertRaisestVersionConflict(Rtadtdisttwstfoo12tfoo14treq((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestCollection's@-*-    cCs||j|jd|j|jd|j|jd|j|jd|j|jd|j|jtddS(NR#R$s1.3-1s2.4twin32(R't project_nametkeyR-t py_versionR!tparsed_versiont parse_version(Rtd((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt checkFooPkgVs c Csntddddddddd }|j|td}|j|jtjd |j|jddS( Ns /some/pathR<R#R-s1.3-1R>s2.4R!R;i(R*RBR'R>tsysR-R!R&(RRA((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestDistroBasics^s  cCs<tjd}|j|tjd}|j|dS(NsFooPkg-1.3_1-py2.4-win32.eggs!FooPkg-1.3_1-py2.4-win32.egg-info(R*R+RB(RRA((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestDistroParseis c Cs;tddddddddtd }|j|dS( Ns /some/pathR<R#R>s2.4R!R;RsPKG-INFOs%Metadata-Version: 1.0 Version: 1.3-1 (sPKG-INFOs%Metadata-Version: 1.0 Version: 1.3-1 (R*RRB(RRA((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestDistroMetadataos  cCstddtd|fS(Ns/fooRs depends.txt(R*R(Rttxt((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt distRequiresyscCs/|jt|j|tt|dS(N(R'R(trequiresR0(RR5RGtextras((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt checkRequires|scCs.x'dD]}|j|j||qWdS(Ns Twisted>=1.5sTwisted>=1.5 ZConfig>=2.0(s Twisted>=1.5sTwisted>=1.5 ZConfig>=2.0(RKRH(Rtv((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestDistroDependsSimples cCstg}tg}|jt|jg|g|jt|jtd|tj ddt d }|j ||j tj dx[t dD]M}t|jtd|}|j||gtt |j |qW|jt|jtd|tg}|jt|jtd |tj d dt d }|j ||jt|jtd |||g|jt|jtd |dS(NtFoos/foo_dir/Foo-1.2.eggRs depends.txts[bar] Baz>=2.0s Foo-0.9.eggisFoo==0.9sFoo[bar]s/foo_dir/Baz-2.1.eggsFoo==1.2 Foo!=1.2(s depends.txts[bar] Baz>=2.0(s depends.txtsFoo(R%R/R'R(tresolveR2tDistributionNotFoundR0R*R+RR)trangetmapR3(RR4R6RNtittargetstBaz((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testResolves4 "   ( cCs|jd}|j|d|j|djdg|j|djdg|j|djddg|j|djddg|jt|jd gdS( Ns Twisted>=1.5 [docgen] ZConfig>=2.0 docutils>=0.3 [fastcgi] fcgiapp>=0.1s Twisted>=1.5s'Twisted>=1.5 ZConfig>=2.0 docutils>=0.3tdocgensTwisted>=1.5 fcgiapp>=0.1tfastcgis4Twisted>=1.5 ZConfig>=2.0 docutils>=0.3 fcgiapp>=0.1s4Twisted>=1.5 fcgiapp>=0.1 ZConfig>=2.0 docutils>=0.3tfoo(RHRKtsplitR2t UnknownExtraRI(RRA((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestDistroDependsOptionss     (( RRR:RBRDRERFRHRKRMRVR\(((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyR %s /      )tEntryPointTestsc BseZdZdZdZdZdZdZede dddgd e d d d gd d gde ddddgZ dZ dZ dZ RS(cCs|j|jd|j|jd|j|jd|j|jd|j|jtk|jt|ddS(NRYssetuptools.tests.test_resourcesR]txs9foo = setuptools.tests.test_resources:EntryPointTests [x](sEntryPointTests(R^( R'Rt module_nametattrsRJR,tloadR]tstr(Rtep((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt assertfieldss cCs"tjddtd|_dS(NsFooPkg-1.2-py2.4.eggRs requires.txts[x](s requires.txts[x](R*R+RR5(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pytsetUpscCs2tdddgdg|j}|j|dS(NRYssetuptools.tests.test_resourcesR]R^(t EntryPointR5Rd(RRc((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testBasicss cCsd}tj||j}|j|tjd}|j|jd|j|jd|j|jd |j|jd tjd}|j|jd|j|jd|j|jd |j|jd dS(Ns9foo = setuptools.tests.test_resources:EntryPointTests [x]sbar baz= spammity[PING]sbar baztspammitytpings fizzly = wocka:footfizzlytwockaRY((Ri(sfoo(( RftparseR5RdR'RR_R`RJ(RtsRc((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testParses cCs[xTddddddgD]:}ytj|Wntk rCqXtd|qWdS(NRYsx=1=2sx=a:b:csq=x/nasfez=pish:tush-zsx=f[a]>2sShould've been bad(RfRlt ValueErrortAssertionError(RRc((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testRejectss cCsh|jt|t|jxBt|jD]1\}}|jt|j|t|q/WdS(N(R'R t submap_expectRRtget(RtmR=Rc((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt checkSubMapstfeature1t somemodulet somefunctiontfeature2sanother.modulet SomeClasstextra1textra2tfeature3s this.moduleRJt somethings # define features for blah blah feature1 = somemodule:somefunction feature2 = another.module:SomeClass [extra1,extra2] feature3 = this.module [something] cCsX|jtjd|j|jttjdd|jttjdddgdS(Ntxyzsx asfoo=barR^sfoo=baz(RuRft parse_groupt submap_strR2Ro(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testParseList scCstji|jd6}|j|d|jt|jdgtjd|j}|j|d|jt|jdg|jttjddg|jttj|jdS(NRs[xyz] s[xyz]( Rft parse_mapRRuR'R(tkeysR2Ro(RRt((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testParseMaps(RRRdReRgRnRqRuRRfRrRRR(((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyR]s      tRequirementsTestscBsGeZdZdZdZdZdZdZdZRS(cCstjd}|jt|d|jt|d|j|tdd gd |j|tdd gd|j|tddgd|j|tddgd|j|tddgd|j|tjd dS(Ns Twisted>=1.2s!Requirement.parse('Twisted>=1.2')tTwisteds>=s1.2ttwisTeds2.0tZopes3.0sTwisted[extras]>=1.2(s>=s1.2((s>=s1.2((s>=s2.0((s>=s1.2((s>=s3.0((t RequirementRlR'RbRtassertNotEqual(Rtr((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRgscCsvtdddgd }tdd d gd }|j|||jt|t||jt|ddS( NRs==s1.2c1s>=s1.2sTwisted==1.2c1,>=1.2(s==s1.2c1(s>=s1.2((s>=s1.2(s==s1.2c1((RR'Rb(Rtr1tr2((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testOrdering)s cCstddgd }tjd}tjd}tjd}|jtd|k|jtd|k|jd|k|jd|k|j||k|j||k|j||kdS( NRs>=s1.2sFooPkg-1.3_1.eggsTwisted-1.1.eggsTwisted-1.2.eggs1.1(s>=s1.2((RR*R+R,R@(RRtfoo_distttwist11ttwist12((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestBasicContains0sc Csmtd\}x*dD]"}|j||k||fqWx*dD]"}|j||k||fqCWdS(Ns*Foo>=1.2,<=1.3,==1.9,>2.0,!=2.5,<3.0,==4.5s1.2s1.2.2s1.3s1.9s2.0.1s2.3s2.6s3.0c1s4.5s1.2c1s1.3.1s1.5s1.9.1s2.0s2.5s3.0s4.0( s1.2s1.2.2s1.3s1.9s2.0.1s2.3s2.6s3.0c1s4.5(s1.2c1s1.3.1s1.5s1.9.1s2.0s2.5s3.0s4.0(R0R,(RRRL((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestAdvancedContains=s    cCstjd}tjd}tjd}|j|||j|||j|jd |j|jd |jt|t||jt|tddtdfftddgfdS( NsTwisted[foo,bar]>=1.2sTwisted[bar,FOO]>=1.2sTwisted[BAR,FOO]>=1.2.0RYtbarttwisteds>=s1.2(sfooR(Rsfoo(RRlR'RJthashR@t frozenset(RRRtr3((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestOptionsAndHashingEs!cCstjd}tjd}tj}|j|d|k|j|d|k|j|d|k|j|d|k|j|d|k|j|d|k|j|d|kdS(Ns foo==0.3a2s foo!=0.3a4s foo-0.3a4.eggs foo-0.3a1.eggs foo-0.3a2.eggs foo-0.3a3.eggs foo-0.3a5.egg(RRlR*R+R,(RRRRA((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestVersionEqualitySs cCst|jtjdjd|jtjdjd|jtjdjd|jtjdjddS(sQ The setuptools project should implement the setuptools package. t setuptoolsssetuptools == 0.7ssetuptools == 0.7a1ssetuptools >= 0.7N(R'RRlR<(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestSetuptoolsProjectNameas( RRRgRRRRRR(((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRs    t ParseTestscBsPeZdZdZdZdZdZdZdZdZ RS(cCs |jttdgdS(Nt(R'R(R0(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestEmptyParse|scCsxxggfddgfgggfdddgfddgddgfgD]+\}}|jttj||qLWdS(NR^s x ytysx (R'R(t pkg_resourcesR(Rtinptout((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testYieldings0%cCs{|jttjdddgfdddgfddgfdgfd d gfg|jtttjd dS( Ns x [Y] z a [b ] # foo c [ d] [q] v R^tYtztatbtcRAtqRLs[foo(R'R(Rtsplit_sectionsR&R2Ro(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testSplittings  CcCsr|jtdd|jtdd|jtdd|jtdd|jtdddS( Ns adns-pythons WSGI Utilss WSGI-Utilss WSGI Utilss Money$$$Makers Money-Makerspeak.webspeak-web(R't safe_nameR(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyt testSafeNames cCsr|jtdd|jtdd|jtdd|jtdd|jtdddS( Ns1.2-1s 1.2 alphas 1.2.alphas2.3.4 20050521s2.3.4.20050521s Money$$$Makers Money-Makerspeak.web(R't safe_version(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestSafeVersions cCs|jttdtddgdg|jttdtdddgdg|jtjd td dgd|jttjd|jttjd|jttjd|jttjd|jttjddS(NsTwis-Ted>=1.2-1sTwis-Teds>=s1.2-1sTwisted >=1.2, \ # more <2.0Rs1.2t=2.3sx\sx==2 qs X==1 Y==2t#(s>=s1.2-1((s>=s1.2(Rs2.0((s==s1.99a3((R'R(R0RRlR2Ro(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestSimpleRequirementss csfd}|dd|dd|dd|dd|d d |d d |d d|d d|dd|dddS(Ncs<t|t|}}j||||||fdS(N(R@R'(ts1ts2tp1tp2(R(sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRss1.2-rc1s1.2rc1s0.4s0.4.0s0.4.0.0s0.4.0-0s0.4-0t0pl1s0.0pl1t0pre1s0.0c1s 0.0.0preview1t0c1s0-rc1s1.2a1s1.2.a.1s1.2...as1.2a((RR((RsL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRs         csLfd}|dd|dd|dd|dd|dd |dd|dd |d d|d d |dd|dd|dd|dd|dd|dd|dd|dd|dddj}x@t|D]2\}}x#||d D]}|||q-WqWdS(!Ncs?t|t|}}j||k||||fdS(N(R@R,(RRRR(R(sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRss2.1s2.1.1t2a1t2b0s2.3a1s2.3s2.1-1s2.1-2s2.1pl4s2.1a0-20040501s1.1s02.1tA56tB27s3.2s3.2.pl0s3.2-1s3.2pl1s3.2pl1-1s0.4s4.0s0.0.4s0.4.0Rs0.4pl1s 2.1.0-rc1s2.1.0s2.1devs2.1a0s 0.80.1-3 0.80.1-2 0.80.1-1 0.79.9999+0.80.0pre4-1 0.79.9999+0.80.0pre2-3 0.79.9999+0.80.0pre2-2 0.77.2-1 0.77.1-1 0.77.0-1 i(RZt enumerate(RRttorturetptv1tv2((RsL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttestVersionOrderings.                   ( RRRRRRRRRR(((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyRzs       tScriptHeaderTestscBs eZdZdZdZRS(s/Users/José/bin/pythoncCstjjd s#ttj r|jtddtjj tj|jtddtjj tj|jtdd|j d|j ndS( Ntjavas#!/usr/local/bin/pythons#!%s s#!/usr/bin/python -xs #!%s -x s#!/usr/bin/pythont executables#!%s -x ( RCR!t startswithRRR'Rtostpathtnormpatht non_ascii_exe(R((sL/opt/freeware/lib/python2.7/site-packages/setuptools/tests/test_resources.pyttest_get_script_headers# cCstjdkr+tjjddkr+dSdddY}|tjds  <  R^{: