î
½1kd&1  ã               @   ss  d  Z  d d l Z d d l Z d d l Z d d l m Z d d l Z d d l Z d d l	 m
 Z
 m Z d d l	 m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l Z d d l j Z d d	 l m Z d d
 l m Z d d „  Z d d „  Z Gd d „  d e j ƒ Z Gd d „  d e j ƒ Z Gd d „  d e j ƒ Z Gd d „  d e j ƒ Z d S)z"Tests for the 'setuptools' packageé    N)Údoctest)ÚDistutilsOptionErrorÚDistutilsPlatformError)ÚDistutilsSetupError)Ú	Extension)ÚLooseVersion)Ú	func_code)ÚFeature)ÚRequirec              C   s}   d d  l  }  d d  l } | j |  j t j j d d ƒ d |  j d d ƒf ƒ } t j	 d k ry | j
 |  j d ƒ ƒ n  | S)	Nr   Útestszapi_tests.txtZoptionflagsÚpackageÚpkg_resourcesÚwin32zwin_script_wrapper.txt)r   ÚunittestZ	TestSuiteZDocFileSuiteÚosÚpathÚjoinÚELLIPSISÚsysÚplatformZaddTest)r   r   Úsuite© r   úO/var/www/pythonscrapper/code/venv/build/setuptools/setuptools/tests/__init__.pyÚadditional_tests   s    r   c              K   sD   d t  j _ |  j d d g ƒ z t j |  �  SWd d t  j _ Xd S)zDReturn distribution from 'setup(**args)', without executing commandsÚcommandlineÚscript_argsÚinstallN)Ú	distutilsÚcoreÚ_setup_stop_afterÚ
setdefaultÚ
setuptoolsÚsetup)Úargsr   r   r   Ú	makeSetup    s
    r$   c               @   s@   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 S)
ÚDependsTestsc             C   s«   t  t d ƒ s d  Sd d „  } t | ƒ } |  j t j | d d
 ƒ d  ƒ |  j t j | d d ƒ d ƒ |  j t j | d d ƒ d ƒ |  j t j | d	 d ƒ d  ƒ d  S)NÚextract_constantc               S   s   d a  t a d  S)NÚtest)ÚxÚzÚyr   r   r   r   Úf15   s    z)DependsTests.testExtractConst.<locals>.f1Úqé   r(   r'   r*   r)   éÿÿÿÿr.   r.   r.   r.   )ÚhasattrÚdepr   ÚassertEqualr&   )Úselfr+   Zfcr   r   r   ÚtestExtractConst0   s    zDependsTests.testExtractConstc             C   sR   |  j  t t j d ƒ |  j  t t j d ƒ t j d ƒ \ } } } | j ƒ  d  S)Nzno-such.-thingzsetuptools.non-existentzsetuptools.tests)ÚassertRaisesÚImportErrorr0   Úfind_moduleÚclose)r2   ÚfÚpÚir   r   r   ÚtestFindModuleG   s    zDependsTests.testFindModulec             C   s~   t  t d ƒ s d  Sd d l m } |  j t j d d ƒ | ƒ |  j t j d d ƒ t j ƒ |  j t j d d	 ƒ t ƒ d  S)
NÚget_module_constantr   )Ú__version__Úemailr=   r   Úversionzsetuptools.testsÚ__doc__)	r/   r0   r>   r=   r1   r<   r   r?   r@   )r2   r=   r   r   r   ÚtestModuleExtractM   s    zDependsTests.testModuleExtractc             C   sd  t  t d ƒ s d  St d d d ƒ } |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ d d l	 m
 } |  j | j ƒ  | ƒ |  j | j d	 ƒ ƒ |  j | j d
 ƒ ƒ |  j | j d ƒ ƒ |  j | j ƒ  ƒ |  j | j ƒ  ƒ t d d d d t ƒ} |  j | j ƒ  ƒ |  j | j ƒ  ƒ |  j | j d ƒ ƒ t d d d ƒ } |  j | j ƒ  ƒ |  j | j ƒ  ƒ t d d  d d d ƒ} |  j | j d  ƒ |  j | j d  ƒ |  j | j d  ƒ |  j | j ƒ  d ƒ |  j | j d ƒ d d „  t Dƒ } |  j | j | ƒ ƒ |  j | j | ƒ ƒ d  S)Nr&   ZEmailz1.0.3r>   r=   zEmail-1.0.3r   )r=   z1.0.9z0.9.1Úunknownz
