ó k޹Sc@sßdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z ddl mZddlmZmZmZmZddlmZmZddlmZddlmZdd lmZid d 6d d 6d gd6idgd 6d6ZdeZerQdjdƒZ ndZ e j!d„ƒZ"dd„Z#d„Z$d„Z%dej&fd„ƒYZ'de j(fd„ƒYZ)de j(fd„ƒYZ*d „Z+dS(!s sdist testsiÿÿÿÿN(t environmentttest_svn(tskipIf(tStringIOtunicodetPY3tPY2(tsdistt walk_revctrl(tmanifest_maker(t Distribution(t svn_utilst sdist_testtnames0.0tversiontpackagess*.txtt package_datas*from setuptools import setup setup(**%r) s smörbröd.pyslatin-1s smörbröd.pyccsPtjtj}}tƒtƒt_t_z dVWd||t_t_XdS(N(tsyststdouttstderrR(t old_stdoutt old_stderr((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pytquiet,s  sutf-8cCstr|j|ƒS|S(N(Rtencode(tstencoding((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pytb7s cCsOtr8t|tƒ r8|jtjjdƒtdƒƒS|jtjdƒSdS(Ntasciit/(Rt isinstancetstrtreplacetostsepRR(tpath((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pytposix>s"cCskt|tƒrtjd|ƒSy4|jdƒ}tjd|ƒ}|jdƒ}Wntk rfnX|S(NtNFDsutf-8(RRt unicodedatat normalizetdecodeRt UnicodeError(R"((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt decomposeFs t TestSdistTestcBs•eZd„Zd„Zd„Zd„ZerEd„Zd„Znd„Z er`d„Z ne eoxe j ƒdkd ƒd „ƒZd „ZRS( cCsÎtjƒ|_ttjj|jdƒdƒ}|jtƒ|j ƒtjj|jdƒ}tj |ƒx<ddddgD](}ttjj||ƒdƒj ƒqWtj ƒ|_ tj |jƒdS(Nssetup.pytwR s __init__.pysa.txtsb.txtsc.rst(ttempfiletmkdtempttemp_dirtopenR R"tjointwritetSETUP_PYtclosetmkdirtgetcwdtold_cwdtchdir(tselftfttest_pkgtfname((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pytsetUpTs!   &cCs$tj|jƒtj|jƒdS(N(R R7R6tshutiltrmtreeR.(R8((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyttearDownescCs»ttƒ}d|_t|ƒ}|jƒtƒ|jƒWdQX|jj}|j t j j ddƒ|kƒ|j t j j ddƒ|kƒ|j t j j ddƒ|kƒdS(s²Regression test for pull request #4: ensures that files listed in package_data are included in the manifest even if they're not added to version control. ssetup.pyNR sa.txtsb.txtsc.rst( R t SETUP_ATTRSt script_nameRtensure_finalizedRtruntfilelisttfilest assertTrueR R"R0(R8tdisttcmdtmanifest((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyttest_package_data_in_sdistis      ""c CsOttƒ}d|_t|ƒ}tjjddƒ|_tjdƒtjjddƒ}t |dƒj ƒt ƒ)|j ƒ|j j|ƒ|jƒWdQXt |jdƒ}|jƒ}|j ƒy|jdƒ}Wn.tk r tjƒd }|j|ƒnXtr2tjƒ}|j|ƒ}n|jt|ƒ|kƒdS( Nssetup.pyssdist_test.egg-infos SOURCES.txtR s smörbröd.pyR+trbUsUTF-8i(R R@RAR R R"R0RIR4R/R3RRCRDtappendtwrite_manifesttreadR'tUnicodeDecodeErrorRtexc_infotfailRtgetfilesystemencodingRFR#( R8RGtmmtfilenameRItcontentst u_contentstetfs_enc((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt+test_manifest_is_written_with_utf8_encoding|s.          cCs`ttƒ}d|_t|ƒ}tjjddƒ|_tjdƒtjjt dƒt dƒƒ}t |dƒj ƒt ƒ;|j ƒ|jdƒ}|jjj|ƒ|jƒWdQXt |jdƒ}|jƒ}|j ƒy|jd ƒWn.tk r)tjƒd }|j|ƒnX|jt|ƒ|kƒ|j||jjkƒdS( Nssetup.pyssdist_test.egg-infos SOURCES.txtR s smörbröd.pyR+sutf-8RKsUTF-8i(R R@RAR R R"R0RIR4RR/R3RRCR'RDRERLRMRNRORRPRQRFR#(R8RGRSRTt u_filenameRIRURW((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt)test_write_manifest_allows_utf8_filenames¥s,    !     cCsGttƒ}d|_t|ƒ}tjjddƒ|_tjdƒtjjt dƒt ƒ}t ƒ;|j ƒ|j ddƒ}|jj|ƒ|jƒWdQXt|jdƒ}|jƒ}|jƒy|j d ƒWn.tk rtjƒd }|j|ƒnX|jt|ƒ|kƒ|j||jjkƒdS( s( Files that cannot be encoded to UTF-8 (specifically, those that weren't originally successfully decoded and have surrogate escapes) should be omitted from the manifest. See https://bitbucket.org/tarek/distribute/issue/303 for history. ssetup.pyssdist_test.egg-infos SOURCES.txtR sutf-8tsurrogateescapeNRKsUTF-8i(R R@RAR R R"R0RIR4RtLATIN1_FILENAMERRCR'RDRLRMR/RNR3RORRPRQt assertFalseR#RE(R8RGRSRTRZRIRURW((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt,test_write_manifest_skips_non_utf8_filenamesÌs*         cCsttƒ}d|_t|ƒ}|jƒtƒ|jƒWdQXtjj t dƒt dƒƒ}tjj ddƒ|_ t |j dƒ}|j t dƒ|ƒ|jƒt |dƒjƒg|j_tƒ|jƒWdQXtr|jd ƒ}n|j||jjkƒdS( Nssetup.pyR s smörbröd.pyssdist_test.egg-infos SOURCES.txttabs R+sutf-8(R R@RARRBRRCR R"R0RRIR/R1R3RDREt read_manifestRR'RF(R8RGRHRTRI((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt(test_manifest_is_read_with_utf8_encodingõs$     !   c CsEttƒ}d|_t|ƒ}|jƒtƒ|jƒWdQXtjj t dƒt ƒ}tjj ddƒ|_ t |j dƒ}|jt dƒ|ƒ|jƒt |dƒjƒg|j_tƒDy|jƒWn.tk rtjƒd}|j|ƒnXWdQX|jd ƒ}|j||jjkƒdS( Nssetup.pyR ssdist_test.egg-infos SOURCES.txtR`s R+islatin-1(R R@RARRBRRCR R"R0RR]RIR/R1R3RDRERaRORRPRQR'R^(R8RGRHRTRIRW((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt+test_read_manifest_skips_non_utf8_filenamess*         sUTF-8sMUnittest fails if locale is not utf-8 but the manifests is recorded correctlycCsbttƒ}d|_t|ƒ}|jƒtjjtdƒtdƒƒ}t |dƒj ƒt ƒ|j ƒWdQXt jdkr—t|ƒ}ntrEt jƒ}t jdkr|dkrï|jdƒ}|j||jjkƒqB|jdƒ}|j||jjkƒq^|jd ƒ}|j||jjkƒn|j||jjkƒdS( Nssetup.pyR s smörbröd.pyR+tdarwintwin32tcp1252tmbcssutf-8(R R@RARRBR R"R0RR/R3RRCRtplatformR)RRRR'RFRDRE(R8RGRHRTRX((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt%test_sdist_with_utf8_encoded_filename9s*    !   cCsˆttƒ}d|_t|ƒ}|jƒtjjtdƒt ƒ}t |dƒj ƒ|j tjj |ƒƒtƒ|jƒWdQXtr!tjdkrötjƒ}|dkrË|jdƒ}n|jdƒ}|j ||jjkƒq„|jdƒ}|j||jjkƒncy6tjƒ}|j|ƒ|j ||jjkƒWn*tk rƒ|j||jjkƒnXdS(Nssetup.pyR R+ReRgslatin-1(R R@RARRBR R"R0RR]R/R3RFtisfileRRCRRRhRRR'RDRER^RO(R8RGRHRTRX((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt'test_sdist_with_latin1_encoded_filename]s0          (t__name__t __module__R<R?RJRYRR[R_RbRcRtlocaletgetpreferredencodingRiRk(((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyR*Rs    ' ' )  "#tTestDummyOutputcBs#eZd„Zd„Zd„ZRS(cCs>tjjddddƒ|_d|_tt|ƒjƒdS(Nt setuptoolstteststsvn_datas dummy.ziptdummy(R R"R0tdatafiletdatanametsuperRpR<(R8((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyR<‹s c Cstjdgd|jddƒ\}}|rjdtjjdƒ}|d|7}||7}t|ƒ‚n|jƒ}d&}d#tjjdƒGHxi|D]a}t}x3|D]+}t j ||ƒr«d$|GHt }Pq«q«W|s˜td%||fƒ‚q˜q˜W|S('NRtpypatht data_streamisDIR: t.s SDIST RETURNED: %i s running sdistsrunning egg_infoscreating dummy\.egg-infoswriting dummy\.egg-infos*writing top-level names to dummy\.egg-infos+writing dependency_links to dummy\.egg-infos&writing manifest file 'dummy\.egg-infos&reading manifest file 'dummy\.egg-infos(reading manifest template 'MANIFEST\.in'screating dummy-0.1.1s"making hard links in dummy-0\.1\.1scopying files to dummy-0\.1\.1scopying \S+ -> dummy-0\.1\.1s copying dummyscopying dummy\.egg-infos!hard linking \S+ -> dummy-0\.1\.1shard linking dummyshard linking dummy\.egg-infosWriting dummy-0\.1\.1s creating distscreating 'distsCreating tar archives running checksadding 'dummy-0\.1\.1s,tar .+ dist/dummy-0\.1\.1\.tar dummy-0\.1\.1sgzip .+ dist/dummy-0\.1\.1\.tars4removing 'dummy-0\.1\.1' \(and everything under it\)s DIR: s READ: sUnexpexected: %s -in- %s(s running sdistsrunning egg_infoscreating dummy\.egg-infoswriting dummy\.egg-infos*writing top-level names to dummy\.egg-infos+writing dependency_links to dummy\.egg-infos&writing manifest file 'dummy\.egg-infos&reading manifest file 'dummy\.egg-infos(reading manifest template 'MANIFEST\.in's&writing manifest file 'dummy\.egg-infoscreating dummy-0.1.1s"making hard links in dummy-0\.1\.1scopying files to dummy-0\.1\.1scopying \S+ -> dummy-0\.1\.1s copying dummyscopying dummy\.egg-infos!hard linking \S+ -> dummy-0\.1\.1shard linking dummyshard linking dummy\.egg-infosWriting dummy-0\.1\.1s creating distscreating 'distsCreating tar archives running checksadding 'dummy-0\.1\.1s,tar .+ dist/dummy-0\.1\.1\.tar dummy-0\.1\.1sgzip .+ dist/dummy-0\.1\.1\.tars4removing 'dummy-0\.1\.1' \(and everything under it\)( Rt run_setup_pyR6R R"tabspathtAssertionErrort splitlinestFalsetretmatchtTrue( R8tcodetdatatinfot datalinestpossibletlinetfoundtpattern((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt_run‘sb      cCs|jƒdS(N(R‹(R8((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt test_sourcesÊs(RlRmR<R‹RŒ(((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyRp‰s  9tTestSvncBs-eZd„Zeej dƒd„ƒZRS(cCsïtjjƒ}|sdStg|jdƒD]}t|ƒ^q,d ƒ|_|jsftdƒ‚n=|jdkrˆtd|ƒ‚n|jdkr£d|_nd |j|_t j j d d d |jd ƒ|_ t t|ƒjƒdS(NRzisNo SVN tools installediisInsufficient SVN Version %si issvn%i%i_exampleRqRrRss.zip(ii(ii (ii(R tSvnInfotget_svn_versionttupletsplittintt base_versiont ValueErrorRvR R"R0RuRwRR<(R8Rtx((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyR<Ðs5  s"No SVN to text, in the first placecCs|jdkrd}d}n d}d}ttjjdƒtjj|dƒtjj|d ƒtjj|d ƒtjj|dƒtjj|d ƒtjj|d ƒtjj|d ƒtjj|d ƒtjjd d ƒtjjd|dƒtjjd|d ƒtjjd|dƒtjjd|dƒtjjd|d ƒtjjd|d ƒtjjd|dƒtjjd|dƒtjjd|dƒtjjdd dƒtjjddƒtjjddƒgƒ}|jtd„tƒDƒƒ|ƒdS(Niis third party2s third party3t third_party2t third_party3sa files Changes.txttMD5SUMSs README.txtsTODO.txttfint third_partytfoldersWatashiNiYomimasu.txttoopss ZuMachen.txts lalala.txts quest.txtcss|] }|VqdS(N((t.0R•((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pys s(ii(R“tsetR R"R0t assertEqualR(R8tfolder2tfolder3texpected((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt test_walksvnäs: (RlRmR<RRt _svn_checkR£(((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyRÎs cCstjjtƒS(N(tunittesttdefaultTestLoadertloadTestsFromNameRl(((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pyt test_suite s(,t__doc__RnR R=RR,R¥R%R€t contextlibtsetuptools.testsRRtsetuptools.tests.py26compatRtsetuptools.compatRRRRtsetuptools.command.sdistRRtsetuptools.command.egg_infoR tsetuptools.distR RqR R@R2RR]tcontextmanagerRRR#R)tTestCaseR*tZippedEnvironmentRpRR¨(((sE/usr/local/lib/python2.7/site-packages/setuptools/tests/test_sdist.pytsD         "     ÿ8E=