î
½1kd\  ã               @   s¦   d  d l  m Z d  d l m Z d  d l Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z d  d l m Z Gd d „  d e ƒ Z Gd d	 „  d	 e ƒ Z d S)
é    )ÚCommand)ÚDistutilsOptionErrorN)Úresource_listdirÚresource_existsÚnormalize_pathÚworking_setÚ_namespace_packagesÚadd_activation_listenerÚrequireÚ
EntryPoint)Ú
TestLoaderc               @   s   e  Z d  Z d d „  Z d S)ÚScanningLoaderc             C   s,  g  } | j  d k r1 | j t j |  | ƒ ƒ n  t | d ƒ rV | j | j ƒ  ƒ n  t | d ƒ rx™ t | j  d ƒ D]‚ } | j d ƒ r· | d k r· | j  d | d d … } n- t | j  | d
 ƒ rx | j  d | } n qx | j |  j	 | ƒ ƒ qx Wn  t
 | ƒ d k r |  j | ƒ S| d Sd S)a  Return a suite of all tests cases contained in the given module

        If the module is a package, load tests from all the modules in it.
        If the module has an ``additional_tests`` function, call it and add
        the return value to the tests.
        zsetuptools.tests.doctestÚadditional_testsÚ__path__Ú z.pyz__init__.pyÚ.Né   z/__init__.pyé   r   éýÿÿÿ)Ú__name__Úappendr   ÚloadTestsFromModuleÚhasattrr   r   Úendswithr   ZloadTestsFromNameÚlenZ
suiteClass)ÚselfÚmoduleÚtestsÚfileÚ	submodule© r    úM/var/www/pythonscrapper/code/venv/build/setuptools/setuptools/command/test.pyr      s"    z"ScanningLoader.loadTestsFromModuleN)r   Ú
__module__Ú__qualname__r   r    r    r    r!   r   	   s   r   c               @   sd   e  Z d  Z d Z d Z d d g Z d	 d
 „  Z d d „  Z d d „  Z d d „  Z	 d d „  Z
 d S)Útestz.Command to run unit tests after in-place buildz#run unit tests after in-place buildútest-module=Úmú$Run 'test_suite' in specified moduleútest-suite=Úsú1Test suite to run (e.g. 'some_module.test_suite')c             C   s   d  |  _  d  |  _ d  |  _ d  S)N)Ú
test_suiteÚtest_moduleÚtest_loader)r   r    r    r!   Úinitialize_options8   s    		ztest.initialize_optionsc             C   sÒ   |  j  d  k rC |  j d  k r0 |  j j  |  _  q[ |  j d |  _  n |  j r[ t d ƒ ‚ n  |  j  g |  _ |  j r‰ |  j j d d ƒ n  |  j d  k r³ t |  j d d  ƒ |  _ n  |  j d  k rÎ d |  _ n  d  S)Nz.test_suitez1You may specify a module or a suite, but not bothr   z	--verboser-   z&setuptools.command.test:ScanningLoader)	r+   r,   Údistributionr   Ú	test_argsÚverboseÚinsertr-   Úgetattr)r   r    r    r!   Úfinalize_options=   s    		ztest.finalize_optionsc             C   s   t  j d k r¥ t |  j d d ƒ r¥ |  j d d d ƒ|  j d ƒ |  j d ƒ } t | j ƒ } |  j d d | ƒ|  j d ƒ |  j d	 d d ƒ|  j d	 ƒ n- |  j d ƒ |  j d	 d d
 ƒ|  j d	 ƒ |  j d ƒ } t  j	 d  d  … } t  j
 j ƒ  } z[ t  j	 j d t | j ƒ ƒ t j ƒ  t d d „  ƒ t d | j | j f ƒ | ƒ  Wd  | t  j	 d  d  … <t  j
 j ƒ  t  j
 j | ƒ t j ƒ  Xd  S)Nr   Úuse_2to3FÚbuild_pyZinplacer   Úegg_infoÚegg_baseÚ	build_extr   c             S   s
   |  j  ƒ  S)N)Úactivate)Údistr    r    r!   Ú<lambda>r   s    z/test.with_project_on_sys_path.<locals>.<lambda>z%s==%s)r   )ÚsysÚversion_infor3   r/   Úreinitialize_commandÚrun_commandÚget_finalized_commandr   Ú	build_libÚpathÚmodulesÚcopyr2   r8   r   Ú__init__r	   r
   Úegg_nameZegg_versionÚclearÚupdate)r   ÚfuncZbpy_cmdZ
build_pathZei_cmdZold_pathZold_modulesr    r    r!   Úwith_project_on_sys_pathR   s2    $
ztest.with_project_on_sys_pathc             C   sª   |  j  j r% |  j  j |  j  j ƒ n  |  j  j rJ |  j  j |  j  j ƒ n  |  j r¦ d j |  j ƒ } |  j r‚ |  j d | ƒ q¦ |  j d | ƒ |  j	 |  j
 ƒ n  d  S)Nú z skipping "unittest %s" (dry run)zrunning "unittest %s")r/   Zinstall_requiresZfetch_build_eggsZtests_requirer+   Újoinr0   Údry_runÚannouncerK   Ú	run_tests)r   Úcmdr    r    r!   Úrun{   s    		ztest.runc             C   s2  d d  l  } t j d
 k r× t |  j d d ƒ r× |  j d j d ƒ d } | t k r× g  } | t j k r{ | j	 | ƒ n  | d 7} x0 t j D]% } | j
 | ƒ r� | j	 | ƒ q� q� Wt t t j j | ƒ ƒ q× n  t j d |  j ƒ } | j d d ƒ } | ƒ  } | j d  d  | j g |  j d	 | ƒd  S)Nr   r   r5   Fr   r   zx=r
   Z
testLoader)r   éÿÿÿÿ)Úunittestr=   r>   r3   r/   r0   Úsplitr   rD   r   Ú
startswithÚlistÚmapÚ__delitem__r   Úparser-   ÚloadÚmainÚ__file__)r   rT   r   Zdel_modulesÚnameZ	loader_epÚloader_classZcksr    r    r!   rP   ‰   s$    $
	ztest.run_testsN)r%   r&   r'   )r(   r)   r*   )r   r"   r#   Ú__doc__ÚdescriptionÚuser_optionsr.   r4   rK   rR   rP   r    r    r    r!   r$   ,   s    	)r$   )Ú
setuptoolsr   Zdistutils.errorsr   r=   Úpkg_resourcesr   r   r   r   r   r	   r
   r   rT   r   r   r$   r    r    r    r!   Ú<module>   s   :#