
[Y,                 @   s   d  d l  m Z d  d l m Z d  d l Z d  d l Td  d l m Z d  d l m Z m	 Z	 Gd d   d e  Z
 Gd	 d
   d
 e  Z d S)    )Command)DistutilsOptionErrorN)*)_namespace_packages)
TestLoadermainc               @   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	   resource_listdirendswithresource_existsZloadTestsFromNamelenZ
suiteClass)selfmoduletestsfile	submodule r   J/home/kubikplay/www/django_dtb/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=s1Test 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_options7   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>t   s    z/test.with_project_on_sys_path.<locals>.<lambda>z%s==%s)r   )sysversion_infor0   r,   reinitialize_commandrun_commandget_finalized_commandnormalize_path	build_libpathmodulescopyr/   r5   working_set__init__add_activation_listenerrequireegg_nameZegg_versionclearupdate)r   funcZbpy_cmdZ
build_pathZei_cmdZold_pathZold_modulesr   r   r   with_project_on_sys_pathT   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(   joinr-   dry_runannouncerL   	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   r2   Fr   r   zx=rG   Z
testLoader)r   )unittestr:   r;   r0   r,   r-   splitr   rB   r   
startswithlistmap__delitem__
EntryPointparser*   loadr   __file__)r   rU   r   Zdel_modulesnameZ	loader_eploader_classZcksr   r   r   rQ      s$    $
	ztest.run_testsN)r"   r#   r$   )r%   r&   r'   )r   r   r    __doc__descriptionuser_optionsr+   r1   rL   rS   rQ   r   r   r   r   r!   +   s    	*r!   )
setuptoolsr   distutils.errorsr   r:   pkg_resourcesr   rU   r   r   r   r!   r   r   r   r   <module>   s   
#