ó
éÆUc           @   só   d  d l  Z d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l Z Wn e k
 r{ d  d l	 Z n Xd  d l
 Z
 d  d l
 Z d  d l m Z d e
 j f d „  ƒ  YZ d e
 j f d „  ƒ  YZ e d k rï e
 j ƒ  n  d S(	   iÿÿÿÿN(   t   abspath(   t   supportt   TestableTestProgramc           B   sE   e  Z d Z e Z d Z Z Z Z	 d  Z
 d Z d Z Z d „  Z RS(   i   t    c         C   s   d  S(   N(    (   t   self(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   __init__   s    N(   t   __name__t
   __module__t   Nonet   modulet   Truet   exitt   defaultTestt   failfastt
   catchbreakt   buffert	   verbosityt   progNamet
   testRunnert
   testLoaderR   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR      s   
t   TestDiscoveryc           B   s  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j e e d ƒ d ƒ d „  ƒ Z d „  Z d „  Z RS(   c         C   sX   t  j ƒ  } d | _ | j d ƒ } |  j | d ƒ t s> d  S|  j t | j d ƒ d  S(   Ns   /foos   /foo/bar/baz.pys   bar.bazs   /bar/baz.py(   t	   unittest2t
   TestLoadert   _top_level_dirt   _get_name_from_patht   assertEqualt	   __debug__t   assertRaisest   AssertionError(   R   t   loadert   name(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_get_name_from_path    s    		c            s²  t  j ƒ  } t j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } d d d d d d	 d
 g d d g g ‰ ‡ f d †  t _ |  j | ƒ d „  } | t j _ |  j | ƒ d „  } | t j _ |  j | ƒ d „  | _ | j	 ‰  d  ‡  f d † } | | _	 d „  | _ t j j d ƒ } | | _ t | j | d ƒ ƒ }	 g  d D] }
 |
 d g ^ qZ} | j g  d D] }
 d |
 d g ^ q€ƒ |  j |	 | ƒ d  S(   Nc              s   ˆ  t  _ d  S(   N(   t   ost   listdir(    (   t   original_listdir(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   restore_listdir3   s    c              s   ˆ  t  j _ d  S(   N(   R    t   patht   isfile(    (   t   original_isfile(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   restore_isfile6   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   t   isdir(    (   t   original_isdir(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   restore_isdir9   s    s   test2.pys   test1.pys   not_a_test.pyt   test_dirs   test.foos   test-not-a-module.pyt   another_dirs   test4.pys   test3.pyc            s   ˆ  j  d ƒ S(   Ni    (   t   pop(   R$   (   t
   path_lists(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   <lambda>?   s    c         S   s   |  j  d ƒ S(   Nt   dir(   t   endswith(   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR(   B   s    c         S   s   |  j  d ƒ o d |  k S(   NR0   R,   (   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR%   G   s    c         S   s   |  d S(   Ns    module(    (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   M   s    c            s!   ˆ  |  d | ƒ} | |  d g S(   Nt   patterns    tests(    (   R	   R2   t   base(   t   orig_load_tests(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   loadTestsFromModuleO   s    c         S   s   |  S(   N(    (   t   thing(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   T   s    s   /foos   test*.pyt   test1t   test2s    module testst   test3t   test4s   test_dir.%s(   R7   R8   R+   (   R9   R:   (   R   R   R    R!   R$   R%   R(   t
   addCleanupt   _get_module_from_nameR5   R   t
   suiteClassR    R   t   listt   _find_testst   extendR   (   R   R   R#   R'   R*   R(   R%   R5   t	   top_levelt   suiteR   t   expected(    (   R4   R)   R&   R"   R.   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_find_tests/   s>    							"c            sµ  t  j ƒ  } t j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } d d d g ‰ ˆ g  g  g  g ‰ ‡ f d †  t _ |  j | ƒ d „  t j _ |  j | ƒ ‡ f d	 †  t j _ |  j | ƒ d
 t f d „  ƒ  Y‰  ‡  f d †  | _	 | j
 ‰ d  ‡ f d † } | | _
 d „  | _ d | _ t | j d d ƒ ƒ } |  j | d g d d g d g g ƒ |  j ˆ  j d d d g ƒ |  j ˆ  j | g  d f g ƒ d  S(   Nc              s   ˆ  t  _ d  S(   N(   R    R!   (    (   R"   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR#   f   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R%   (    (   R&   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR'   i   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R(   (    (   R)   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR*   l   s    t   a_directoryt   test_directoryt   test_directory2c            s   ˆ  j  d ƒ S(   Ni    (   R-   (   R$   (   R.   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   q   s    c         S   s   t  S(   N(   R
   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   t   s    c            s   t  j j |  ƒ ˆ  k S(   N(   R    R$   t   basename(   R$   (   t   directories(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   w   s    t   Modulec           B   s,   e  Z g  Z g  Z d  „  Z d „  Z d Z RS(   c            sP   | ˆ  _  ˆ  j j | ƒ t j  j | ƒ d k rL ‡  f d †  } | ˆ  _ n  d  S(   NRF   c            s'   ˆ  j  j |  | | f ƒ ˆ  j d g S(   Ns    load_tests(   t   load_tests_argst   appendR$   (   R   t   testsR2   (   R   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt
   load_tests‚   s    (   R$   t   pathsRL   R    RH   RN   (   R   R$   RN   (    (   R   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR   ~   s
    	c         S   s   |  j  | j  k S(   N(   R$   (   R   t   other(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   __eq__‡   s    N(   R   R   RO   RK   R   RQ   R   t   __hash__(    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRJ   z   s
   			c            s
   ˆ  |  ƒ S(   N(    (   R   (   RJ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/      s    c            s$   ˆ  |  d | ƒ} | |  j  d g S(   NR2   s    module tests(   R$   (   R	   R2   R3   (   R4   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR5      s    c         S   s   |  S(   N(    (   R6   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ”   s    s   /foos   test*s   a_directory module testss   test_directory load_testss   test_directory module testss   test_directory2 module tests(   R   R   R    R!   R$   R%   R(   R;   t   objectR<   R5   R   R=   R   R>   R?   R   RO   RK   (   R   R   R#   R'   R*   R5   RB   (    (   RJ   RI   R4   R)   R&   R"   R.   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_find_tests_with_packageb   s@    					c            sµ  t  j ƒ  } t j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } t j j ‰ ‡ f d †  } d d d g ‰ ˆ g  g  g  g ‰ ‡ f d †  t _ |  j | ƒ d „  t j _ |  j | ƒ ‡ f d	 †  t j _ |  j | ƒ d
 t f d „  ƒ  Y‰  ‡  f d †  | _	 | j
 ‰ d  ‡ f d † } | | _
 d „  | _ d | _ t | j d d ƒ ƒ } |  j | d g d d g d g g ƒ |  j ˆ  j d d d g ƒ |  j ˆ  j | g  d f g ƒ d  S(   Nc              s   ˆ  t  _ d  S(   N(   R    R!   (    (   R"   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR#   ³   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R%   (    (   R&   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR'   ¶   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R(   (    (   R)   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR*   ¹   s    RE   RF   RG   c            s   ˆ  j  d ƒ S(   Ni    (   R-   (   R$   (   R.   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ¾   s    c         S   s   t  S(   N(   R
   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   Á   s    c            s   t  j j |  ƒ ˆ  k S(   N(   R    R$   RH   (   R$   (   RI   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   Ä   s    RJ   c           B   s&   e  Z g  Z g  Z d  „  Z d „  Z RS(   c            sP   | ˆ  _  ˆ  j j | ƒ t j  j | ƒ d k rL ‡  f d †  } | ˆ  _ n  d  S(   NRF   c            s'   ˆ  j  j |  | | f ƒ ˆ  j d g S(   Ns    load_tests(   RK   RL   R$   (   R   RM   R2   (   R   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRN   Ï   s    (   R$   RO   RL   R    RH   RN   (   R   R$   RN   (    (   R   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR   Ë   s
    	c         S   s   |  j  | j  k S(   N(   R$   (   R   RP   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRQ   Ô   s    (   R   R   RO   RK   R   RQ   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRJ   Ç   s   		c            s
   ˆ  |  ƒ S(   N(    (   R   (   RJ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ×   s    c            s$   ˆ  |  d | ƒ} | |  j  d g S(   NR2   s    module tests(   R$   (   R	   R2   R3   (   R4   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR5   Ù   s    c         S   s   |  S(   N(    (   R6   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   Þ   s    s   /foos   test*.pys   a_directory module testss   test_directory load_testss   test_directory module testss   test_directory2 module tests(   t   unittestR   R    R!   R$   R%   R(   R;   RS   R<   R5   R   R=   R   R>   R?   R   RO   RK   (   R   R   R#   R'   R*   R5   RB   (    (   RJ   RI   R4   R)   R&   R"   R.   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt0   test_find_tests_default_calls_package_load_tests¯   s@    					c            sÄ  t  j ‰ ‡ f d †  } |  j | ƒ t  j j ‰ ‡ f d †  } |  j | ƒ t  j j ‰ ‡ f d †  } |  j | ƒ |  j t j j t d ƒ ƒ i d g t d ƒ 6d d g t d ƒ 6‰ ‡ f d	 †  } | t  _ d
 „  t  j _ d „  t  j _ d t	 f d „  ƒ  Y‰  t
 j ƒ  } ‡  f d †  | _ d „  | _ t d ƒ | _ t | j t d ƒ d ƒ ƒ } |  j | d g  d g g g ƒ |  j ˆ  j d d g ƒ |  j ˆ  j | g  d f | g  d f g ƒ d  S(   Nc              s   ˆ  t  _ d  S(   N(   R    R!   (    (   R"   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR#   ü   s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R%   (    (   R&   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR'      s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R(   (    (   R)   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR*     s    s   /foot
   my_packages   __init__.pys   test_module.pys   /foo/my_packagec            s   t  ˆ  |  ƒ S(   N(   R>   (   R$   (   t   vfs(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   list_dir  s    c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/     s    c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/     s    RJ   c           B   s&   e  Z g  Z g  Z d  „  Z d „  Z RS(   c            sV   | ˆ  _  ˆ  j j | ƒ | j d ƒ r: ‡  f d †  } n ‡  f d †  } | ˆ  _ d  S(   Nt   test_modulec            s'   ˆ  j  j |  | | f ƒ ˆ  j d g S(   Ns    load_tests(   RK   RL   R$   (   R   RM   R2   (   R   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRN   $  s    c            s^   ˆ  j  j |  | | f ƒ d } t j j | ƒ } |  j d | d | ƒ } ˆ  j d | g | S(   Ns   /foo/my_package/__init__.pyt	   start_dirR2   s    load_tests(   RK   RL   R    R$   t   dirnamet   discover(   R   RM   R2   t   __file__t   this_dirt	   pkg_tests(   R   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRN   (  s    	(   R$   RO   RL   R1   RN   (   R   R$   RN   (    (   R   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR      s    		c         S   s   |  j  | j  k S(   N(   R$   (   R   RP   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRQ   3  s    (   R   R   RO   RK   R   RQ   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRJ     s   	c            s
   ˆ  |  ƒ S(   N(    (   R   (   RJ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   7  s    c         S   s   |  S(   N(    (   R6   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   8  s    s   test*.pys   my_package load_testss!   my_package.test_module load_testss   my_package.test_module(   R    R!   R;   R$   R%   R(   t   syst   removeR    RS   RU   R   R<   R=   R   R>   R?   R   RO   RK   (   R   R#   R'   R*   RY   R   RB   (    (   RJ   R)   R&   R"   RX   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt-   test_find_tests_customise_via_package_patternö   s<    			c   
         sÝ  t  j ƒ  } t j j ‰ t j j ‰ ‡ f d †  } d „  t j _ |  j | ƒ t j ‰ ‡ f d †  } |  j | ƒ t j j t j j	 d ƒ ƒ } |  j
 t | j d d d ƒ|  j | j | ƒ |  j | t j ƒ d „  t j _ d „  t j _ ‡ f d	 †  } |  j | ƒ g  ‰  d  ‡  f d
 † } | | _ t | _ | j d d d ƒ } t j j t j j	 d ƒ ƒ } t j j t j j	 d ƒ ƒ }	 |  j | d ƒ |  j | j | ƒ |  j ˆ  |	 d f g ƒ |  j | t j ƒ d  S(   Nc              s   ˆ  t  j _ d  S(   N(   R    R$   R%   (    (   R&   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR'   S  s    c         S   s   t  S(   N(   t   False(   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   V  s    c              s   ˆ  t  j (d  S(   N(   Ra   R$   (    (   t   orig_sys_path(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   restore_pathZ  s    s   /foos   /foo/bart   top_level_dirc         S   s   t  S(   N(   R
   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   f  s    c         S   s   t  S(   N(   R
   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   g  s    c              s   ˆ  t  j _ d  S(   N(   R    R$   R(   (    (   R)   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR*   i  s    c            s   ˆ  j  |  | f ƒ d g S(   NRM   (   RL   (   R[   R2   t	   namespace(   t   _find_tests_args(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR?   n  s    s   /foo/bar/bazR2   s	   ['tests'](   R   R   R    R$   R%   R(   R;   Ra   R    t   normpathR   t   ImportErrorR]   R   R   t   assertInR   R?   t   strR=   (
   R   R   R'   Rf   t	   full_pathR*   R?   RB   Rg   R[   (    (   Ri   Re   R)   R&   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_discoverN  s<    
			c            s>  i d g t  d ƒ 6d g t  d ƒ 6‰ ‡ f d †  } |  j t t d t j ƒ | t _ |  j t t j d t j j ƒ d „  t j _ |  j t t j d	 t j j ƒ d
 „  t j _ |  j t j j	 t  d ƒ ƒ d t
 f d „  ƒ  Y‰  t j ƒ  } ‡  f d †  | _ d „  | _ | j d d d ƒ} |  j | d g g ƒ d  S(   Nt   startdirs	   /toplevels   __init__.pys   /toplevel/startdirc            s   t  ˆ  |  ƒ S(   N(   R>   (   R$   (   RX   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRY   ˆ  s    R!   R%   c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/     s    R(   c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/     s    RJ   c           B   s/   e  Z g  Z g  Z d  „  Z d „  Z d „  Z RS(   c         S   s   | |  _  d  S(   N(   R$   (   R   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR   –  s    c         S   s   d |  j  g S(   Ns   load_tests called (   R$   (   R   R   RM   R2   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRN   ™  s    c         S   s   |  j  | j  k S(   N(   R$   (   R   RP   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRQ   œ  s    (   R   R   RO   RK   R   RN   RQ   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRJ   ’  s
   		c            s
   ˆ  |  ƒ S(   N(    (   R   (   RJ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/      s    c         S   s   |  S(   N(    (   R6   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ¡  s    Rg   s   load_tests called startdir(   R    R;   t   setattrR    R!   R$   R%   R(   Ra   Rb   RS   RU   R   R<   R=   R]   R   (   R   RY   R   RB   (    (   RJ   RX   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt;   test_discover_start_dir_is_package_calls_package_load_tests}  s"    			c            sf   t  j ‰ ‡  f d †  t  _ t  j j ‰ d „  t  j _ t j ‰ ‡ ‡ ‡ f d †  } |  j | ƒ d  S(   Nc            s   ˆ  g S(   N(    (   t   _(   t   fakefile(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ¬  s    c         S   s   t  S(   N(   R
   (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ®  s    c              s#   ˆ  t  j _ ˆ t  _ ˆ t j (d  S(   N(   R    R$   R%   R!   Ra   (    (   R%   R!   Re   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   restore°  s    	(   R    R!   R$   R%   Ra   R;   (   R   Rt   Ru   (    (   Rt   R%   R!   Re   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   setup_import_issue_testsª  s    	
c            s¹   |  j  t t d t j ƒ |  j  t t j d t j j ƒ |  j  t t j d t j j ƒ |  j  t j j t	 d  ƒ t t j ƒ ƒ ‡  f d †  } | t _ d „  t j _ d „  t j _ d  S(   NR!   R%   R(   c            s   t  ˆ  |  ƒ S(   N(   R>   (   R$   (   RX   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRY   »  s    c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ¾  s    c         S   s   |  j  d ƒ S(   Ns   .py(   R1   (   R$   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   ¿  s    (   R;   Rq   R    R!   R$   R%   R(   Ra   t   __setitem__t   sliceR   R>   (   R   RX   RY   (    (   RX   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt    setup_import_issue_package_tests¶  s    (	c            sá   t  j ƒ  } |  j d ƒ | j d ƒ } |  j t j ƒ  t j ƒ |  j	 | j
 ƒ  d ƒ |  j g  | j ƒ |  j	 d t | j ƒ ƒ | j d } |  j d | k d | ƒ t t | ƒ d ƒ d ‰  |  j t ‡  f d †  ƒ d  S(   Ns   test_this_does_not_exist.pyt   .i   i    s6   Failed to import test module: test_this_does_not_exists   missing error string in %rc              s
   ˆ  j  ƒ  S(   N(   t   test_this_does_not_exist(    (   t   test(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   Ó  s    (   RU   R   Rv   R]   Rl   R    t   getcwdRa   R$   R   t   countTestCasest   assertNotEqualt   errorst   lent
   assertTrueR>   R   Rk   (   R   R   RB   t   error(    (   R|   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt.   test_discover_with_modules_that_fail_to_importÁ  s    		c            s  i d g t  d ƒ 6d d g t  d ƒ 6} |  j | ƒ g  ‰  ‡  f d †  } t j ƒ  } | | _ | j t  d ƒ ƒ } |  j t  d ƒ t j ƒ |  j	 | j
 ƒ  d ƒ |  j g  | j ƒ |  j	 d t | j ƒ ƒ | j d } |  j d	 | k d
 | ƒ t t | ƒ d ƒ d } |  j t ƒ  | j ƒ  Wd  QX|  j	 ˆ  d g ƒ x4 t t j d ƒ D] } t j t j | | ƒ ƒ qXWd  S(   NRW   s   /foos   __init__.pys   test_module.pys   /foo/my_packagec            s   ˆ  j  |  ƒ t d ƒ ‚ d  S(   Ns   Cannot import Name(   RL   Rk   (   R   (   t   import_calls(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR<   Ú  s    i   i    s(   Failed to import test module: my_packages   missing error string in %r(   R    Ry   RU   R   R<   R]   Rl   Ra   R$   R   R~   R   R€   R   R‚   R>   R   Rk   RW   t   ranget   picklet   HIGHEST_PROTOCOLt   loadst   dumps(   R   RX   R<   R   RB   Rƒ   R|   t   proto(    (   R…   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt3   test_discover_with_init_modules_that_fail_to_importÕ  s,    		c         C   s†   t  j ƒ  } d „  } | | _ |  j d ƒ | j d ƒ } |  j | j ƒ  d ƒ t  j ƒ  } | j | ƒ |  j t	 | j
 ƒ d ƒ d  S(   Nc         S   s   t  j d ƒ ‚ d  S(   Nt	   skipperoo(   RU   t   SkipTest(   R   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR<   ö  s    s   test_skip_dummy.pyRz   i   (   RU   R   R<   Rv   R]   R   R~   t
   TestResultt   runR   t   skipped(   R   R   R<   RB   t   result(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt8   test_discover_with_module_that_raises_SkipTest_on_importó  s    		c            s7  i d g t  d ƒ 6d d g t  d ƒ 6} |  j | ƒ g  ‰  ‡  f d †  } t j ƒ  } | | _ | j t  d ƒ ƒ } |  j t  d ƒ t j ƒ |  j	 | j
 ƒ  d ƒ t j ƒ  } | j | ƒ |  j	 t | j ƒ d ƒ |  j	 | j d ƒ |  j	 ˆ  d g ƒ x4 t t j d ƒ D] } t j t j | | ƒ ƒ qWd  S(   NRW   s   /foos   __init__.pys   test_module.pys   /foo/my_packagec            s    ˆ  j  |  ƒ t j d ƒ ‚ d  S(   NR   (   RL   RU   RŽ   (   R   (   R…   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR<     s    i   (   R    Ry   RU   R   R<   R]   Rl   Ra   R$   R   R~   R   R   R   R‘   t   testsRunR†   R‡   Rˆ   R‰   RŠ   (   R   RX   R<   R   RB   R’   R‹   (    (   R…   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt=   test_discover_with_init_module_that_raises_SkipTest_on_import  s"    	c         C   s~   t  ƒ  } g  } | j | _ | j d d g ƒ |  j | g  g ƒ g  | (| j d d d d g ƒ |  j | d d g g ƒ d  S(   Nt	   somethingR]   t   foot   bar(   R   RL   t   _do_discoveryt	   parseArgsR   (   R   t   programt   args(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt$   test_command_line_handling_parseArgs  s    	c         C   sŽ   t  ƒ  } g  } | j | _ | j d g ƒ |  j | g  g ƒ |  j | j d ƒ |  j | j t ƒ |  j | j	 t ƒ |  j | j
 t ƒ d  S(   NR–   i   (   R   RL   R™   Rš   R   R   t   assertIsR   Rd   R   R   (   R   R›   Rœ   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt.   test_command_line_handling_discover_by_default(  s    	c         C   s   t  ƒ  } g  } | j | _ | j d d d d d d g ƒ |  j | g  g ƒ |  j | j d ƒ |  j | j t ƒ |  j | j	 t ƒ |  j | j
 t ƒ d  S(   NR–   s   -vs   -bs   -cs   -fi   (   R   RL   R™   Rš   R   R   Rž   R   R
   R   R   (   R   R›   Rœ   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt;   test_command_line_handling_discover_by_default_with_options4  s    	c         C   s³   t  ƒ  } d  | _ t j ƒ  8 } |  j t ƒ   } | j d d d d g ƒ Wd  QXWd  QXt | j	 ƒ t
 k rƒ |  j | j	 d ƒ n |  j | j	 j d ƒ |  j d | j ƒ  ƒ d  S(   Nt   onet   twot   threet   fouri   s   usage:(   i   (   R   R   R   R   t   captured_stderrR   t
   SystemExitR™   t   typet	   exceptiont   intR   Rœ   Rl   t   getvalue(   R   R›   t   stderrt   cm(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt:   test_command_line_handling_do_discovery_too_many_argumentsA  s    		%c         C   sh   t  j t j ƒ } | j ƒ  d t  f d „  ƒ  Y} | ƒ  | _ | j d g ƒ |  j | j d g ƒ d  S(   Nt   Loaderc           B   s   e  Z g  Z d  „  Z RS(   c         S   s   |  j  j | | | f ƒ d S(   NRM   (   Rœ   RL   (   R   R[   R2   Rg   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR]   V  s    (   R   R   Rœ   R]   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR®   T  s   s   -vRz   s   test*.py(   Rz   s   test*.pyN(
   RS   t   __new__RU   t   TestProgramt   _initArgParsersR   R™   R   Rœ   R   (   R   R›   R®   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt;   test_command_line_handling_do_discovery_uses_default_loaderP  s    
c         C   s  t  ƒ  } d t f d „  ƒ  Y} | j d g d | ƒ|  j | j d ƒ |  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j g  d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d	 g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d	 d
 g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d	 d
 d g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d d	 g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d d	 g d | ƒ|  j | j d ƒ |  j | j d g ƒ g  | _ t  ƒ  } | j d d	 g d | ƒ|  j | j d ƒ |  j | j d g ƒ |  j | j	 ƒ |  j | j
 ƒ d d
 d d	 d d g } y d d  l } Wn t k
 rid  } n X| j d ƒ g  | _ t  ƒ  } | j | d | ƒ|  j | j d ƒ |  j | j d g ƒ |  j | j d ƒ |  j | j	 ƒ | d  k	 r|  j | j
 ƒ n  d  S(   NR®   c           B   s   e  Z g  Z d  „  Z RS(   c         S   s   |  j  j | | | f ƒ d S(   NRM   (   Rœ   RL   (   R   R[   R2   Rg   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR]   d  s    (   R   R   Rœ   R]   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR®   b  s   s   -vi   RM   Rz   s   test*.pys	   --verboset   fisht   eggst   hams   -ss   -ts   -ps   -fiÿÿÿÿs   -c(   Rz   s   test*.pyN(   Rz   s   test*.pyN(   Rz   s   test*.pyN(   R³   s   test*.pyN(   R³   R´   N(   R³   R´   Rµ   (   R³   s   test*.pyN(   Rz   s   test*.pyR³   (   Rz   R³   N(   R³   R´   N(   R   RS   R™   R   R   R|   Rœ   R   t   assertFalseR   R   t   signalRk   RL   R‚   (   R   R›   R®   Rœ   R·   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt4   test_command_line_handling_do_discovery_calls_loader_  s~    																	
		c            s»   d t  f d „  ƒ  Y} | t j d <t j j d ƒ ‰  t j ‰ t j j ‰ t j j ‰ ‡  ‡ ‡ ‡ f d †  } |  j	 | ƒ d „  } d „  } d „  } | t _ | t j _ | t j _ ˆ  S(   NRJ   c           B   s   e  Z d  Z RS(   s
   bar/foo.py(   R   R   R^   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRJ   ±  s   R—   c              sQ   ˆ t  _ ˆ t  j _ ˆ t  j _ t j d =ˆ  t j k rM t j j ˆ  ƒ n  d  S(   NR—   (   R    R!   R$   R%   R(   Ra   t   modulesRb   (    (   Rn   R)   R&   R"   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   cleanup¹  s    	
c         S   s   d g S(   Ns   foo.py(    (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR!   Â  s    c         S   s   t  S(   N(   R
   (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR%   Ä  s    c         S   s   t  S(   N(   R
   (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR(   Æ  s    (
   RS   Ra   R¹   R    R$   R    R!   R%   R(   R;   (   R   RJ   Rº   R!   R%   R(   (    (   Rn   R)   R&   R"   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   setup_module_clash°  s    					c         C   s–   |  j  ƒ  } t j ƒ  } t j j d ƒ } t j j d ƒ } t j d | | f ƒ } |  j t	 d | | j
 d d d d ƒ|  j t j d | ƒ d  S(	   NR˜   R—   sZ   'foo' module incorrectly imported from %r. Expected %r. Is this module globally installed?s   ^%s$R[   R2   s   foo.pyi    (   R»   R   R   R    R$   R    t   ret   escapet   assertRaisesRegexRk   R]   R   Ra   (   R   Rn   R   t   mod_dirt   expected_dirt   msg(    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_detect_module_clashÍ  s    	c            sœ   |  j  ƒ  } t j j ‰ t j j d ƒ ‰ t j j d ƒ ‰  ‡ f d †  } |  j | ƒ ‡  ‡ f d †  } | t j _ t j ƒ  } | j d d d d ƒ d  S(   NR˜   R—   c              s   ˆ  t  j _ d  S(   N(   R    R$   t   realpath(    (   t   original_realpath(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRº   ã  s    c            s2   |  t  j j ˆ d ƒ k r. t  j j ˆ  d ƒ S|  S(   Ns   foo.py(   R    R$   t   join(   R$   (   RÀ   R¿   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRÃ   ç  s    R[   R2   s   foo.py(	   R»   R    R$   RÃ   R    R;   RU   R   R]   (   R   Rn   Rº   RÃ   R   (    (   RÀ   R¿   RÄ   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_module_symlink_okÛ  s    c            s™   t  j ƒ  } ˆ g ‰ t j j t j j t  j j ƒ ƒ ‰  t ˆ _	 d  ‡  ‡ ‡ f d † } | | _ | j d ƒ } ˆ j ˆ j	 ƒ ˆ j | j ˆ ƒ d  S(   Nc            s   t  ˆ _ ˆ j |  ˆ  ƒ ˆ S(   N(   R
   t   wasRunR   (   R[   R2   Rh   (   t   expectedPathR   RM   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR?   ö  s    	s   unittest2.test(   R   R   R    R$   R    R\   R|   R^   Rd   RÇ   R   R?   R]   R‚   R   t   _tests(   R   R   R?   RB   (    (   RÈ   R   RM   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_discovery_from_dotted_pathï  s    	$		R^   s'   builtin module with __file__ attribute.c            s¹   t  j ƒ  } t j ‰ d „  t _ t j j ‰ t j j ‰  d „  t j _ t j ‰ ‡  ‡ ‡ ‡ f d †  } |  j | ƒ |  j	 t
 ƒ  } | j d ƒ Wd  QX|  j t | j ƒ d ƒ d  S(   Nc         S   s   d g S(   Ns   test_this_does_not_exist.py(    (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/     s    c         S   s   t  S(   N(   Rd   (   Rs   (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR/   
  s    c              s/   ˆ t  j _ ˆ  t  j _ ˆ t  _ ˆ t j (d  S(   N(   R    R$   R%   R(   R!   Ra   (    (   R(   R%   R!   Re   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRu     s    	Ra   s2   Can not use builtin modules as dotted module names(   RU   R   R    R!   R$   R%   R(   Ra   R;   R   t	   TypeErrorR]   R   Rm   R¨   (   R   R   Ru   R¬   (    (   R(   R%   R!   Re   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt/   test_discovery_from_dotted_path_builtin_modules   s    	
c            sü   t  t d d  ƒ s$ t j d ƒ ‚ n  t j ƒ  } t ‰ t j d ƒ ‰ d d g ˆ _ t j	 d d  d d d g ƒ ˆ _
 ‡ f d †  } ‡ f d	 †  } |  j | ƒ | t _ g  ‰  d  ‡  f d
 † } | | _ t | _ | j d ƒ } |  j | d d g ƒ d  S(   Nt   SimpleNamespaces   Namespaces not supportedt   packages   /as   /bR   t   submodule_search_locationsc            s   ˆ  t  j |  <ˆ  S(   N(   Ra   R¹   (   t   packagenameRœ   t   kwargs(   RÎ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   _import&  s    c              s   ˆ  t  _ d  S(   N(   t   builtinst
   __import__(    (   t   orig_import(    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRº   *  s    c            s   ˆ  j  |  | f ƒ d |  g S(   Ns   %s/tests(   RL   (   R[   R2   Rh   (   Ri   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR?   0  s    s   /a/testss   /b/tests(   t   getattrt   typesR   RU   RŽ   R   RÔ   t
   ModuleTypet   __path__RÍ   t   __spec__R;   RÓ   R?   R>   R=   R]   R   (   R   R   RÒ   Rº   R?   RB   (    (   Ri   RÕ   RÎ   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt-   test_discovery_from_dotted_namespace_packages  s&    				c            s    t  j ƒ  } t j d ƒ ‰ t ‰  ‡ f d †  } ‡  f d †  } |  j | ƒ | t _ |  j t ƒ  } | j	 d ƒ Wd  QX|  j
 t | j ƒ d j ˆ ƒ ƒ d  S(   NRÎ   c            s   ˆ  t  j |  <ˆ  S(   N(   Ra   R¹   (   RÐ   Rœ   RÑ   (   RÎ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRÒ   >  s    c              s   ˆ  t  _ d  S(   N(   RÓ   RÔ   (    (   RÕ   (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyRº   B  s    s%   don't know how to discover from {0!r}(   RU   R   R×   RØ   RÔ   R;   RÓ   R   RË   R]   R   Rm   R¨   t   format(   R   R   RÒ   Rº   R¬   (    (   RÕ   RÎ   s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   test_discovery_failed_discovery9  s    	(    R   R   R   RD   RT   RV   Rc   Ro   Rr   Rv   Ry   R„   RŒ   R“   R•   R   RŸ   R    R­   R²   R¸   R»   RÂ   RÆ   RÊ   RU   t   skipIft   hasattrRa   RÌ   RÛ   RÝ   (    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyR      s6   		3	M	G	X	/	-												Q					 t   __main__(   t   os.pathR    R    R¼   Ra   R×   R‡   RÓ   Rk   t   __builtin__R   RU   t   unittest2.testR   R°   R   t   TestCaseR   R   t   main(    (    (    s<   lib/python2.7/site-packages/unittest2/test/test_discovery.pyt   <module>   s&   ÿ ÿ ÿ 4