ó
ˆ5ùTc           @   sÑ   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m Z m	 Z	 d  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   StringIO(   t   u(   t   LoggingResultt   OldTestResult(   t   _Outcomet   TestCleanUpc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c      
      s  d t  j f d „  ƒ  Y} | d ƒ } |  j | j g  ƒ g  ‰  ‡  f d †  } ‡  f d †  } | j | d d d d	 d
 d d ƒ| j | ƒ |  j | j | d t d	 d
 d d ƒ f | d i  f g ƒ | j ƒ  } |  j | ƒ |  j ˆ  d d i  f d d t d	 d
 d d ƒ f g ƒ d  S(   Nt   TestableTestc           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   t   self(    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testNothing   s    (   t   __name__t
   __module__R   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR      s   R   c             s   ˆ  j  d |  | f ƒ d  S(   Ni   (   t   append(   t   argst   kwargs(   t   cleanups(    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   cleanup1   s    c             s   ˆ  j  d |  | f ƒ d  S(   Ni   (   R   (   R   R   (   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   cleanup2   s    i   i   i   t   fourt   hellot   fivet   goodbye(   i   i   i   (    (    (   i   i   i   (   t	   unittest2t   TestCaset   assertEqualt	   _cleanupst
   addCleanupt   dictt
   doCleanupst
   assertTrue(   R   R   t   testR   R   t   result(    (   R   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testCleanUp   s    "c            s  d t  j f d „  ƒ  Y} | d ƒ } t ƒ  } | _ t d ƒ ‰  t d ƒ ‰ ‡  f d †  } ‡ f d †  } | j | ƒ | j | ƒ |  j | j ƒ  ƒ |  j | j ƒ t	 | j
 ƒ \ \ } \ } } } \ } \ }	 }
 } |  j | | f t ˆ  f ƒ |  j |	 |
 f t ˆ f ƒ d  S(   NR   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   /   s    (   R	   R
   R   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   .   s   R   t   foot   barc              s
   ˆ  ‚ d  S(   N(    (    (   t   exc1(    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   7   s    c              s
   ˆ  ‚ d  S(   N(    (    (   t   exc2(    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   :   s    (   R   R   R   t   _outcomet	   ExceptionR   t   assertFalseR   t   successt   reversedt   errorsR   (   R   R   R   t   outcomeR   R   t   _t   Type1t	   instance1t   Type2t	   instance2(    (   R"   R#   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testCleanUpWithErrors-   s    3c            s  t  ‰  g  ‰ d t j f ‡  ‡ f d †  ƒ  Y} | d ƒ ‰ ‡ f d †  } ‡ f d †  } ˆ j | ƒ ˆ j | ƒ ‡ ‡ ‡ f d †  } t j ƒ  } | | _ ˆ j | ƒ ˆ j ˆ d d d	 d
 d d g ƒ t ‰  g  ‰ | d ƒ ‰ ˆ j | ƒ ˆ j | ƒ ˆ j ˆ d d g ƒ d  S(   NR   c              s8   e  Z ‡  ‡ f d  †  Z ‡ f d †  Z ‡ f d †  Z RS(   c            s&   ˆ j  d ƒ ˆ  r" t d ƒ ‚ n  d  S(   Nt   setUpR    (   R   R%   (   R   (   t   blowUpt   ordering(    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR1   M   s    c            s   ˆ  j  d ƒ d  S(   NR   (   R   (   R   (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   R   s    c            s   ˆ  j  d ƒ d  S(   Nt   tearDown(   R   (   R   (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR4   U   s    (   R	   R
   R1   R   R4   (    (   R2   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   L   s   R   c              s   ˆ  j  d ƒ d  S(   NR   (   R   (    (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   Z   s    c              s   ˆ  j  d ƒ d  S(   NR   (   R   (    (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   \   s    c            s!   ˆ j  |  ˆ ƒ ˆ  j d ƒ d  S(   NR'   (   R   R   (   t	   some_test(   R3   R   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR'   a   s    R1   R   R4   R   R   R'   (	   t   FalseR   R   R   t
   TestResultt
   addSuccesst   runR   t   True(   R   R   R   R   R'   R   (    (   R2   R3   R   R   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testCleanupInRunH   s(    "	c            s…   g  ‰ d t  j f ‡  ‡ f d †  ƒ  Y} | d ƒ ‰ ‡ ‡ ‡ f d †  ‰  ‡ f d †  ‰ ˆ j ƒ  |  j ˆ d d d d	 d
 g ƒ d  S(   NR   c              s8   e  Z ‡  ‡ f d  †  Z ‡ f d †  Z ‡ f d †  Z RS(   c            s   ˆ j  d ƒ |  j ˆ  ƒ d  S(   NR1   (   R   R   (   R   (   R   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR1   w   s    c            s   ˆ  j  d ƒ d  S(   NR   (   R   (   R   (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   {   s    c            s   ˆ  j  d ƒ d  S(   NR4   (   R   (   R   (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR4   ~   s    (   R	   R
   R1   R   R4   (    (   R   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   v   s   R   c              s   ˆ j  d ƒ ˆ j ˆ  ƒ d  S(   NR   (   R   R   (    (   R   R3   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   ƒ   s    c              s   ˆ  j  d ƒ d  S(   NR   (   R   (    (   R3   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR   †   s    R1   R   R4   R   R   (   R   R   t   debugR   (   R   R   (    (   R   R   R3   R   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt!   testTestCaseDebugExecutesCleanupss   s    "
(   R	   R
   R   R0   R;   R=   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR      s   			+t   Test_TextTestRunnerc           B   sz   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 RS(   s   Tests for TextTestRunner.c         C   s/   t  j j d ƒ |  _ |  j r+ t  j d =n  d  S(   Nt   PYTHONWARNINGS(   t   ost   environt   gett   pythonwarnings(   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR1      s    	c         C   s    |  j  r |  j  t j d <n  d  S(   NR?   (   RC   R@   RA   (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR4   —   s    	c         C   sy   t  j ƒ  } |  j | j ƒ |  j | j ƒ |  j | j d ƒ |  j | j ƒ |  j | j	 t  j
 ƒ |  j | j ƒ d  S(   Ni   (   R   t   TextTestRunnerR&   t   failfastt   bufferR   t	   verbosityR   t   descriptionst   resultclasst   TextTestResultt	   tb_locals(   R   t   runner(    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt	   test_initœ   s    c            sO   d t  j f ‡  f d †  ƒ  Y‰  d t  j ˆ  f d „  ƒ  Y} | d  d  d ƒ d  S(   Nt   AResultc              s   e  Z ‡  f d  †  Z RS(   c            s    t  ˆ  |  ƒ j | | | ƒ d  S(   N(   t   supert   __init__(   R   t   streamRH   RG   (   RN   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRP   §   s    (   R	   R
   RP   (    (   RN   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRN   ¦   s   t   ATextResultc           B   s   e  Z RS(    (   R	   R
   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRR   ª   s   i   (   t   unittestR7   RJ   t   None(   R   RR   (    (   RN   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   test_multiple_inheritance¥   s    c            s   d t  j f d „  ƒ  Y} t  j ƒ  ‰  t  j d t ƒ  d t d t ƒ } ‡  f d †  | _ | j | d ƒ ƒ |  j ˆ  j	 ƒ |  j ˆ  j
 ƒ d  S(   Nt   Testc           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testFoo´   s    (   R	   R
   RW   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRV   ³   s   RQ   RE   RF   c              s   ˆ  S(   N(    (    (   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   <lambda>º   s    RW   (   R   R   R7   RD   R    R:   t   _makeResultR9   R   RE   RF   (   R   RV   RL   (    (   R   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testBufferAndFailfast²   s    	c         C   sJ   t  j d t j ƒ  d t ƒ } | j t  j ƒ  ƒ } |  j t | j ƒ d  S(   NRQ   RK   (	   RS   RD   t   ioR    R:   R9   t	   TestSuiteR   RK   (   R   RL   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   test_localsÀ   s    c            sÅ   d t  j f d „  ƒ  Y} t  j j ‰  ‡  f d †  } ˆ j | ƒ t  j ƒ  ‰ t  j d t ƒ  ƒ } ‡ f d †  | _ d ˆ _	 ‡ ‡ f d †  } | t  j _ | j
 t  j ƒ  ƒ ˆ j ˆ j	 d ƒ d  S(	   NRV   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRW   Ç   s    (   R	   R
   RW   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRV   Æ   s   c              s   ˆ  t  j _ d  S(   N(   R   RL   t   registerResult(    (   t   originalRegisterResult(    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   cleanupÊ   s    RQ   c              s   ˆ  S(   N(    (    (   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRX   Ñ   s    i    c            s#   ˆ j  d 7_  ˆ j |  ˆ  ƒ d  S(   Ni   (   t   wasRegisteredR   (   t
   thisResult(   R   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   fakeRegisterResultÔ   s    i   (   R   R   RL   R^   R   R7   RD   R    RY   Ra   R9   R\   R   (   R   RV   R`   RL   Rc   (    (   R_   R   R   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   testRunnerRegistersResultÅ   s    	c            sN   d t  f ‡  f d †  ƒ  Y‰  t j d t ƒ  d ˆ  ƒ } | j t j ƒ  ƒ d  S(   Nt   OldTextResultc              s&   e  Z ‡  f d  †  Z d Z d „  Z RS(   c            s   t  ˆ  |  ƒ j ƒ  d  S(   N(   RO   RP   (   R   R+   (   Re   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRP   Þ   s    t    c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   printErrorsá   s    (   R	   R
   RP   t
   separator2Rg   (    (   Re   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRe   Ý   s   RQ   RI   (   R   R   RD   R    R9   R\   (   R   RL   (    (   Re   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt7   test_works_with_result_without_startTestRun_stopTestRunÜ   s    	c            s}   d t  f d „  ƒ  Y‰ d t j f ‡  ‡ f d †  ƒ  Y‰  g  } ˆ  | ƒ } | j t j ƒ  ƒ d d g } |  j | | ƒ d  S(   Nt   LoggingTextResultc           B   s   e  Z d  Z d „  Z RS(   Rf   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRg   ë   s    (   R	   R
   Rh   Rg   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRj   é   s   t   LoggingRunnerc              s&   e  Z ‡  f d  †  Z ‡ f d †  Z RS(   c            s&   t  ˆ  |  ƒ j t ƒ  ƒ | |  _ d  S(   N(   RO   RP   R    t   _events(   R   t   events(   Rk   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRP   ï   s    c            s   ˆ  |  j  ƒ S(   N(   Rl   (   R   (   Rj   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRY   ó   s    (   R	   R
   RP   RY   (    (   Rk   Rj   (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRk   î   s   t   startTestRunt   stopTestRun(   R   R   RD   R9   R\   R   (   R   Rm   RL   t   expected(    (   Rk   Rj   s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt$   test_startTestRun_stopTestRun_calledè   s    "c         C   s‰   t  t d ƒ ƒ } t j | ƒ } xa t d t j d ƒ D]I } t j | d | ƒ} t j | ƒ } |  j	 | j
 j ƒ  | j ƒ  ƒ q8 Wd  S(   NR    i   i   t   protocol(   R    R   R   RD   t   ranget   picklet   HIGHEST_PROTOCOLt   dumpst   loadsR   RQ   t   getvalue(   R   RQ   RL   Rr   t   st   obj(    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   test_pickle_unpickleü   s    c         C   s~   d „  } t  ƒ  } t  ƒ  } t  ƒ  } t j | | | d | ƒ} |  j | j | ƒ | j | | f } |  j | j ƒ  | ƒ d  S(   Nc          W   s   |  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   MockResultClass  s    RI   (   t   objectR   RD   R   RI   RQ   RY   (   R   R|   t   STREAMt   DESCRIPTIONSt	   VERBOSITYRL   t   expectedresult(    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   test_resultclass  s    					c         C   sK   d t  j f d „  ƒ  Y} t  j d t d t ƒ  ƒ } | j | d ƒ ƒ d  S(   NRV   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRW     s    (   R	   R
   RW   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyRV     s   RI   RQ   RW   (   R   R   RD   R   R    R9   (   R   RV   RL   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   test_oldresult  s    (   R	   R
   t   __doc__R1   R4   RM   RU   RZ   R]   Rd   Ri   Rq   R{   R‚   Rƒ   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyR>      s   												t   __main__(   R[   R@   Rt   t	   six.movesR    t   sixR   t   unittest2.test.supportR   R   R   RS   t   unittest2.caseR   R   R   R>   R	   t   main(    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_runner.pyt   <module>   s   “