
    =epN                     n    d dl Z d dlmZ  G d de j                  Zedk    r e j                     dS dS )    NLoggingResultc                       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d Zd Zd ZdS )Test_TestSkippingc                 .    G fddt           j                  }g t                    } |d          }|                     |                    |          |           |                     g d           |                     |j        |dfg           g |                                }|                     g d           |                     |j        |dfg           |                     |j        d            G fddt           j                  }g t                    } |d	          }|                     |                    |          |           |                     g d           |                     |j        |d
fg           |                     |j        d           g |                                }|                     g d           |                     |j        |d
fg           |                     |j        d           d S )Nc                        e Zd Z fdZd ZdS ),Test_TestSkipping.test_skipping.<locals>.Fooc                 "    t                    S Nr   selfeventss    2/usr/lib/python3.11/unittest/test/test_skipping.pydefaultTestResultz>Test_TestSkipping.test_skipping.<locals>.Foo.defaultTestResult
       $V,,,    c                 0    |                      d           d S NskipskipTestr   s    r   test_skip_mez9Test_TestSkipping.test_skipping.<locals>.Foo.test_skip_me       f%%%%%r   N__name__
__module____qualname__r   r   r   s   r   Foor	   	   s=        - - - - -& & & & &r   r    r   	startTestaddSkipstopTestr   startTestRunr"   r#   r$   stopTestRun   c                   &    e Zd Z fdZd Zd ZdS )r	   c                 "    t                    S r   r   r   s    r   r   z>Test_TestSkipping.test_skipping.<locals>.Foo.defaultTestResult   r   r   c                 0    |                      d           d S )Ntestingr   r   s    r   setUpz2Test_TestSkipping.test_skipping.<locals>.Foo.setUp    s    i(((((r   c                     d S r    r   s    r   test_nothingz9Test_TestSkipping.test_skipping.<locals>.Foo.test_nothing"   s      r   N)r   r   r   r   r-   r0   r   s   r   r    z,Test_TestSkipping.test_skipping.<locals>.Foo   sB        - - - - -) ) )(((((r   r0   r,   )unittestTestCaser   assertIsrunassertEqualskippedtestsRun)r   r    resulttestr   s       @r   test_skippingzTest_TestSkipping.test_skipping   ss   	& 	& 	& 	& 	& 	& 	&(# 	& 	& 	&
 v&&s>""dhhv&&///!E!E!EFFF4.)9::: "= "= "= 	> 	> 	>4.)9:::!,,,	) 	) 	) 	) 	) 	) 	)(# 	) 	) 	) v&&s>""dhhv&&///!E!E!EFFF4*;)<===!,,, "= "= "= 	> 	> 	>4*;)<===!,,,,,r   c                     G fddt           j                  }g t                    } |d          }|                     |                    |          |           |                     g d           |                     t          |j                  d           |j        d         \  }}|                     |d           |                     |t           j                   | 	                    ||           |j        d         \  }}|                     |d	           |                     |t           j                   | 	                    ||           |                     |j        d
         |df           g |                                }|                     g d           |                     d |j        D             g d           d S )Nc                        e Zd Z fdZd ZdS )5Test_TestSkipping.test_skipping_subtests.<locals>.Fooc                 "    t                    S r   r   r   s    r   r   zGTest_TestSkipping.test_skipping_subtests.<locals>.Foo.defaultTestResult4   r   r   c                 <   |                      d          5  |                      d          5  |                     d           d d d            n# 1 swxY w Y   |                     d           d d d            n# 1 swxY w Y   |                     d           d S )Nr(   a   )bskip 1skip 2skip 3)subTestr   r   s    r   r   zBTest_TestSkipping.test_skipping_subtests.<locals>.Foo.test_skip_me6   s   \\A\&& , ,** 0 0h///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MM(+++, , , , , , , , , , , , , , , h'''''s4   A<AA<A	A<A	A<<B B Nr   r   s   r   r    r=   3   s=        - - - - -( ( ( ( (r   r    r   )r"   r#   r#   r#   r$      r   rD   r(   rE   rB   rF   )r&   r"   r#   r#   r#   r$   r'   c                     g | ]\  }}|S r/   r/   ).0subtestmsgs      r   
<listcomp>z<Test_TestSkipping.test_skipping_subtests.<locals>.<listcomp>R   s    AAA,'3#AAAr   )rD   rE   rF   )
r1   r2   r   r3   r4   r5   lenr6   assertIsInstanceassertIsNot)r   r    r8   r9   rK   rL   r   s         @r   test_skipping_subtestsz(Test_TestSkipping.test_skipping_subtests2   s   	( 	( 	( 	( 	( 	( 	((# 	( 	( 	( v&&s>""dhhv&&/// "9 "9 "9 	: 	: 	:V^,,a000~a(h'''gx'8999$'''~a(h'''gx'8999$'''*T8,<===@ @ @	A 	A 	A 	AA&.AAA777	9 	9 	9 	9 	9r   c                   	
 t           j        ddft           j        ddff}|D ]\  	
 G 	
fddt           j                  } |d          } |d          }t          j        ||g          }g t                    }|                     |                    |          |           |                     t          |j
                  d           g d}|                     |           |                     |j        d	           |                     |j
        |d
fg           |                     |                                           g |                                }|                     g d           |                     |j
        |d
fg           g |                                }|                     g d           |                     |j
        g            d S )NFTc                   n    e Zd ZfdZ  d          d             Z  d          d             ZdS )7Test_TestSkipping.test_skipping_decorators.<locals>.Fooc                 "    t                    S r   r   r   s    r   r   zITest_TestSkipping.test_skipping_decorators.<locals>.Foo.defaultTestResultZ   s    (000r   r,   c                     d S r   r/   r   s    r   	test_skipzATest_TestSkipping.test_skipping_decorators.<locals>.Foo.test_skip]   s    %)Tr   c                     d S r   r/   r   s    r   test_dont_skipzFTest_TestSkipping.test_skipping_decorators.<locals>.Foo.test_dont_skip`   s    *.$r   N)r   r   r   r   rW   rY   )decodo_skip	dont_skipr   s   r   r    rT   Y   sl        1 1 1 1 1 gy)))) *))i++.. ,+...r   r    rW   rY   r(   )r"   r#   r$   r"   
