ó q®¸Qc@sµdZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z m Z m Z yddlZWnek r§eZnXy"ddlZddlZeZWnek rãeZnXddlmZmZddlmZddlmZdd lmZdd lm Z dd l!m"Z"dd l#m$Z$dd l%m&Z&dZ'dZ(defd„ƒYZ)d„Z*e+dkr±e e*ƒƒndS(s"Tests for distutils.command.sdist.iÿÿÿÿN(tjoin(tdedent(tcaptured_stdouttcheck_warningst run_unittest(tsdistt show_formats(t Distribution(tPyPIRCCommandTestCase(tDistutilsOptionError(tfind_executable(tWARN(tFileList(tARCHIVE_FORMATSsF from distutils.core import setup import somecode setup(name='fake') sõ# file GENERATED by distutils, do NOT edit README buildout.cfg inroot.txt setup.py data%(sep)sdata.dt scripts%(sep)sscript.py some%(sep)sfile.txt some%(sep)sother_file.txt somecode%(sep)s__init__.py somecode%(sep)sdoc.dat somecode%(sep)sdoc.txt t SDistTestCasecBs eZd„Zd„Zdd„Zejedƒd„ƒZ ejedƒd„ƒZ ejedƒd„ƒZ ejedƒd„ƒZ ejedƒd„ƒZ d „Zd „Zd „Zejedƒejed ƒd „ƒƒZd„Zd„Zd„Zejejdkdƒd„ƒZejedƒd„ƒZejedƒd„ƒZejedƒd„ƒZejedƒd„ƒZRS(cCs¶tt|ƒjƒtjƒ|_tjt|jdƒƒtjt|jdƒƒ|j |jdfdƒ|j |jddfdƒ|j |jdft ƒtj |jƒdS(NtsomecodetdisttREADMEtxxxs __init__.pyt#ssetup.py( tsuperRtsetUptostgetcwdtold_pathtmkdirRttmp_dirt write_filetSETUP_PYtchdir(tself((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyR;scCs'tj|jƒtt|ƒjƒdS(N(RRRRRttearDown(R((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyRIscCs|d kr8idd6dd6dd6dd6dd6}nt|ƒ}d |_d g|_t|_t|ƒ}d |_||fS( s Returns a cmdtfaketnames1.0tversionRturltauthort author_emailssetup.pyRRN(tNoneRt script_nametpackagestTruetinclude_package_dataRtdist_dir(RtmetadataRtcmd((s0/sys/lib/python2.7/distutils/tests/test_sdist.pytget_cmdNs        s requires zlibcCsƒtjt|jddƒƒ|j|jdddfdƒtjt|jddƒƒ|j|jdddfdƒtjt|jddƒƒ|j|jdddfdƒ|j|jddfdƒ|jƒ\}}d g|_|jƒ|jƒt|jd ƒ}tj |ƒ}|j |d gƒt j t|d ƒƒ}z|j ƒ}Wd|jƒX|j t|ƒd ƒdS( NRs.svnsok.pyRs.hgtoks.gits.nfs0001tzipRs fake-1.0.zipi(RRRRRR.tformatstensure_finalizedtruntlistdirt assertEqualtzipfiletZipFiletnamelisttclosetlen(RRR-t dist_foldertfilestzip_filetcontent((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_prune_file_list\s*      cCs tdƒdks$tdƒdkr(dS|jƒ\}}ddg|_|jƒ|jƒt|jdƒ}tj |ƒ}|j ƒ|j |ddgƒtj t|dƒƒtj t|dƒƒddg|_|jƒ|jƒtj |ƒ}|j ƒ|j |ddgƒdS(NttartgziptgztarRs fake-1.0.tarsfake-1.0.tar.gz( R R&R.R1R2R3RRRR4tsortR5tremove(RRR-R;tresult((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_make_distribution‡s&      cCs‘|jidd6dd6ƒ\}}dg|_|jƒ|jƒt|jdƒ}tj|ƒ}|j|dgƒtj t|dƒƒdS( su Unicode name or version should not break building to tar.gz format. Reference issue #11638. ufakeR!u1.0R"RBRsfake-1.0.tar.gzN( R.R1R2R3RRRR4R5RD(RRR-R;RE((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_unicode_metadata_tgzªs#   c CsÀ|jƒ\}}iddgd6dgd6|_|j|jddfdƒ|j|jddfdƒt|jd ƒ}tj|ƒ|j|d fdƒt|jd ƒ}tj|ƒt|jd ƒ}tj|ƒ|j|d fdƒ|j|jdfdƒ|j|jdfdƒ|j|dfdƒ|j|dfdƒd ddddgfddg|_t|jdƒ}tj|ƒ|j|dfdƒtddƒg|_dg|_ t |_ |j ƒ|j ƒt|jdƒ}tj|ƒ}|j|dgƒtjt|dƒƒ} z| jƒ} Wd| jƒX|jt| ƒdƒtt|jdƒƒ} z| jƒ} Wd| jƒX|j| titjd6ƒdS(Ns*.cfgs*.datts*.txtRsdoc.txtRsdoc.dattdatasdata.dttsomes.hgslast-message.txts buildout.cfgs inroot.txtsfile.txtsother_file.txts data/data.dtt notexistings some/file.txtssome/other_file.txttscriptss script.pyR0Rs fake-1.0.zipi tMANIFESTtsep(R.t package_dataRRRRRt data_filesRLR1R)t use_defaultsR2R3R4R5R6R7R8R9R:topentreadRMRN( RRR-tdata_dirtsome_dirthg_dirt script_dirR;R<R=R>tftmanifest((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_add_defaultsÀsX            cCs÷|jdiƒ\}}|jƒ|jƒg|jtƒD]}|jdƒr<|^q<}|jt|ƒdƒ|jƒ|jƒ\}}|jƒd|_ |jƒg|jtƒD]}|jdƒr¼|^q¼}|jt|ƒdƒdS(NR,swarning: check:ii( R.R2R3tget_logsR t startswithR5R:t clear_logstmetadata_check(RRR-tmsgtwarnings((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_metadata_check_option s      cCsX|jƒ\}}tƒ7}tjdƒ|jƒ|jt|jƒdƒWdQXdS(Ntalwaysi(R.RR`t simplefiltertcheck_metadataR5R:(RRR-tw((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_check_metadata_deprecated s    cCs‚tƒ}tƒWdQXttjƒƒ}g|jƒjdƒD]!}|jƒjdƒrA|^qA}|j t|ƒ|ƒdS(Ns s --formats=( RRR:R tkeystgetvaluetsplittstripR\R5(Rtstdoutt num_formatstlinetoutput((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_show_formats(s   !cCs§|jƒ\}}|jƒ|j|jdƒ|j|jdƒ|j|jdƒd|_|jt|jƒdg|_|jƒd|_|jt|jƒdS(NRMs MANIFEST.inRiR0tsupazipa( R.tfinalize_optionsR5RYttemplateR+R1t assertRaisesR (RRR-((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_finalize_options2s     sRequires grp and pwd supportcCs•tdƒdks$tdƒdkr(dS|jƒ\}}dg|_tjdƒd|_tjdƒd|_ |j ƒ|j ƒt |j ddƒ}tj|ƒ}zAx:|jƒD],}|j|jdƒ|j|jdƒqºWWd|jƒX|jƒ\}}dg|_|j ƒ|j ƒt |j ddƒ}tj|ƒ}z4x-|jƒD]}|j|jtjƒƒq_WWd|jƒXdS(NR@RARBiRsfake-1.0.tar.gz(R R&R.R1tpwdtgetpwuidtownertgrptgetgrgidtgroupR2R3RRttarfileRRt getmembersR5tuidtgidR9Rtgetuid(RRR-t archive_nametarchivetmember((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt"test_make_distribution_owner_groupFs4       !cCs{|jƒ\}}tj|jƒ|jd|ƒ|jƒtƒ|_|jƒ|j t ƒ}|j t |ƒdƒdS(Ns MANIFEST.ini( R.RRRRR2R tfilelistt read_templateR[R R5R:(RR>RR-R`((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt_check_template{s   cCs|jdƒdS(Nstaunt knights *(R†(R((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt%test_invalid_template_unknown_command…scCs|jdƒdS(Ntprune(R†(R((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt%test_invalid_template_wrong_argumentsˆstntstest relevant for Windows onlycCs|jdƒdS(Nsinclude examples/(R†(R((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt test_invalid_template_wrong_pathŒscCs¯|jƒ\}}idgd6|_|j|jddfdƒdg|_|jƒ|jƒt|jƒ}zDg|j ƒj dƒD]$}|j ƒdkr‰|j ƒ^q‰}Wd|j ƒX|j t|ƒdƒ|j|jdd fdƒ|jd ƒ}t|_|jƒ|jƒt|jƒ}zDg|j ƒj dƒD]$}|j ƒdkrH|j ƒ^qH}Wd|j ƒX|j t|ƒd ƒ|jd |d ƒdS( Ns*.txtRsdoc.txtRRBs RHisdoc2.txttbuild_pyiiÿÿÿÿ(R.RORRR1R2R3RRRYRSRiRjR9R5R:tget_command_objtFalset finalizedtassertIn(RRR-RXRmRYRŒt manifest2((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_get_file_list’s0   (    ( cCsŸ|jƒ\}}|jƒ|jƒt|jƒ}zDg|jƒjdƒD]$}|jƒdkrN|jƒ^qN}Wd|jƒX|j |ddƒdS(Ns RHis*# file GENERATED by distutils, do NOT edit( R.R2R3RRRYRSRiRjR9R5(RRR-RXRmRY((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_manifest_marker¼s  (  cCs¶tdƒ}|jƒ\}}|jƒ|j|j|jf|ƒ|j|jdfdƒ|j|jdfdƒ|j|jdfdƒ|jƒ|j|jj dgƒdS(NsI # bad.py #bad.py good.py sgood.pys # pick me!sbad.pys# don't pick me!s#bad.py( RR.R2RRRYR3R5R„R<(RtcontentsRR-((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_manifest_commentsÍs   c Csi|jƒ\}}dg|_|jƒ|j|j|jfdƒ|j|jdfdƒ|jƒ|j|jj dgƒt |jƒ}zDg|j ƒj dƒD]$}|j ƒdkr¨|j ƒ^q¨}Wd|jƒX|j|dgƒt|jddƒ}tj |ƒ}z g|D]}|j^q"} Wd|jƒX|jt| ƒdd d gƒdS( NRBs README.manuals0This project maintains its MANIFEST file itself.s RHRsfake-1.0.tar.gzsfake-1.0sfake-1.0/PKG-INFOsfake-1.0/README.manual(R.R1R2RRRYR3R5R„R<RRRSRiRjR9RR{R!tsorted( RRR-RXRmRYR€Rttarinfot filenames((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyttest_manual_manifestÞs*   (   N(t__name__t __module__RRR&R.tunittestt skipUnlesstzlibR?RFRGRZRaRfRoRttUID_GID_SUPPORTRƒR†R‡R‰tskipIfRR!R‹R’R“R•R™(((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyR9s*   +#I  4  $*cCs tjtƒS(N(Rœt makeSuiteR(((s0/sys/lib/python2.7/distutils/tests/test_sdist.pyt test_suiteüst__main__(,t__doc__RR{RœR`R6tos.pathRttextwrapRttest.test_supportRRRRžt ImportErrorR&RxRuR)RŸRŽtdistutils.command.sdistRRtdistutils.coreRtdistutils.tests.test_configRtdistutils.errorsR tdistutils.spawnR t distutils.logR tdistutils.filelistR tdistutils.archive_utilR RRMRR¢Rš(((s0/sys/lib/python2.7/distutils/tests/test_sdist.pytsB            ÿÄ