Ñò b-äQc@sxdZddkZddkZddkZddkZddkZddkZddklZl Z l Z ddkl Z ddk Z ddk Z ddkZddklZl Z l Z l Z ddklZlZddklZlZlZddklZdd klZdd klZdd klZddkZyKe d ƒddk!Z!e!i"d ƒZ#e!i$d e!i%dei&ƒe'Z(Wne)j oe*Z(dZ#nXde,fd„ƒYZ-deei.dƒZ/dZ0dei1fd„ƒYZ2dei1fd„ƒYZ3dei1fd„ƒYZ4dei1fd„ƒYZ5d„Z6d„d„Z7d„Z8d „Z9d!„Z:dS("sEasy install Tests iÿÿÿÿN(tStringIOtBytesIOtnext(turlparse(RRRR(t run_setuptSandboxViolation(t easy_installtfix_jython_executabletget_script_args(tPthDistributions(R(t Distributiontmultiprocessingttest_easy_installtleveltstreamtFakeDistcBseZd„Zd„ZRS(cCs|djohShdd6S(Ntconsole_scriptsteptname((tselftgroup((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt get_entry_map$s cCsdS(Ntspec((R((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pytas_requirement)s(t__name__t __module__RR(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR#s sü#!%s # EASY-INSTALL-ENTRY-SCRIPT: 'spec','console_scripts','name' __requires__ = 'spec' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('spec', 'console_scripts', 'name')() ) ts0from setuptools import setup setup(name='foo') tTestEasyInstallTestcBs#eZd„Zd„Zd„ZRS(cCs„tƒ}t|ƒ}t|_tiƒ|_z?|iƒti i |idƒ}|i ti i |ƒƒWdt i|iƒXdS(Nssite.py(R RtFalsetsitepy_installedttempfiletmkdtempt install_dirtinstall_site_pytostpathtjoint assertTruetexiststshutiltrmtree(Rtdisttcmdtsitepy((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_install_site_pyAs    c Csqtƒ}ti}z>g}tt|ƒƒD] }||q,~dd!\}}Wd|t_X|i|tƒdS(Nii(RtsystplatformRRt assertEqualtWANTED(RR)t old_platformt_[1]tiRtscript((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_get_script_argsMs   > cCstƒ}t|ƒ}d„|_t|_ddg|_tiit i ƒdƒ|_ dg|_ |i ƒ|i|iihƒt|ƒ}d„|_ddg|_tiit i ƒdƒ|_ dg|_ |i ƒt|iiiƒƒ}|i|ddgƒdS(NcSstS((tTrue(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt]stlink1tlink2tokcSstS((R6(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR7gs(R Rtcheck_pth_processingR6t no_find_linkst find_linksR"R#R$RRR targstensure_finalizedR/t package_indext scanned_urlstsortedtkeys(RR)R*RC((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_no_find_linksXs"          (RRR,R5RD(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR?s tTestPTHFileWritercBseZd„Zd„ZRS(cCsVtdtiƒgƒ}|i|i ƒ|ittiƒƒƒ|i|iƒdS(sba pth file manager should set dirty if a distribution is in site but also the cwd sdoes-not_existN(R R"tgetcwdR%tdirtytaddtPRDistribution(Rtpth((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt!test_add_from_cwd_site_sets_dirtyqscCsktidjo d}nd}td|gƒ}|i|i ƒ|it|ƒƒ|i|i ƒdS(Ntnts%/test/location/does-not-have-to-existsc:\does_not_existsdoes-not_exist(R"RR R%RGRHRI(RtlocationRJ((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_add_from_site_is_ignoredzs (RRRKRN(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyREps tTestUserInstallTestcBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsÞtiƒ|_tii|idƒ}t|dƒ}|itƒ|i ƒti ƒ|_ ti |iƒt idjo^ti|_ti|_ti|_tiƒt_ti|_tiƒt_tit_ndS(Nssetup.pytws2.6(RRtdirR"R#R$topentwritetSETUP_PYtcloseRFtold_cwdtchdirR-tversionteasy_install_pkgt HAS_USER_SITEt old_has_sitet__file__told_filetsitet USER_BASEtold_baset USER_SITEtold_site(Rtsetuptf((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pytsetUp‡s      cCsˆti|iƒti|iƒtidjoTtiti ƒtiti ƒ|i t_ |i t_ |i t_|it_ndS(Ns2.6(R"RWRVR'R(RQR-RXR^R_RaR`RbR[RYRZR]R\(R((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttearDown˜s   cCsitt_tidjodStƒ}d|_t|ƒ}dg|_|i ƒ|i |i dƒdS(Ns2.6ssetup.pytpysuser should be implied( R6RYRZR-RXR t script_nameRR>R?R%tuser(RR)R*((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_user_install_implied£s      cCstpdStidƒdS(Nsthis should not break(t _MULTIPROCt_LOGtinfo(R((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_multiproc_atexit¯scCsitt_tidjodStƒ}d|_t|ƒ}dg|_|i ƒ|i |i dƒdS(Ns2.6ssetup.pyRgsNOT user should be implied( RRYRZR-RXR RhRR>tinitialize_optionst assertFalseRi(RR)R*((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt6test_user_install_not_implied_without_usersite_enabled´s      c CsËtiƒ}tiƒ}tii|dƒ}t|dƒ}z|idƒWd|iƒXtii |ƒti i dƒ}tii itiƒti dR?t local_indextscanR/trealpathRMtremoveR&tisdirR'R(tNone( Rt new_locationttargettegg_fileRdt old_ppathR)R*trestbasedir((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_local_indexÀsB          ( c sihdd6dd6dgd6tii|iƒgd6}tii|idƒ}tii|dƒ‰tii|d ƒ}ti|ƒtˆd ƒ}|iti d |ƒƒ|i ƒtii|id ƒ}t |ti d ƒƒt i }t i}tƒt _ tƒt _z>yt‡fd†ƒWn tj o|idƒnXWd|t _ |t _XdS(sáRegression test for Distribute issue #318 Ensure that a package with setup_requires can be installed when setuptools is installed in the user site-packages without causing a SandboxViolation. ttest_pkgRs0.0RXtfoobartsetup_requirestdependency_linksssetup.pys setup.cfgRPsI import setuptools setuptools.setup(**%r) sfoobar-0.1.tar.gzs§ import setuptools setuptools.setup( name='foobar', version='0.1' ) cstˆdgƒS(tinstall(R((t test_setup_py(sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR7ss$Installation caused SandboxViolationN(R"R#tabspathRQR$tmkdirRRRSttextwraptdedentRUtmake_trivial_sdistR-tstdouttstderrRtreset_setup_stop_contextRtfail(Rttest_setup_attrsR…ttest_setup_cfgRdt foobar_patht old_stdoutt old_stderr((RŠsH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyttest_setup_requiresés:          ( RRReRfRjRnRqR„R™(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyRO…s   )tTestSetupRequirescBseZd„Zd„ZRS(cs·tiiiƒ‰ˆiƒd}tˆiƒ|‰ˆidƒodS‡‡‡fd†}ˆi|ƒˆi dt ˆi ƒjo djnƒˆi ˆi di dƒdS( sÉ When easy_install installs a source distribution which specifies setup_requires, it should honor the fetch parameters (such as allow-hosts, index-url, and find-links). is:0Ncs&‡‡‡‡fd†}t|ƒdS(Ncs/‡‡‡‡‡fd†}t|dˆƒdS(NcsAdˆidˆddˆˆg‰‡‡fd†}t|ƒdS(Ns --index-urls --allow-hostss--exclude-scriptss --install-dircs&‡‡fd†}t|dgƒdS(NcsˆittiˆƒdS(N(t assertRaisest SystemExitRYtmain((Rt ei_params(sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pytinstall_clean_argv>s R(t argv_context(RŸ(RžR(sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pytinstall_clean_reset=s(turlR’(R¡(t dist_filettemp_install_dirt p_index_loctp_indexR(RžsH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt install_env8s    Rr(tenvironment_context(R¤R§(R£R¥R¦R(R¤sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt install_at7s (ttempdir_context(R£R©(RR¥R¦(R£sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR‰6siiis/does-not-exist/(t setuptoolstteststservert MockServertstartRR¢tendswitht create_sdistR%tlentrequestsR/R#(RtnetlocR‰((R¦RR¥sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt'test_setup_requires_honors_fetch_params s  -cs‡fd†}t|ƒdS(sˆ Create an sdist with a setup_requires dependency (of something that doesn't exist) and invoke installer on it. cs?tii|dƒ}t|tidƒiƒƒˆ|ƒdS(Ns"setuptools-test-fetcher-1.0.tar.gzs import setuptools setuptools.setup( name="setuptools-test-fetcher", version="1.0", setup_requires = ['does-not-exist'], ) (R"R#R$RRRŽtlstrip(RQt dist_path(t installer(sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyt build_sdistUs N(Rª(RR¸R¹((R¸sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR±Ps (RRRµR±(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyRšs 0c Cstiddƒ}y t}Wntj o t}nX||idƒƒ}t|iƒƒ|_ti |dƒ}z|i |d|ƒWd|i ƒXdS(s‹Create a simple sdist tarball at dist_path, containing just a setup.py, the contents of which are provided by the setup_py string. Rssetup.pysutf-8sw:gztfileobjN( ttarfiletTarInfoRtAttributeErrorRtencodeR²tgetvaluetsizeRRtaddfileRU(R·tsetup_pyt setup_py_filetMemFiletsetup_py_bytesR)((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyRes  cCsdS(N(R}(RQ((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR7yscCsOtiƒ}tiƒ}z||ƒ||ƒWd||ƒti|ƒXdS(s! Invoke f in the context N(RRR"RFR'R((Rdtcdttemp_dirtorig_dir((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyRªys    cKs]tiiƒ}tii|ƒz |ƒWdx|D]}ti|=q4Wtii|ƒXdS(s! Invoke f in the context N(R"Rutcopytupdate(Rdtupdatestold_envtkey((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR¨†s cCs1ti}|ti(z |ƒWd|ti(XdS(s! Invoke f in the context N(R-targv(Rdtrepltold_argv((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR “s    cCs7tii}dti_z |ƒWd|ti_XdS(s When the setuptools tests are run using setup.py test, and then one wants to invoke another setup() command (such as easy_install) within those tests, it's necessary to reset the global variable in distutils.core so that the setup() command will run naturally. N(t distutilstcoret_setup_stop_afterR}(Rdtsetup_stop_after((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pyR’žs    (;t__doc__R-R"R'RtunittestR^tsetuptools.compatRRRRRR»tdistutils.coreRÑtsetuptools.sandboxRRtsetuptools.command.easy_installRRRR tsetuptools.commandRYtsetuptools.distR t pkg_resourcesRItsetuptools.tests.serverR«t __import__tloggingt getLoggerRlt basicConfigtINFOR‘R6Rkt ImportErrorRR}tobjectRt executableR0RTtTestCaseRRERORšRRªR¨R R’(((sH/usr/lib/python2.6/vendor-packages/setuptools/tests/test_easy_install.pytsP         "     1™G