addSuccessr$   rB   r,   r%   )r&   r"   r]   r$   r'   )r1   
skipUnlessskipIfr2   	TestSuiter   r3   r4   r5   rN   r6   r7   
assertTruewasSuccessful)r   op_tabler    test_do_skiprY   suiter8   expectedrZ   r[   r\   r   s           @@@@r   test_skipping_decoratorsz*Test_TestSkipping.test_skipping_decoratorsU   sW   (%6_dE24(0 #	1 #	1$D'9/ / / / / / / / / /h' / / / 3{++L S!122N&n'EFFEF"6**FMM%))F++V444S00!444? ? ?HVX...V_a000V^|Y.G-HIIIOOF0022333F!%%''FV &A &A &A B B BV^|Y.G-HIIIF#''))FV &A &A &A B B BV^R0000G#	1 #	1r   c                    t          j        d           G fddt           j                              }g g t                    } |d          }t          j        |g          }|                     |                    |          |           |                     g d           |                     |j        |dfg           |                     g            g |                                }|                     g d           |                     |j        |dfg           |                     g            d S )Nr,   c                   $    e Zd Z fdZfdZdS ).Test_TestSkipping.test_skip_class.<locals>.Fooc                 "    t                    S r   r   r   s    r   r   z@Test_TestSkipping.test_skip_class.<locals>.Foo.defaultTestResult   r   r   c                 2                         d           d S Nr(   appendr   records    r   test_1z5Test_TestSkipping.test_skip_class.<locals>.Foo.test_1       a     r   N)r   r   r   r   rr   )r   rq   s   r   r    rj   ~   sG        - - - - -! ! ! ! ! ! !r   r    rr   r!   r%   )	r1   r   r2   r   r`   r3   r4   r5   r6   )r   r    r8   r9   re   r   rq   s        @@r   test_skip_classz!Test_TestSkipping.test_skip_class}   sw   	y	!	!	! 	! 	! 	! 	! 	! 	! 	!(# 	! 	! 
"	!	!
 v&&s8}}"D6**eii''000!E!E!EFFF4*;)<===$$$ "= "= "= 	> 	> 	>4*;)<===$$$$$r   c                    t          j        d           G fdd                      } G d d|t           j                  }g t          j                    } |d          }t          j        |g          }|                     |                    |          |           |                     |j        |dfg           |                     g            d S )Nr,   c                       e Zd Z fdZdS )=Test_TestSkipping.test_skip_non_unittest_class.<locals>.Mixinc                 2                         d           d S rm   rn   rp   s    r   rr   zDTest_TestSkipping.test_skip_non_unittest_class.<locals>.Mixin.test_1   rs   r   Nr   r   r   rr   )rq   s   r   Mixinrw      s.        ! ! ! ! ! ! !r   rz   c                       e Zd ZdS );Test_TestSkipping.test_skip_non_unittest_class.<locals>.FooNr   r   r   r/   r   r   r    r|      s        Dr   r    rr   )	r1   r   r2   
