ó
9ùTc           @   sÆ   d  d l  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 e	 f d „  ƒ  YZ
 d „  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   StringIOt   MockTracebackc           B   s   e  Z d  d d „  ƒ  YZ RS(   t   TracebackExceptionc           B   s   e  Z d  „  Z d „  Z RS(   c         O   s   | j  d t ƒ |  _ d  S(   Nt   capture_locals(   t   gett   FalseR   (   t   selft   argst   kwargs(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   __init__   s    c         C   s&   d g } |  j  r" | j d ƒ n  | S(   Ns   A tracebackt   locals(   R   t   append(   R   t   result(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   format   s    		(   t   __name__t
   __module__R	   R   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR      s   	(    (   R   R   R   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR      s   c           C   s   t  t j _  d  S(   N(   t	   tracebackt   unittestR   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   restore_traceback   s    t   Test_TestResultc           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 e j e j j d k d ƒ d „  ƒ Z e j e j j d k d ƒ d „  ƒ Z e j e j j d k d ƒ d „  ƒ Z e j e j j d k d ƒ d „  ƒ Z d „  Z d „  Z d „  Z RS(   c         C   s›   t  j ƒ  } |  j | j ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j ƒ d ƒ |  j | j d ƒ |  j | j	 t
 ƒ |  j | j ƒ |  j | j ƒ d  S(   Ni    (   t	   unittest2t
   TestResultt
   assertTruet   wasSuccessfult   assertEqualt   lent   errorst   failurest   testsRunt
   shouldStopR   t   assertIsNonet   _stdout_buffert   _stderr_buffer(   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt	   test_init$   s    c         C   s-   t  j ƒ  } | j ƒ  |  j | j t ƒ d  S(   N(   R   R   t   stopR   R   t   True(   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt	   test_stop2   s    
c         C   sº   d t  j f d „  ƒ  Y} | d ƒ } t  j ƒ  } | j | ƒ |  j | j ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j	 ƒ d ƒ |  j | j
 d ƒ |  j | j t ƒ | j | ƒ d  S(   Nt   Fooc           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_1=   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   <   s   R&   i    i   (   R   t   TestCaseR   t	   startTestR   R   R   R   R   R   R   R   R   t   stopTest(   R   R%   t   testR   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_startTest;   s    c         C   s%  d t  j f d „  ƒ  Y} | d ƒ } t  j ƒ  } | j | ƒ |  j | j ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j	 ƒ d ƒ |  j | j
 d ƒ |  j | j t ƒ | j | ƒ |  j | j ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j	 ƒ d ƒ |  j | j
 d ƒ |  j | j t ƒ 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_result.pyR&   R   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   Q   s   R&   i    i   (   R   R'   R   R(   R   R   R   R   R   R   R   R   R   R)   (   R   R%   R*   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_stopTestP   s    c         C   s$   t  j ƒ  } | j ƒ  | j ƒ  d  S(   N(   R   R   t   startTestRunt   stopTestRun(   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_startTestRun_stopTestRunk   s    
c         C   sÇ   d t  j f d „  ƒ  Y} | d ƒ } t  j ƒ  } | j | ƒ | j | ƒ | j | ƒ |  j | j ƒ  ƒ |  j t	 | j
 ƒ d ƒ |  j t	 | j ƒ d ƒ |  j | j d ƒ |  j | j t ƒ 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_result.pyR&   …   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   „   s   R&   i    i   (   R   R'   R   R(   t
   addSuccessR)   R   R   R   R   R   R   R   R   R   (   R   R%   R*   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_addSuccessƒ   s    c         C   s'  d t  j f d „  ƒ  Y} | d ƒ } y | j d ƒ Wn t j ƒ  } n Xt  j ƒ  } | j | ƒ | j | | ƒ | j | ƒ |  j	 | j
 ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j ƒ d ƒ |  j | j d ƒ |  j | j t ƒ | j d \ } } |  j | | ƒ |  j | t j ƒ 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_result.pyR&   ¬   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   «   s   R&   t   fooi    i   (   R   R'   t   failt   syst   exc_infoR   R(   t
   addFailureR)   t   assertFalseR   R   R   R   R   R   R   R   t   assertIst   assertIsInstancet   sixt   string_types(   R   R%   R*   t   exc_info_tupleR   t	   test_caset   formatted_exc(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_addFailureª   s$    c         C   s#  d t  j f d „  ƒ  Y} | d ƒ } y t ƒ  ‚ Wn t j ƒ  } n Xt  j ƒ  } | j | ƒ | j | | ƒ | j | ƒ |  j	 | j
 ƒ  ƒ |  j t | j ƒ d ƒ |  j t | j ƒ d ƒ |  j | j d ƒ |  j | j t ƒ | j d \ } } |  j | | ƒ |  j | t j ƒ 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_result.pyR&   Ü   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   Û   s   R&   i   i    (   R   R'   t	   TypeErrorR4   R5   R   R(   t   addErrorR)   R7   R   R   R   R   R   R   R   R   R8   R9   R:   R;   (   R   R%   R*   R<   R   R=   R>   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_addErrorÚ   s$    c         C   s´   d t  j f d „  ƒ  Y} | d ƒ } t  j ƒ  } t | _ t t  j _ |  j t	 ƒ | j
 ƒ  | j | ƒ | j ƒ  |  j t | j ƒ d ƒ | j d \ } } |  j d | ƒ d  S(   NR%   c           B   s   e  Z d  „  Z RS(   c         S   s   d d d  S(   Ni   i    (    (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR&   ÷   s    (   R   R   R&   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   ö   s   R&   i   i    s   A tracebacklocals(   R   R'   R   R#   t	   tb_localsR   R   R   t
   addCleanupR   R-   t   runR.   R   R   R   (   R   R%   R*   R   R=   R>   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_addError_localsõ   s    	

c            s/  g  ‰  d t  j f ‡  ‡ ‡ f d †  ƒ  Y} | d ƒ ‰ t  j ƒ  ‰ ˆ j ˆ ƒ |  j ˆ j ƒ  ƒ |  j t ˆ j ƒ d ƒ |  j t ˆ j	 ƒ d ƒ |  j ˆ j
 d ƒ |  j ˆ j t ƒ ˆ j d \ } } ˆ  d } |  j | | ƒ |  j d | ƒ ˆ j	 d \ } } |  j | | ƒ |  j d | ƒ d  S(   NR%   c              s   e  Z ‡  ‡ ‡ f d  †  Z RS(   c      	      s   |  j  d d ƒ g |  j } ˆ  j | ƒ y d d Wn t k
 rT t j ƒ  } n Xˆ j ˆ | | ƒ |  j d ƒ Wd  QXd  S(   NR2   i   i    s   some recognizable failure(   t   subTestt   _subtestR   t   ZeroDivisionErrorR4   R5   t
   addSubTestR3   (   R   t   subtestR<   (   t   logR   R*   (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR&     s    	(   R   R   R&   (    (   RL   R   R*   (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR%   
  s   R&   i   i    RI   s   some recognizable failure(   R   R'   R   RE   R7   R   R   R   R   R   R   R   R   R8   t   assertIn(   R   R%   R=   R>   RK   (    (   RL   R   R*   s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   test_addSubTest  s"    %
c         C   s:   t  j d  t d ƒ } |  j | j |  ƒ d t d ƒ d  S(   Ni   s$   testGetDescriptionWithoutDocstring (s   .Test_TestResult)(   R   t   TextTestResultt   NoneR#   R   t   getDescriptionR   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt"   testGetDescriptionWithoutDocstring+  s
    c      	   C   s«   |  j  d d d d ƒ > t j d  t d ƒ } |  j | j |  j ƒ d t d ƒ Wd  QX|  j  d ƒ > t j d  t d ƒ } |  j | j |  j ƒ d t d ƒ Wd  QXd  S(	   NR2   i   t   bari   s+   testGetSubTestDescriptionWithoutDocstring (s    .Test_TestResult) (bar=2, foo=1)s   some messages    .Test_TestResult) [some message](	   RG   R   RO   RP   R#   R   RQ   RH   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt)   testGetSubTestDescriptionWithoutDocstring2  s    c         C   sP   |  j  ƒ  > t j d  t d ƒ } |  j | j |  j ƒ d t d ƒ Wd  QXd  S(   Ni   s4   testGetSubTestDescriptionWithoutDocstringAndParams (s   .Test_TestResult) (<subtest>)(	   RG   R   RO   RP   R#   R   RQ   RH   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt2   testGetSubTestDescriptionWithoutDocstringAndParams@  s
    c         C   so   |  j  d d ƒ W |  j  d d ƒ > t j d  t d ƒ } |  j | j |  j ƒ d t d ƒ Wd  QXWd  QXd  S(   NR2   i   RS   i   s1   testGetNestedSubTestDescriptionWithoutDocstring (s    .Test_TestResult) (bar=2, foo=1)(	   RG   R   RO   RP   R#   R   RQ   RH   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt/   testGetNestedSubTestDescriptionWithoutDocstringH  s    i   s)   Docstrings are omitted with -O2 and abovec         C   s:   t  j d t d ƒ } |  j | j |  ƒ d t d ƒ d S(   s5   Tests getDescription() for a method with a docstring.i   s(   testGetDescriptionWithOneLineDocstring (sG   .Test_TestResult)
Tests getDescription() for a method with a docstring.N(   R   RO   RP   R#   R   RQ   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt&   testGetDescriptionWithOneLineDocstringQ  s    c         C   s\   t  j d t d ƒ } |  j d d d d ƒ ) |  j | j |  j ƒ d t d ƒ Wd QXd S(   s5   Tests getDescription() for a method with a docstring.i   R2   RS   i   s/   testGetSubTestDescriptionWithOneLineDocstring (sV   .Test_TestResult) (bar=2, foo=1)
Tests getDescription() for a method with a docstring.N(	   R   RO   RP   R#   RG   R   RQ   RH   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt-   testGetSubTestDescriptionWithOneLineDocstring\  s
    c         C   s:   t  j d t d ƒ } |  j | j |  ƒ d t d ƒ d S(   so   Tests getDescription() for a method with a longer docstring.
        The second line of the docstring.
        i   s*   testGetDescriptionWithMultiLineDocstring (sN   .Test_TestResult)
Tests getDescription() for a method with a longer docstring.N(   R   RO   RP   R#   R   RQ   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt(   testGetDescriptionWithMultiLineDocstringh  s    c         C   s\   t  j d t d ƒ } |  j d d d d ƒ ) |  j | j |  j ƒ d t d ƒ Wd QXd S(   so   Tests getDescription() for a method with a longer docstring.
        The second line of the docstring.
        i   R2   RS   i   s1   testGetSubTestDescriptionWithMultiLineDocstring (s]   .Test_TestResult) (bar=2, foo=1)
Tests getDescription() for a method with a longer docstring.N(	   R   RO   RP   R#   RG   R   RQ   RH   R   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt/   testGetSubTestDescriptionWithMultiLineDocstringv  s
    c         C   sb   d t  f d „  ƒ  Y} t j ƒ  } |  j | j | ƒ ƒ t | j j d <|  j | j | ƒ ƒ d  S(   Nt   Framec           B   s   e  Z d  e f d „  ƒ  YZ RS(   t   tb_framec           B   s   e  Z i  Z RS(    (   R   R   t	   f_globals(    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR\   ‡  s   (   R   R   t   objectR\   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR[   †  s   t
   __unittest(	   R^   R   R   R7   t   _is_relevant_tb_levelR#   R\   R]   R   (   R   R[   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   testStackFrameTrimming…  s
    c         C   sÄ   t  j ƒ  } d „  | _ t | _ | j d  d  ƒ |  j | j ƒ t  j ƒ  } d „  | _ t | _ | j	 d  d  ƒ |  j | j ƒ t  j ƒ  } d „  | _ t | _ | j
 d  ƒ |  j | j ƒ d  S(   Nc          W   s   d S(   Nt    (    (   t   _(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   <lambda>‘  s    c          W   s   d S(   NRb   (    (   Rc   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyRd   —  s    c          W   s   d S(   NRb   (    (   Rc   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyRd     s    (   R   R   t   _exc_info_to_stringR#   t   failfastRA   RP   R   R   R6   t   addUnexpectedSuccess(   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   testFailFast  s    			c            sT   t  j d t ƒ  d t ƒ } t ˆ  _ ‡  f d †  } | j | ƒ ˆ  j ˆ  j ƒ d  S(   Nt   streamRf   c            s   t  ˆ  _ ˆ  j |  j ƒ d  S(   N(   R#   t   testRanR   Rf   (   R   (   R   (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR*   ¥  s    	(   R   t   TextTestRunnerR    R#   R   Rj   RE   R   (   R   t   runnerR*   (    (   R   s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   testFailFastSetByRunner¢  s
    	(   R   R   R!   R$   R+   R,   R/   R1   R?   RB   RF   RN   RR   RT   RU   RV   R   t   skipIfR4   t   flagst   optimizeRW   RX   RY   RZ   Ra   Rh   Rm   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyR      s2   
							'	0			#					
	
	t   TestOutputBufferingc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j |  _ t  j |  _ d  S(   N(   R4   t   stdoutt	   _real_outt   stderrt	   _real_err(   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   setUp®  s    c         C   s   |  j  t _ |  j t _ d  S(   N(   Rs   R4   Rr   Ru   Rt   (   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   tearDown²  s    c         C   s‹   |  j  } |  j } t j ƒ  } |  j | j ƒ |  j | t j ƒ |  j | t j	 ƒ | j
 |  ƒ |  j | t j ƒ |  j | t j	 ƒ d  S(   N(   Rs   Ru   R   R   R7   t   bufferR8   R4   Rr   Rt   R(   (   R   t   real_outt   real_errR   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   testBufferOutputOff¶  s    		c         C   s  |  j  } |  j } t j ƒ  } |  j | j ƒ t | _ |  j | t j	 ƒ |  j | t j
 ƒ | j |  ƒ |  j | t j	 ƒ |  j | t j
 ƒ |  j t j	 t ƒ |  j t j
 t ƒ |  j t j	 t j
 ƒ t j	 } t j
 } t ƒ  | _ t ƒ  | _ d GHt j
 j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ |  j | j j ƒ  d ƒ |  j | j j ƒ  d ƒ | j |  ƒ | j |  ƒ |  j t j	 | j ƒ |  j t j
 | j ƒ |  j | j j ƒ  d ƒ |  j | j j ƒ  d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ d  S(   NR2   s   bar
s   foo
Rb   (   Rs   Ru   R   R   R7   Rx   R#   R8   R4   Rr   Rt   R(   t   assertIsNotR9   R    t   _original_stdoutt   _original_stderrt   writeR   t   getvalueR0   R)   (   R   Ry   Rz   R   t
   out_streamt
   err_stream(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt#   testBufferOutputStartTestAddSuccessÅ  s>    					c         C   s&   t  j ƒ  } t | _ | j |  ƒ | S(   N(   R   R   R#   Rx   R(   (   R   R   (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   getStartedResultõ  s    	c         C   s–  t  t j _ |  j t ƒ xvd d t f d d t f d d t f d d t f g D]>\ } } } |  j ƒ  } t	 ƒ  | _
 t	 ƒ  | _ d GH| r¡ t j j d ƒ n  t | | ƒ } | |  d ƒ | j |  ƒ t | | ƒ } |  j t | ƒ d ƒ | d \ } } t j d	 ƒ }	 d
 }
 | r,t j d ƒ }
 n  d |	 |
 f } |  j | |  ƒ |  j | j j ƒ  |	 ƒ |  j | j
 j ƒ  |
 ƒ |  j | | ƒ qP Wd  S(   NR   RA   R   R6   R2   s   bar
i   i    s9   
                Stdout:
                foo
            Rb   s9   
                Stderr:
                bar
            s   A traceback%s%s(   NNN(   R   R   R   R   RD   R   R#   R   R„   R    R~   R}   R4   Rt   R   t   getattrRP   R)   R   R   t   textwrapt   dedentR8   R€   t   assertMultiLineEqual(   R   t   message_attrt   add_attrt   include_errorR   t   addFunctiont   result_listR*   t   messaget   expectedOutMessaget   expectedErrMessaget   expectedFullMessage(    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt!   testBufferOutputAddErrorOrFailureû  s<    	(   R   R   Rv   Rw   R{   Rƒ   R„   R’   (    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyRq   ¬  s   				0	t   __main__(   R4   R†   t
   traceback2R   R:   t	   six.movesR    R   R   R^   R   R   R'   R   Rq   R   t   main(    (    (    s9   lib/python2.7/site-packages/unittest2/test/test_result.pyt   <module>   s   
	ÿ “}