Email 3000Z03000ÚformatzDo-what-I-meanz1.0zd-w-i-mZTestsr   Úhomepagezhttp://example.comc             S   s"   g  |  ] } t  j j | ƒ ‘ q Sr   )r   r   Údirname)Ú.0r9   r   r   r   ú
<listcomp>ƒ   s   	 z,DependsTests.testRequire.<locals>.<listcomp>)r/   r0   r
   r1   ÚnameÚmoduleZrequested_versionÚ	attributeZ	full_namer>   r=   Úget_versionÚ
assertTrueZ
version_okZ
is_presentZ
is_currentr   rC   rD   Ú__path__)r2   Úreqr=   Úpathsr   r   r   ÚtestRequire]   s>    zDependsTests.testRequireN)Ú__name__Ú
__module__Ú__qualname__r3   r;   rA   rP   r   r   r   r   r%   .   s   r%   c               @   sp   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d d „  Z	 d d „  Z
 d S)ÚDistroTestsc          	   C   ss   t  d d g ƒ |  _ t  d d g ƒ |  _ t d d d d d	 d
 g d d d g d |  j |  j f d i  ƒ |  _ d  S)Nzbar.extzbar.czc.yzy.cÚpackagesÚaza.bza.b.cÚbÚcÚ
py_moduleszb.dr(   Úext_modulesÚpackage_dir)r   Úe1Úe2r$   Údist)r2   r   r   r   ÚsetUpŠ   s    zDistroTests.setUpc             C   s#   |  j  t |  j t j j ƒ ƒ d  S)N)rL   Ú
isinstancer^   r!   ÚDistribution)r2   r   r   r   ÚtestDistroType•   s    zDistroTests.testDistroTypec             C   sÿ   |  j  j d ƒ |  j |  j  j d d g ƒ |  j  j d ƒ |  j |  j  j d g ƒ |  j |  j  j d g ƒ |  j |  j  j |  j |  j g ƒ |  j  j d ƒ |  j |  j  j g  ƒ |  j |  j  j d g ƒ |  j |  j  j |  j g ƒ t ƒ  j d ƒ d  S)NrV   rW   rX   r(   )	r^   Úexclude_packager1   rU   rY   rZ   r\   r]   r$   )r2   r   r   r   ÚtestExcludePackage˜   s    "zDistroTests.testExcludePackagec             C   s¯   |  j  j d |  j g ƒ |  j |  j  j |  j g ƒ |  j  j d |  j g ƒ |  j |  j  j |  j |  j g ƒ |  j  j d |  j g ƒ |  j |  j  j |  j |  j g ƒ d  S)NrZ   )r^   Úexcluder\   r1   rZ   r]   Úinclude)r2   r   r   r   ÚtestIncludeExclude©   s    "zDistroTests.testIncludeExcludec             C   sk   |  j  j d d d d g ƒ |  j |  j  j g  ƒ |  j |  j  j d g ƒ |  j |  j  j |  j g ƒ d  S)NrU   rX   rW   rV   r(   )r^   re   r1   rU   rY   rZ   r\   )r2   r   r   r   ÚtestExcludePackages¶   s    zDistroTests.testExcludePackagesc             C   sf   t  ƒ  } | j d d g d d g d |  j g ƒ t  ƒ  } | j d d g d d g d |  j g ƒ d  S)NrU   rV   rY   rW   rZ   )r$   rf   r]   re   )r2   r^   r   r   r   Ú	testEmpty¼   s    	(	zDistroTests.testEmptyc             C   sÍ   |  j  |  j j d ƒ ƒ |  j j d ƒ |  j  |  j j d ƒ ƒ |  j  |  j j d ƒ ƒ |  j j d ƒ |  j  |  j j d ƒ ƒ |  j  |  j j d ƒ ƒ |  j j d ƒ |  j  |  j j d ƒ ƒ d  S)NrV   rW   rX   )rL   r^   Zhas_contents_forrc   )r2   r   r   r   ÚtestContentsÂ   s    zDistroTests.testContentsc             C   s  |  j  t |  j j d d ƒ|  j  t |  j j d d ƒ|  j  t |  j j d i d d 6ƒ|  j  t |  j j d i d d 6ƒ|  j  t |  j j d i d d 6ƒ|  j  t |  j j d i d d 6ƒ|  j  t |  j j d d g ƒ|  j  t |  j j d d g ƒd  S)NZnonexistent_optionr(   rU   r*   rZ   r[   r,   )r4   r   r^   rf   re   )r2   r   r   r   ÚtestInvalidIncludeExcludeÏ   s     								z%DistroTests.testInvalidIncludeExcludeN)rQ   rR   rS   r_   rb   rd   rg   rh   ri   rj   rk   r   r   r   r   rT   ˆ   s   rT   c               @   sX   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d S)ÚFeatureTestsc             C   sû   t  d d d ƒ |  _ t d i t d d d d d	 |  j g ƒd 6t d
 d d d d g d d g d d g ƒd
 6t d	 d d d d g d d g d d# g ƒd	 6t d d d d d ƒd 6d d d g d d d  g d d d g d! t d d" g ƒ g ƒ |  _ d  S)$NZ	Distutilsz1.0.3r   ÚfeaturesZfooÚstandardTÚrequire_featuresZbazÚbarrU   zpkg.barrY   Úbar_etÚremovezbar.extÚoptionalFzpkg.bazÚscriptszscripts/baz_itÚ	librariesÚlibfooúfoo/foofoo.cZDWIMÚ	availableZbazishÚdwimr   z--without-barr   zpkg.foorZ   zbar.c)rv   rw   )r
   rN   r$   r	   r   r^   )r2   r   r   r   r_   í   s    "	zFeatureTests.setUpc          	   C   sh   |  j  t d d d d d d d ƒj ƒ  ƒ |  j  t d d d d d ƒj ƒ  ƒ |  j t t d ƒ d  S)Nr'   rn   Trr   r(   rx   F)rL   r	   Zinclude_by_defaultr4   r   )r2   r   r   r   ÚtestDefaults  s    #zFeatureTests.testDefaultsc             C   s'   |  j  t |  j j d j |  j ƒ d  S)Nry   )r4   r   r^   rm   Z