TestResultr`   r3   r4   r5   r6   )r   rz   r    r8   r9   re   rq   s         @r   test_skip_non_unittest_classz.Test_TestSkipping.test_skip_non_unittest_class   s   	y	!	!	! 	! 	! 	! 	! 	! 	! 	! 	! 
"	!	!	 	 	 	 	%* 	 	 	$&&s8}}"D6**eii''0004*;)<===$$$$$r   c                 ,    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j        |dfg           d S )Nc                       e Zd Zd Zd ZdS )1Test_TestSkipping.test_skip_in_setup.<locals>.Fooc                 0    |                      d           d S r   r   r   s    r   r-   z7Test_TestSkipping.test_skip_in_setup.<locals>.Foo.setUp   r   r   c                 0    |                      d           d S )Nshouldn't come herefailr   s    r   r   z>Test_TestSkipping.test_skip_in_setup.<locals>.Foo.test_skip_me   s    		/00000r   N)r   r   r   r-   r   r/   r   r   r    r      s2        & & &1 1 1 1 1r   r    r   r!   r   r1   r2   r   r3   r4   r5   r6   r   r    r   r8   r9   s        r   test_skip_in_setupz$Test_TestSkipping.test_skip_in_setup   s    	1 	1 	1 	1 	1(# 	1 	1 	1
 v&&s>""dhhv&&///!E!E!EFFF4.)9:::::r   c                 ,    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j        |dfg           d S )Nc                       e Zd Zd Zd ZdS )3Test_TestSkipping.test_skip_in_cleanup.<locals>.Fooc                     d S r   r/   r   s    r   r   z@Test_TestSkipping.test_skip_in_cleanup.<locals>.Foo.test_skip_me   s    r   c                 0    |                      d           d S r   r   r   s    r   tearDownz<Test_TestSkipping.test_skip_in_cleanup.<locals>.Foo.tearDown   r   r   Nr   r   r   r   r   r/   r   r   r    r      s2          & & & & &r   r    r   r!   r   r   r   s        r   test_skip_in_cleanupz&Test_TestSkipping.test_skip_in_cleanup   s    	& 	& 	& 	& 	&(# 	& 	& 	&
 v&&s>""dhhv&&///!E!E!EFFF4.)9:::::r   c                 ,    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j        |dfg           d S )Nc                       e Zd Zd Zd ZdS )?Test_TestSkipping.test_failure_and_skip_in_cleanup.<locals>.Fooc                 0    |                      d           d S Nr   r   r   s    r   r   zLTest_TestSkipping.test_failure_and_skip_in_cleanup.<locals>.Foo.test_skip_me       		&!!!!!r   c                 0    |                      d           d S r   r   r   s    r   r   zHTest_TestSkipping.test_failure_and_skip_in_cleanup.<locals>.Foo.tearDown   r   r   Nr   r/   r   r   r    r      s2        " " "& & & & &r   r    r   )r"   
addFailurer#   r$   r   r   r   s        r    test_failure_and_skip_in_cleanupz2Test_TestSkipping.test_failure_and_skip_in_cleanup   s    	& 	& 	& 	& 	&(# 	& 	& 	&
 v&&s>""dhhv&&///!S!S!STTT4.)9:::::r   c                 ,    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j        |dfg           d S )Nc                       e Zd Zd Zd ZdS )@Test_TestSkipping.test_skipping_and_fail_in_cleanup.<locals>.Fooc                 0    |                      d           d S r   r   r   s    r   r   zMTest_TestSkipping.test_skipping_and_fail_in_cleanup.<locals>.Foo.test_skip_me   r   r   c                 0    |                      d           d S r   r   r   s    r   r   zITest_TestSkipping.test_skipping_and_fail_in_cleanup.<locals>.Foo.tearDown   r   r   Nr   r/   r   r   r    r      s2        & & &" " " " "r   r    r   )r"   r#   r   r$   r   r   r   s        r   !test_skipping_and_fail_in_cleanupz3Test_TestSkipping.test_skipping_and_fail_in_cleanup   s    	" 	" 	" 	" 	"(# 	" 	" 	"
 v&&s>""dhhv&&///!S!S!STTT4.)9:::::r   c                     G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j        d         d         |           |                     |j	                   | 
                    |                                           d S )Nc                   .    e Zd Zej        d             ZdS )4Test_TestSkipping.test_expected_failure.<locals>.Fooc                 0    |                      d           d S Nhelp me!r   r   s    r   test_diez=Test_TestSkipping.test_expected_failure.<locals>.Foo.test_die       		*%%%%%r   Nr   r   r   r1   expectedFailurer   r/   r   r   r    r      s1        %& & &%& & &r   r    r   r"   addExpectedFailurer$   r   )r1   r2   r   r3   r4   r5   assertFalsefailuresexpectedFailuresunexpectedSuccessesra   rb   r   s        r   test_expected_failurez'Test_TestSkipping.test_expected_failure   s
   	& 	& 	& 	& 	&(# 	& 	& 	& v&&s:dhhv&&///HHH	J 	J 	J)))03A6===3444,,../////r   c                    t           j         G d dt           j                              }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j	        d         d         |           |                     |j
                   |                     |                                           d S )Nc                       e Zd Zd ZdS )GTest_TestSkipping.test_expected_failure_with_wrapped_class.<locals>.Fooc                 0    |                      d           d S NFra   r   s    r   rr   zNTest_TestSkipping.test_expected_failure_with_wrapped_class.<locals>.Foo.test_1       &&&&&r   Nry   r/   r   r   r    r      s#        ' ' ' ' 'r   r    rr   r   r   )r1   r   r2   r   r3   r4   r5   r   r   r   r   ra   rb   r   s        r   (test_expected_failure_with_wrapped_classz:Test_TestSkipping.test_expected_failure_with_wrapped_class   s   		!	' 	' 	' 	' 	'(# 	' 	' 
"	!	' v&&s8}}dhhv&&///HHH	J 	J 	J)))03A6===3444,,../////r   c                 4    G d dt           j                  }t           j         G d d|                      }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j	        d         d         |           |                     |j
                   |                     |                                           d S )Nc                       e Zd Zd ZdS )JTest_TestSkipping.test_expected_failure_with_wrapped_subclass.<locals>.Fooc                 0    |                      d           d S r   r   r   s    r   rr   zQTest_TestSkipping.test_expected_failure_with_wrapped_subclass.<locals>.Foo.test_1   r   r   Nry   r/   r   r   r    r      s#        ' ' ' ' 'r   r    c                       e Zd ZdS )JTest_TestSkipping.test_expected_failure_with_wrapped_subclass.<locals>.BarNr}   r/   r   r   Barr      s        Dr   r   rr   r   r   )r1   r2   r   r   r3   r4   r5   r   r   r   r   ra   rb   )r   r    r   r   r8   r9   s         r   +test_expected_failure_with_wrapped_subclassz=Test_TestSkipping.test_expected_failure_with_wrapped_subclass   sD   	' 	' 	' 	' 	'(# 	' 	' 	' 
	!	 	 	 	 	# 	 	 
"	!	 v&&s8}}dhhv&&///HHH	J 	J 	J)))03A6===3444,,../////r   c                 D    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     t          |j	                  d           |                     |j	        d         d         |           |                     |j
                   |                     |                                           d S )Nc                   .    e Zd Zej        d             ZdS )=Test_TestSkipping.test_expected_failure_subtests.<locals>.Fooc                 f   |                                  5  	 d d d            n# 1 swxY w Y   |                                  5  |                     d           d d d            n# 1 swxY w Y   |                                  5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   r   )rG   r   r   s    r   r   zFTest_TestSkipping.test_expected_failure_subtests.<locals>.Foo.test_die  sd   \\^^                 \\^^ * *IIj)))* * * * * * * * * * * * * * *\\^^ 5 5II34445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s0   #''A$$A(+A(B&&B*-B*Nr   r/   r   r   r    r     s1        %5 5 &%5 5 5r   r    r   )r"   addSubTestSuccessr   r$   r(   r   )r1   r2   r   r3   r4   r5   r   r   rN   r   r   ra   rb   r   s        r   test_expected_failure_subtestsz0Test_TestSkipping.test_expected_failure_subtests  s.   
	5 
	5 
	5 
	5 
	5(# 
	5 
	5 
	5 v&&s:dhhv&&///< < <	= 	= 	= 	)))V455q999f-a03T:::3444,,../////r   c                 D    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     t          |j                  d           |                     d|j        d         d                    | 	                    |j
                   | 	                    |j                   | 	                    |                                           d S )Nc                   4    e Zd Zej        d             Zd ZdS )HTest_TestSkipping.test_expected_failure_and_fail_in_cleanup.<locals>.Fooc                 0    |                      d           d S r   r   r   s    r   r   zQTest_TestSkipping.test_expected_failure_and_fail_in_cleanup.<locals>.Foo.test_die*  r   r   c                 0    |                      d           d S Nzbad tearDownr   r   s    r   r   zQTest_TestSkipping.test_expected_failure_and_fail_in_cleanup.<locals>.Foo.tearDown-      		.)))))r   Nr   r   r   r1   r   r   r   r/   r   r   r    r   )  s@        %& & &%&* * * * *r   r    r   r"   r   r$   r(   AssertionError: bad tearDownr   r1   r2   r   r3   r4   r5   rN   r   assertInr   r   r   rb   r   s        r   )test_expected_failure_and_fail_in_cleanupz;Test_TestSkipping.test_expected_failure_and_fail_in_cleanup(  +   	* 	* 	* 	* 	*(# 	* 	* 	* v&&s:dhhv&&///@@@	B 	B 	BV_--q1114foa6H6KLLL01113444--//00000r   c                     G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j                   |                     |j	                   |                     |j
        |dfg           |                     |                                           d S )Nc                   4    e Zd Zej        d             Zd ZdS )HTest_TestSkipping.test_expected_failure_and_skip_in_cleanup.<locals>.Fooc                 0    |                      d           d S r   r   r   s    r   r   zQTest_TestSkipping.test_expected_failure_and_skip_in_cleanup.<locals>.Foo.test_die=  r   r   c                 0    |                      d           d S r   r   r   s    r   r   zQTest_TestSkipping.test_expected_failure_and_skip_in_cleanup.<locals>.Foo.tearDown@  r   r   Nr   r/   r   r   r    r   <  s@        %& & &%&& & & & &r   r    r   r!   r   r1   r2   r   r3   r4   r5   r   r   r   r   r6   ra   rb   r   s        r   )test_expected_failure_and_skip_in_cleanupz;Test_TestSkipping.test_expected_failure_and_skip_in_cleanup;     	& 	& 	& 	& 	&(# 	& 	& 	& v&&s:dhhv&&///===	? 	? 	?)))011134444.)9:::,,../////r   c                     G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j                   |                     |j	        |g           |                     |
                                           d S )Nc                   .    e Zd Zej        d             ZdS )6Test_TestSkipping.test_unexpected_success.<locals>.Fooc                     d S r   r/   r   s    r   r   z?Test_TestSkipping.test_unexpected_success.<locals>.Foo.test_dieP      r   Nr   r/   r   r   r    r   O  s1        %  &%  r   r    r   )r"   addUnexpectedSuccessr$   r1   r2   r   r3   r4   r5   r   r   r   r   rb   r   s        r   test_unexpected_successz)Test_TestSkipping.test_unexpected_successN  s   	 	 	 	 	(# 	 	 	 v&&s:dhhv&&///JJJ	L 	L 	L)))01113dV<<<--//00000r   c                     G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j                   |                     |j	        |g           |                     |
                                           d S )Nc                   .    e Zd Zej        d             ZdS )?Test_TestSkipping.test_unexpected_success_subtests.<locals>.Fooc                     |                                  5  	 d d d            n# 1 swxY w Y   |                                  5  	 d d d            d S # 1 swxY w Y   d S r   )rG   r   s    r   r   zHTest_TestSkipping.test_unexpected_success_subtests.<locals>.Foo.test_dieb  s    \\^^                 \\^^                   s   #''AAANr   r/   r   r   r    r   a  s1        %  &%  r   r    r   )r"   r   r   r   r$   r   r   s        r    test_unexpected_success_subtestsz2Test_TestSkipping.test_unexpected_success_subtests^  s	   	 	 	 	 	(# 	 	 	 v&&s:dhhv&&///> > >	? 	? 	? 	)))01113dV<<<--//00000r   c                 D    G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     t          |j                  d           |                     d|j        d         d                    | 	                    |j
                   | 	                    |j                   | 	                    |                                           d S )Nc                   4    e Zd Zej        d             Zd ZdS )JTest_TestSkipping.test_unexpected_success_and_fail_in_cleanup.<locals>.Fooc                     d S r   r/   r   s    r   r   zSTest_TestSkipping.test_unexpected_success_and_fail_in_cleanup.<locals>.Foo.test_diey  r   r   c                 0    |                      d           d S r   r   r   s    r   r   zSTest_TestSkipping.test_unexpected_success_and_fail_in_cleanup.<locals>.Foo.tearDown|  r   r   Nr   r/   r   r   r    r   x  s@        %  &%* * * * *r   r    r   r   r(   r   r   r   r   s        r   +test_unexpected_success_and_fail_in_cleanupz=Test_TestSkipping.test_unexpected_success_and_fail_in_cleanupw  r   r   c                     G d dt           j                  }g }t          |          } |d          }|                     |                    |          |           |                     |g d           |                     |j                   |                     |j                   |                     |j	                   |                     |j
        |dfg           |                     |                                           d S )Nc                   4    e Zd Zej        d             Zd ZdS )JTest_TestSkipping.test_unexpected_success_and_skip_in_cleanup.<locals>.Fooc                     d S r   r/   r   s    r   r   zSTest_TestSkipping.test_unexpected_success_and_skip_in_cleanup.<locals>.Foo.test_die  r   r   c                 0    |                      d           d S r   r   r   s    r   r   zSTest_TestSkipping.test_unexpected_success_and_skip_in_cleanup.<locals>.Foo.tearDown  r   r   Nr   r/   r   r   r    r     s@        %  &%& & & & &r   r    r   r!   r   r   r   s        r   +test_unexpected_success_and_skip_in_cleanupz=Test_TestSkipping.test_unexpected_success_and_skip_in_cleanup  r   r   c                     G fddt           j                  t          j                    } d          }t          j        |g          }|                     |                    |          |           |                     |j        |dfg           |                     j	                   |                     j
                   d S )Nc                   ^    e Zd ZdZdZ fdZ fdZ ej        d          d             Z	dS )9Test_TestSkipping.test_skip_doesnt_run_setup.<locals>.FooFc                     d_         d S NT)wasSetUpr   r    s    r   r-   z?Test_TestSkipping.test_skip_doesnt_run_setup.<locals>.Foo.setUp  s    #r   c                     d_         d S r   )wasTornDownr   s    r   tornDownzBTest_TestSkipping.test_skip_doesnt_run_setup.<locals>.Foo.tornDown  s    "&r   r,   c                     d S r   r/   r   s    r   rr   z@Test_TestSkipping.test_skip_doesnt_run_setup.<locals>.Foo.test_1  r   r   N)
r   r   r   r   r   r-   r  r1   r   rr   )r    s   r   r    r     sw        HK$ $ $ $ $' ' ' ' 'X]9%%  &%  r   r    rr   r,   )r1   r2   r~   r`   r3   r4   r5   r6   r   r   r   )r   r8   r9   re   r    s       @r   test_skip_doesnt_run_setupz,Test_TestSkipping.test_skip_doesnt_run_setup  s    		 		 		 		 		 		 		(# 		 		 		 $&&s8}}"D6**eii''0004*;)<===&&&)))))r   c                 6   d  G fddt           j                  }t          j                    } |d          }t          j        |g          }|                     |                    |          |           |                     |j        |dfg           d S )Nc                       fd}|S )Nc                       |  S r   r/   )rA   funcs    r   innerzGTest_TestSkipping.test_decorated_skip.<locals>.decorator.<locals>.inner  s    tQxr   r/   )r  r  s   ` r   	decoratorz8Test_TestSkipping.test_decorated_skip.<locals>.decorator  s!             Lr   c                   R    e Zd Z  ej        d          d                         ZdS )2Test_TestSkipping.test_decorated_skip.<locals>.Foor,   c                     d S r   r/   r   s    r   rr   z9Test_TestSkipping.test_decorated_skip.<locals>.Foo.test_1  s	     r   Nr   r   r   r1   r   rr   )r	  s   r   r    r    sE        X]9%%  &% Y  r   r    rr   r,   r1   r2   r~   r`   r3   r4   r5   r6   )r   r    r8   r9   re   r	  s        @r   test_decorated_skipz%Test_TestSkipping.test_decorated_skip  s    	 	 	
	 	 	 	 	 	 	(# 	 	 	 $&&s8}}"D6**eii''0004*;)<=====r   c                 *    G d dt           j                  }t          j                    } |d          }t          j        |g          }|                     |                    |          |           |                     |j        |dfg           d S )Nc                   .    e Zd Zej        d             ZdS )7Test_TestSkipping.test_skip_without_reason.<locals>.Fooc                     d S r   r/   r   s    r   rr   z>Test_TestSkipping.test_skip_without_reason.<locals>.Foo.test_1  r   r   Nr  r/   r   r   r    r    s/        ]  ]  r   r    rr    r  )r   r    r8   r9   re   s        r   test_skip_without_reasonz*Test_TestSkipping.test_skip_without_reason  s    	 	 	 	 	(# 	 	 	
 $&&s8}}"D6**eii''0004*66666r   c                     G fddt           j                  }g  |d          }|                     t           j                  5 }|                                 d d d            n# 1 swxY w Y   |                     dt          |j                             |                     dg           g  |d          }|                     t           j                  5 }|                                 d d d            n# 1 swxY w Y   |                     dt          |j                             |                     g            d S )Nc                   d    e Zd Z fdZ fdZ fdZ ej        d           fd            ZdS )2Test_TestSkipping.test_debug_skipping.<locals>.Fooc                 2                         d           d S Nr-   rn   r   s    r   r-   z8Test_TestSkipping.test_debug_skipping.<locals>.Foo.setUp      g&&&&&r   c                 2                         d           d S Nr   rn   r   s    r   r   z;Test_TestSkipping.test_debug_skipping.<locals>.Foo.tearDown      j)))))r   c                 \    |                      d                               d           d S )Nskipping exceptiontest1)r   ro   r   s    r   r!  z8Test_TestSkipping.test_debug_skipping.<locals>.Foo.test1  s.    2333g&&&&&r   skipping decoratorc                 2                         d           d S )Ntest2rn   r   s    r   r$  z8Test_TestSkipping.test_debug_skipping.<locals>.Foo.test2  s    g&&&&&r   N)	r   r   r   r-   r   r!  r1   r   r$  r   s   r   r    r    s        ' ' ' ' '* * * * *' ' ' ' ' X]/00' ' ' ' 10' ' 'r   r    r!  r   r-   r$  r"  )	r1   r2   assertRaisesSkipTestdebugr   str	exceptionr5   r   r    r9   cmr   s       @r   test_debug_skippingz%Test_TestSkipping.test_debug_skipping  s   
	' 
	' 
	' 
	' 
	' 
	' 
	'(# 
	' 
	' 
	' s7||x011 	RJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	*C,=,=>>>'+++s7||x011 	RJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	*C,=,=>>>$$$$$s$   A))A-0A-D  DDc                    t          j        d           G fddt           j                              }g  |d          }|                     t           j                  5 }|                                 d d d            n# 1 swxY w Y   |                     dt          |j                             | 	                    g            d S )Nr,   c                   .    e Zd Z fdZ fdZ fdZdS )8Test_TestSkipping.test_debug_skipping_class.<locals>.Fooc                 2                         d           d S r  rn   r   s    r   r-   z>Test_TestSkipping.test_debug_skipping_class.<locals>.Foo.setUp  r  r   c                 2                         d           d S r  rn   r   s    r   r   zATest_TestSkipping.test_debug_skipping_class.<locals>.Foo.tearDown  r  r   c                 2                         d           d S )Nr9   rn   r   s    r   r9   z=Test_TestSkipping.test_debug_skipping_class.<locals>.Foo.test  s    f%%%%%r   Nr   r   r   r-   r   r9   r   s   r   r    r/    s`        ' ' ' ' '* * * * *& & & & & & &r   r    r9   )
