ó
”7ùTc           @   sÚ   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z e e d ƒ Z d e j	 f d „  ƒ  YZ
 d e j f d „  ƒ  YZ e ƒ  Z d	 e f d
 „  ƒ  YZ d e j	 f d „  ƒ  YZ e d k rÖ e j ƒ  n  d S(   iÿÿÿÿ(   t   StringION(   t   supportt   installHandlert   Test_TestProgramc           B   sp   e  Z d  „  Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z RS(
   c            së   t  ƒ  ‰ t  ƒ  } d t  f ‡ f d †  ƒ  Y} | ƒ  } t j j ‰  ‡  f d †  } d „  t j _ |  j | ƒ d „  } | t j _ |  j | ƒ t j d | d t d d	 ƒ } |  j | j ˆ ƒ |  j | j | ƒ |  j | j	 d	 ƒ d  S(
   Nt
   FakeRunnerc              s   e  Z ‡  f d  †  Z RS(   c            s   | |  _  ˆ  S(   N(   t   test(   t   selfR   (   t   result(    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   run   s    	(   t   __name__t
   __module__R   (    (   R   (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR      s   c              s   ˆ  t  j _ d  S(   N(   t	   unittest2t   TestProgramt	   parseArgs(    (   t   oldParseArgs(    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   restoreParseArgs   s    c          W   s   d  S(   N(   t   None(   t   args(    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   <lambda>   s    c           S   s   t  j ` d  S(   N(   R   R   R   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt
   removeTest   s    t
   testRunnert   exitt	   verbosityi   (
   t   objectR   R   R   t
   addCleanupR   t   Falset   assertEqualR   R   (   R   R   R   t   runnerR   R   t   program(    (   R   R   s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt
   testNoExit   s    				t   FooBarc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   t  s t ‚ d  S(   N(   t   Truet   AssertionError(   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testPass*   s    c         C   s   t  s t ‚ d  S(   N(   R   R    (   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testFail,   s    (   R	   R
   R!   R"   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   )   s   	t   FooBarLoaderc           B   s    e  Z d  Z d „  Z d „  Z RS(   s3   Test loader that returns a suite containing FooBar.c         C   s   |  j  |  j t j ƒ g ƒ S(   N(   t
   suiteClasst   loadTestsFromTestCaseR   R   (   R   t   module(    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   loadTestsFromModule1   s    c         C   s   |  j  |  j t j ƒ g ƒ S(   N(   R$   R%   R   R   (   R   t   namesR&   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   loadTestsFromNames5   s    (   R	   R
   t   __doc__R'   R)   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR#   /   s   	c      	   C   s~   d t  f d „  ƒ  Y} t j } d g t _ | ƒ  } t j d | d t d d d |  j ƒ  ƒ } | t _ |  j d	 | j ƒ d  S(
   NR   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  t S(   N(   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   ;   s    	(   R	   R
   R   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   :   s   t   faketestR   R   t   defaultTests   unittest.testt
   testLoader(   s   unittest.test(	   R   t   syst   argvt   unittestR   R   R#   R   t	   testNames(   R   R   t   old_argvR   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   test_defaultTest_with_string9   s    			c      	   C   sŠ   d t  f d „  ƒ  Y} t j } d g t _ | ƒ  } t j d | d t d d d g d	 |  j ƒ  ƒ } | t _ |  j d d g | j ƒ d  S(
   NR   c           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  t S(   N(   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   J   s    	(   R	   R
   R   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   I   s   R+   R   R   R,   s   unittest.tests   unittest.test2R-   (	   R   R.   R/   R0   R   R   R#   R   R1   (   R   R   R2   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   test_defaultTest_with_iterableH   s    				c      	   C   sV   t  j d t d d g d t  j d t ƒ  ƒ d |  j ƒ  ƒ } |  j t | d ƒ ƒ d  S(   NR   R/   t   foobarR   t   streamR-   R   (   R   t   mainR   t   TextTestRunnerR    R#   t
   assertTruet   hasattr(   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   test_NonExitY   s
    	c         C   sG   |  j  t t j d d g d t j d t ƒ  ƒ d t d |  j ƒ  ƒd  S(   NR/   R5   R   R6   R   R-   (   t   assertRaisest
   SystemExitR   R7   R8   R    R   R#   (   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt	   test_Exita   s    		c      	   C   sA   |  j  t t j d d g d t j d t ƒ  ƒ d |  j ƒ  ƒd  S(   NR/   R5   R   R6   R-   (   R<   R=   R   R7   R8   R    R#   (   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   test_ExitAsDefaultk   s    		(   R	   R
   R   R   t   TestCaseR   t
   TestLoaderR#   R3   R4   R;   R>   R?   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   
   s   	
				
t   InitialisableProgramc           B   sJ   e  Z e Z d Z d  Z d Z e Z d Z	 e
 j Z d Z d Z d „  Z RS(   i   R   c         G   s   d  S(   N(    (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   __init__~   s    N(   R	   R
   R   R   R   R   R   R,   t	   tb_localsR   R   t   defaultTestLoaderR-   t   progNameR   RC   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyRB   t   s   	R   c           B   s,   e  Z d Z d Z d  Z d „  Z d „  Z RS(   i    c         K   s.   | t  _ t  j r* t  j d 8_ t ‚ n  d  S(   Ni   (   R   t   initArgst
   raiseErrort	   TypeError(   R   t   kwargs(    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyRC   ˆ   s    		c         C   s   | t  _ t S(   N(   R   R   t   RESULT(   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   Ž   s    	N(   R	   R
   R   RG   R   RH   RC   R   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   ƒ   s
   	t   TestCommandLineArgsc           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s:   t  ƒ  |  _ d „  |  j _ d  t _ d  t _ d t _ d  S(   Nc           S   s   d  S(   N(   R   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyR   —   s    i    (   RB   R   t   createTestsR   R   RG   R   RH   (   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   setUp•   s
    		c         C   s   |  j  } x= d D]5 } d | _ | j d  | g ƒ |  j | j d ƒ q Wx= d	 D]5 } d | _ | j d  | g ƒ |  j | j d ƒ qP Wd  S(
   Ns   -qs   --quieti   i    s   -vs	   --verbosei   (   s   -qs   --quiet(   s   -vs	   --verbose(   R   R   R   R   R   (   R   R   t   opt(    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testVerbosityœ   s    			c         C   s  |  j  } x}d
 d d f D]l\ } } | d k r> t r> q n  t | | d  ƒ | j d  g ƒ |  j t | | ƒ t ƒ g  } t | | | ƒ | j d  g ƒ |  j t | | ƒ | ƒ d g } t | | | ƒ | j d  g ƒ |  j t | | ƒ | ƒ d | d } d | } xr| | f D]d} t | | d  ƒ | j d  | g ƒ |  j t | | ƒ t ƒ t | | t ƒ t	 j
 ƒ  2 }	 |  j t ƒ  }
 | j d  | g ƒ Wd  QXWd  QXt |
 j ƒ t k rÚ|  j |
 j d	 ƒ n |  j |
 j j d ƒ t | | t ƒ t	 j
 ƒ  2 }	 |  j t ƒ  }
 | j d  | g ƒ Wd  QXWd  QXt |
 j ƒ t k rk|  j |
 j d	 ƒ q|  j |
 j j d ƒ qWq Wd  S(   Nt   buffert   failfastt   catcht
   catchbreaki*   s   -%si    s   --%si   (   RQ   RQ   (   RR   RR   (   RS   RT   (   i   (   i   (   R   t   hasInstallHandlert   setattrR   R   t   assertIst   getattrR   R   R   t   captured_stderrR<   R=   t   typet	   exceptiont   intR   R   (   R   R   t   argt   attrt   falset   truet	   short_optt   long_optRO   t   stderrt   cm(    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testBufferCatchFailfast©   sH    			
c         C   s   |  j  } t | _ d | _ d | _ d | _ | j ƒ  |  j t j i d d 6d d 6t	 d 6d d 6ƒ |  j t j
 d ƒ |  j | j t ƒ d  S(   NR   RR   RQ   RD   R   (   R   R   R   R   RR   RQ   t   runTestsR   RG   R   R   RW   R   RK   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testRunTestsRunnerClassÚ   s    					
c         C   sb   |  j  } t ƒ  | _ d  t _ | j ƒ  |  j t j ƒ |  j t j d ƒ |  j	 | j
 t ƒ d  S(   NR   (   R   R   R   R   RG   Rf   t   assertIsNoneR   R   RW   R   RK   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testRunTestsRunnerInstanceë   s    		
c         C   su   |  j  } t | _ | j d  d g ƒ |  j t | j ƒ | j ƒ  |  j t j	 i t
 d 6t
 d 6t d 6d d 6ƒ d  S(   Ns   --localsRQ   RR   RD   i   R   (   R   R   R   R   R   R   R   RD   Rf   RG   R   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   test_localsù   s    		
c         C   s†   |  j  } d t _ t | _ d | _ d | _ d | _ d | _ | j ƒ  |  j	 t j
 i  ƒ |  j	 t j d ƒ |  j | j t ƒ d  S(   Ni   R   RR   RQ   R   (   R   R   RH   R   R   RR   RQ   R   Rf   R   RG   RW   R   RK   (   R   R   (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testRunTestsOldRunnerClass  s    							
c            s   t  j d ‰  ˆ  j ‰ ‡  ‡ f d †  } ˆ j | ƒ t ˆ _ ‡ f d †  } | ˆ  _ ˆ j } t | _ t	 | _
 | j ƒ  ˆ j ˆ j ƒ d  S(   Ns   unittest2.mainc              s   ˆ ˆ  _  d  S(   N(   R   (    (   R&   t   original(    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   restore  s    c              s   t  ˆ  _ d  S(   N(   R   t	   installed(    (   R   (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   fakeInstallHandler!  s    (   R.   t   modulesR   R   R   Rn   R   R   RT   R   R   Rf   R9   (   R   Rm   Ro   R   (    (   R&   Rl   R   s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   testCatchBreakInstallsHandler  s    						
(
   R	   R
   RN   RP   Re   Rg   Ri   Rj   Rk   Rq   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyRL   “   s   			1				t   __main__(   t	   six.movesR    R.   R   R0   t   unittest2.testR   R:   RU   R@   R   R   RB   R   RK   R   RL   R	   R7   (    (    (    s:   lib/python2.7/site-packages/unittest2/test/test_program.pyt   <module>   s   j	›