include_in)r2   r   r   r   ÚtestAvailability  s    zFeatureTests.testAvailabilityc             C   sÀ   |  j  } |  j d | j k ƒ |  j d | j k ƒ |  j d | j k ƒ |  j d | j k ƒ |  j | j d	 d
 ƒ |  j | j d d ƒ |  j | j d d ƒ |  j d | j k ƒ d  S)Nú	with-dwimúinclude DWIMúwithout-dwimúexclude DWIM (default)úwith-barúinclude bar (default)úwithout-barúexclude barzwithout-foozwith-foozwithout-baz)r|   Nr}   )r~   Nr   )r€   Nr�   )r‚   Nrƒ   )r^   rL   Zfeature_optionsr1   Zfeature_negopt)r2   r^   r   r   r   ÚtestFeatureOptions  s    	zFeatureTests.testFeatureOptionsc             C   sö   |  j  } |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j d | j k ƒ |  j d | j k ƒ |  j d | j k ƒ |  j d | j k ƒ |  j d
 | j	 k ƒ |  j | j
 g  ƒ |  j | j |  j g ƒ |  j t | j d	 ƒ d  S)Nr-   r   rq   zpkg.barzpkg.bazzscripts/baz_itrv   úfoo/foofoo.crp   )zlibfoor…   )r^   r1   Zwith_fooZwith_barZwith_bazrL   rY   rU   rt   ru   rZ   ro   rN   r4   r   Zinclude_feature)r2   r^   r   r   r   ÚtestUseFeatures'  s    	zFeatureTests.testUseFeaturesc          	   C   s-   |  j  t t d i t d d d ƒd 6ƒd  S)Nrm   r(   rr   r*   )r4   Ú