r1   r   r2   r%  r&  r'  r   r(  r)  r5   r*  s       @r   test_debug_skipping_classz+Test_TestSkipping.test_debug_skipping_class  s   	y	!	!	& 	& 	& 	& 	& 	& 	&(# 	& 	& 
"	!	& s6{{x011 	RJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	iR\!2!2333$$$$$s   "BB
Bc                     G fddt           j                  }g t                    } |d          }|                     t           j                  5 }|                                 d d d            n# 1 swxY w Y   |                     dt          |j                             | 	                    ddg           d S )Nc                   .    e Zd Z fdZ fdZ fdZdS );Test_TestSkipping.test_debug_skipping_subtests.<locals>.Fooc                 2                         d           d S r  rn   r   s    r   r-   zATest_TestSkipping.test_debug_skipping_subtests.<locals>.Foo.setUp  r  r   c                 2                         d           d S r  rn   r   s    r   r   zDTest_TestSkipping.test_debug_skipping_subtests.<locals>.Foo.tearDown  r  r   c                    |                      d          5                      d           |                     d                               d           d d d            n# 1 swxY w Y                       d           d S )Nr(   r@   rK   skip subtestzend subtestzend test)rG   ro   r   r   s    r   r9   z@Test_TestSkipping.test_debug_skipping_subtests.<locals>.Foo.test  s    \\A\&& 1 1MM),,,MM.111MM-0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 j)))))s   A A$$A(+A(Nr3  r   s   r   r    r7    s`        ' ' ' ' '* * * * ** * * * * * *r   r    r9   r;  r-   rK   )
r1   r2   r   r%  r&  r'  r   r(  r)  r5   )r   r    r8   r9   r+  r   s        @r   test_debug_skipping_subtestsz.Test_TestSkipping.test_debug_skipping_subtests  s   
	* 
	* 
	* 
	* 
	* 
	* 
	*(# 
	* 
	* 
	* v&&s6{{x011 	RJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	nc",&7&7888'9!566666s   A88A<?A<N)r   r   r   r:   rQ   rg   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r,  r4  r<  r/   r   r   r   r      s       (- (- (-T!9 !9 !9F&1 &1 &1P% % %0% % %; ; ;; ; ;; ; ;; ; ;0 0 0 0 0 0"0 0 0(0 0 061 1 1&0 0 0&1 1 1 1 1 121 1 1&0 0 0&* * *(> > >$
7 
7 
7% % %6% % %"7 7 7 7 7r   r   __main__)r1   unittest.test.supportr   r2   r   r   mainr/   r   r   <module>r@     s|     / / / / / /H7 H7 H7 H7 H7) H7 H7 H7V zHMOOOOO r   