SystemExitr$   r	   )r2   r   r   r   ÚtestFeatureWithInvalidRemove8  s    z)FeatureTests.testFeatureWithInvalidRemoveN)	rQ   rR   rS   r_   rz   r{   r„   r†   rˆ   r   r   r   r   rl   ë   s   rl   c               @   sX   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d S)ÚTestCommandTestsc             C   s2   t  ƒ  j d ƒ } |  j t | t j j ƒ ƒ d  S)Nr'   )r$   Úget_command_objrL   r`   r   ÚcmdÚCommand)r2   Ztest_cmdr   r   r   ÚtestTestIsCommand?  s    z"TestCommandTests.testTestIsCommandc             C   sE   t  d d d g ƒ } | j d ƒ } | j ƒ  |  j | j d ƒ d  S)Nr   r'   z--test-suite=foo.tests.suitezfoo.tests.suite)r$   rŠ   Úensure_finalizedr1   Ú
test_suite)r2   Zts1r   r   r   ÚtestLongOptSuiteWNoDefaultC  s    
z+TestCommandTests.testLongOptSuiteWNoDefaultc             C   s9   t  d d ƒ j d ƒ } | j ƒ  |  j | j d ƒ d  S)Nr�   zbar.tests.suiter'   )r$   rŠ   rŽ   r1   r�   )r2   Zts2r   r   r   ÚtestDefaultSuiteI  s    
z!TestCommandTests.testDefaultSuitec             C   s[   t  d d d d d d g ƒ j d ƒ } | j ƒ  |  j | j d ƒ |  j | j d ƒ d  S)Nr�   z	bar.testsr   r'   z-mz	foo.testszfoo.tests.test_suite)r$   rŠ   rŽ   r1   Ztest_moduler�   )r2   Zts3r   r   r   ÚtestDefaultWModuleOnCmdLineN  s    	
z,TestCommandTests.testDefaultWModuleOnCmdLinec             C   s>   t  d d d d d d g ƒ j d ƒ } |  j t | j ƒ d  S)Nr   r'   z-mz	bar.testsz-szfoo.tests.suite)r$   rŠ   r4   r   rŽ   )r2   Zts4r   r   r   ÚtestConflictingOptionsW  s    	z'TestCommandTests.testConflictingOptionsc             C   s3   t  ƒ  j d ƒ } | j ƒ  |  j | j d  ƒ d  S)Nr'   )r$   rŠ   rŽ   r1   r�   )r2   Zts5r   r   r   ÚtestNoSuite]  s    
zTestCommandTests.testNoSuiteN)	rQ   rR   rS   r�   r�   r‘   r’   r“   r”   r   r   r   r   r‰   =  s   	r‰   ) r@   r   r   r   Zsetuptools.testsr   Údistutils.corer   Údistutils.cmdZdistutils.errorsr   r   r   r   Údistutils.versionr   Zsetuptools.compatr   Zsetuptools.distr!   Zsetuptools.dependsÚdependsr0   r	   r
   r   r$   ZTestCaser%   rT   rl   r‰   r   r   r   r   Ú<module>   s,   ZcR