
    4hhw@                     |    S SK r S SKrS SKrS r " S S\R                  5      r\S:X  a  \R                  " 5         gg)    Nc                  ,    [         R                  " 5       $ N)unittest
TestResult)_s    G/opt/python-3.13.8/usr/lib/python3.13/test/test_unittest/test_setups.pyresultFactoryr	      s          c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rSrg)
TestSetups   c                 Z    [         R                  " [        [        R                  " 5       S9$ )N)resultclassstream)r   TextTestRunnerr	   ioStringIOselfs    r   	getRunnerTestSetups.getRunner   s"    &&=13@ 	@r
   c                    [         R                  " 5       nU H3  n[         R                  R                  U5      nUR	                  U5        M5     U R                  5       n[         R                  " 5       nUR                  U5        UR                  [         R                  " 5       5        UR                  [         R                  " 5       5        UR                  U5      $ r   )r   	TestSuitedefaultTestLoaderloadTestsFromTestCaseaddTestsr   addTestrun)r   casessuitecasetestsrunner	realSuites          r   runTestsTestSetups.runTests   s    ""$D..DDTJENN5!  ! &&(	% h((*+(,,./zz)$$r
   c                   ^  " U4S jS[         R                  5      mU R                  T5      nU R                  TR                  S5        U R                  UR
                  S5        U R                  [        UR                  5      S5        g )Nc                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g))TestSetups.test_setup_class.<locals>.Test!   r   c                 l   > T=R                   S-  sl         [        R                  R                  5         g N   )setUpCalledr   TestCase
setUpClassclsTests    r   r0   4TestSetups.test_setup_class.<locals>.Test.setUpClass#   s&      A% !!,,.r
   c                     g r    r   s    r   test_one2TestSetups.test_setup_class.<locals>.Test.test_one'       r
   c                     g r   r6   r   s    r   test_two2TestSetups.test_setup_class.<locals>.Test.test_two)   r9   r
   r6   N)
__name__
__module____qualname____firstlineno__r.   classmethodr0   r7   r;   __static_attributes__r3   s   r   r3   r)   !   s$    K/ /r
   r3   r-      r   )r   r/   r%   assertEqualr.   testsRunlenerrorsr   resultr3   s     @r   test_setup_classTestSetups.test_setup_class    sh    		8$$ 		 t$))1-!,V]]+Q/r
   c                   ^  " U4S jS[         R                  5      mU R                  T5      nU R                  TR                  S5        U R                  UR
                  S5        U R                  [        UR                  5      S5        g )Nc                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g),TestSetups.test_teardown_class.<locals>.Test3   r   c                 l   > T=R                   S-  sl         [        R                  R                  5         g r,   tearDownCalledr   r/   tearDownClassr1   s    r   rT   :TestSetups.test_teardown_class.<locals>.Test.tearDownClass5   &    ##q(#!!//1r
   c                     g r   r6   r   s    r   r7   5TestSetups.test_teardown_class.<locals>.Test.test_one9   r9   r
   c                     g r   r6   r   s    r   r;   5TestSetups.test_teardown_class.<locals>.Test.test_two;   r9   r
   r6   N
r=   r>   r?   r@   rS   rA   rT   r7   r;   rB   rC   s   r   r3   rO   3   $    N2 2r
   r3   r-   rD   r   r   r/   r%   rE   rS   rF   rG   rH   rI   s     @r   test_teardown_classTestSetups.test_teardown_class2   sh    		8$$ 		 t$,,a0!,V]]+Q/r
   c                   ^^  " U4S jS[         R                  5      m " U4S jS[         R                  5      mU R                  TT5      nU R                  TR                  S5        U R                  TR                  S5        U R                  UR
                  S5        U R                  [        UR                  5      S5        g )Nc                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g)8TestSetups.test_teardown_class_two_classes.<locals>.TestE   r   c                 l   > T=R                   S-  sl         [        R                  R                  5         g r,   rR   r1   s    r   rT   FTestSetups.test_teardown_class_two_classes.<locals>.Test.tearDownClassG   rV   r
   c                     g r   r6   r   s    r   r7   ATestSetups.test_teardown_class_two_classes.<locals>.Test.test_oneK   r9   r
   c                     g r   r6   r   s    r   r;   ATestSetups.test_teardown_class_two_classes.<locals>.Test.test_twoM   r9   r
   r6   Nr[   rC   s   r   r3   rb   E   r\   r
   r3   c                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g)9TestSetups.test_teardown_class_two_classes.<locals>.Test2P   r   c                 l   > T=R                   S-  sl         [        R                  R                  5         g r,   rR   r2   Test2s    r   rT   GTestSetups.test_teardown_class_two_classes.<locals>.Test2.tearDownClassR   s&    $$)$!!//1r
   c                     g r   r6   r   s    r   r7   BTestSetups.test_teardown_class_two_classes.<locals>.Test2.test_oneV   r9   r
   c                     g r   r6   r   s    r   r;   BTestSetups.test_teardown_class_two_classes.<locals>.Test2.test_twoX   r9   r
   r6   Nr[   ro   s   r   ro   rk   P   r\   r
   ro   r-      r   r]   )r   rJ   r3   ro   s     @@r   test_teardown_class_two_classes*TestSetups.test_teardown_class_two_classesD   s    		8$$ 				H%% 		 tU+,,a0--q1!,V]]+Q/r
   c                 `    " S S[         R                  5      nU R                  U5      nU R                  UR                  S5        U R                  [        UR                  5      S5        UR                  S   u  p4U R                  [        U5      S[        < SUR                  < S35        g )Nc                   0    \ rS rSr\S 5       rS rS rSrg)7TestSetups.test_error_in_setupclass.<locals>.BrokenTestc   c                     [        S5      eNfoo	TypeErrorr2   s    r   r0   BTestSetups.test_error_in_setupclass.<locals>.BrokenTest.setUpClassd   s    &&r
   c                     g r   r6   r   s    r   r7   @TestSetups.test_error_in_setupclass.<locals>.BrokenTest.test_oneg   r9   r
   c                     g r   r6   r   s    r   r;   @TestSetups.test_error_in_setupclass.<locals>.BrokenTest.test_twoi   r9   r
   r6   N	r=   r>   r?   r@   rA   r0   r7   r;   rB   r6   r
   r   
BrokenTestr{   c   s    ' 'r
   r   r   r-   setUpClass (.))
r   r/   r%   rE   rF   rG   rH   strr=   r?   )r   r   rJ   errorr   s        r   test_error_in_setupclass#TestSetups.test_error_in_setupclassb   s    	** 	 z*!,V]]+Q/==#U,4j6M6MN	Pr
   c                   ^^  " U4S jS[         R                  5      m " U4S jS[         R                  5      mU R                  TT5      nU R                  UR                  S5        U R                  [        UR                  5      S5        U R                  TR                  S5        U R                  TR                  S5        UR                  S   u  p#U R                  [        U5      S	[        < S
TR                  < S35        g )Nc                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g)5TestSetups.test_error_in_teardown_class.<locals>.Testu   r   c                 D   > T=R                   S-  sl         [        S5      eNr-   r   tornDownr   r1   s    r   rT   CTestSetups.test_error_in_teardown_class.<locals>.Test.tearDownClassw   s    "&&r
   c                     g r   r6   r   s    r   r7   >TestSetups.test_error_in_teardown_class.<locals>.Test.test_one{   r9   r
   c                     g r   r6   r   s    r   r;   >TestSetups.test_error_in_teardown_class.<locals>.Test.test_two}   r9   r
   r6   N
r=   r>   r?   r@   r   rA   rT   r7   r;   rB   rC   s   r   r3   r   u   $    H' 'r
   r3   c                   <   > \ rS rSrSr\U 4S j5       rS rS rSr	g)6TestSetups.test_error_in_teardown_class.<locals>.Test2   r   c                 D   > T=R                   S-  sl         [        S5      er   r   rn   s    r   rT   DTestSetups.test_error_in_teardown_class.<locals>.Test2.tearDownClass   s    !#&&r
   c                     g r   r6   r   s    r   r7   ?TestSetups.test_error_in_teardown_class.<locals>.Test2.test_one   r9   r
   c                     g r   r6   r   s    r   r;   ?TestSetups.test_error_in_teardown_class.<locals>.Test2.test_two   r9   r
   r6   Nr   ru   s   r   ro   r      r   r
   ro   rv   rD   r-   r   ztearDownClass (r   r   )r   r/   r%   rE   rF   rG   rH   r   r   r=   r?   )r   rJ   r   r   r3   ro   s       @@r   test_error_in_teardown_class'TestSetups.test_error_in_teardown_classt   s    		8$$ 				H%% 		 tU+!,V]]+Q/*+==#U/79J9JK	Mr
   c                    ^  " U4S jS[         R                  5      mU R                  T5        U R                  TR                  5        g )Nc                   F   > \ rS rSrSr\S 5       r\U 4S j5       rS rSr	g)ATestSetups.test_class_not_torndown_when_setup_fails.<locals>.Test   Fc                     [         er   r   r   s    r   r0   LTestSetups.test_class_not_torndown_when_setup_fails.<locals>.Test.setUpClass   s    r
   c                 (   > STl         [        S5      e)NTr   r   r1   s    r   rT   OTestSetups.test_class_not_torndown_when_setup_fails.<locals>.Test.tearDownClass   s     $&&r
   c                     g r   r6   r   s    r   r7   JTestSetups.test_class_not_torndown_when_setup_fails.<locals>.Test.test_one   r9   r
   r6   N)
r=   r>   r?   r@   r   rA   r0   rT   r7   rB   rC   s   r   r3   r      s1    H   ' 'r
   r3   )r   r/   r%   assertFalser   r   r3   s    @r   (test_class_not_torndown_when_setup_fails3TestSetups.test_class_not_torndown_when_setup_fails   s5    
	8$$ 
	 	d'r
   c                   ^  " U4S jS[         R                  5      m[         R                  " S5      " T5      mU R                  T5        U R	                  TR
                  5        U R	                  TR                  5        g )Nc                   P   > \ rS rSrSrSr\U 4S j5       r\U 4S j5       rS r	Sr
g)FTestSetups.test_class_not_setup_or_torndown_when_skipped.<locals>.Test   Fc                    > STl         g NT
classSetUpr1   s    r   r0   QTestSetups.test_class_not_setup_or_torndown_when_skipped.<locals>.Test.setUpClass   
    "&r
   c                    > STl         g r   )r   r1   s    r   rT   TTestSetups.test_class_not_setup_or_torndown_when_skipped.<locals>.Test.tearDownClass   s
     $r
   c                     g r   r6   r   s    r   r7   OTestSetups.test_class_not_setup_or_torndown_when_skipped.<locals>.Test.test_one   r9   r
   r6   N)r=   r>   r?   r@   r   r   rA   r0   rT   r7   rB   rC   s   r   r3   r      s6    JH' '% %r
   r3   hop)r   r/   skipr%   r   r   r   r   s    @r   -test_class_not_setup_or_torndown_when_skipped8TestSetups.test_class_not_setup_or_torndown_when_skipped   sZ    
	8$$ 
	 }}U#D)d)'r
   c                   ^ / m " U4S jS[         5      n " U4S jS[         5      n " U4S jS[        R                  5      n " U4S jS[        R                  5      n " U4S	 jS
[        R                  5      nS=Ul        Ul        SUl        U[        R
                  S'   U[        R
                  S'   [        R                  " U" S5      45      n[        R                  " U" S5      45      n[        R                  " U" S5      45      n[        R                  " U" S5      45      n	[        R                  " U" S5      45      n
[        R                  " U" S5      45      n[        R                  " XgXX45      nU R                  5       nUR                  U5      nU R                  UR                  S5        U R                  [        UR                  5      S5        U R                  T/ SQ5        g )Nc                   B   > \ rS rSr\U 4S j5       r\U 4S j5       rSrg)MTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module1   c                  (   > T R                  S5        g )NModule1.setUpModuleappendresultss   r   setUpModuleYTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module1.setUpModule       45r
   c                  (   > T R                  S5        g )NModule1.tearDownModuler   r   s   r   tearDownModule\TestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module1.tearDownModule       78r
   r6   Nr=   r>   r?   r@   staticmethodr   r   rB   r   s   r   Module1r      '    6 69 9r
   r   c                   B   > \ rS rSr\U 4S j5       r\U 4S j5       rSrg)MTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module2   c                  (   > T R                  S5        g )NModule2.setUpModuler   r   s   r   r   YTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module2.setUpModule   r   r
   c                  (   > T R                  S5        g )NModule2.tearDownModuler   r   s   r   r   \TestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Module2.tearDownModule   r   r
   r6   Nr   r   s   r   Module2r      r   r
   r   c                   Z   > \ rS rSr\U 4S j5       r\U 4S j5       rU 4S jrU 4S jrSr	g)KTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test1   c                 (   > TR                  S5        g )Nsetup 1r   r2   r   s    r   r0   VTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test1.setUpClass       y)r
   c                 (   > TR                  S5        g )N
teardown 1r   r   s    r   rT   YTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test1.tearDownClass       |,r
   c                 (   > TR                  S5        g )NTest1.testOner   r   r   s    r   testOneSTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test1.testOne       /r
   c                 (   > TR                  S5        g )NTest1.testTwor   r   s    r   testTwoSTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test1.testTwo   r   r
   r6   N
r=   r>   r?   r@   rA   r0   rT   r   r   rB   r   s   r   Test1r      6    * *- -00 0r
   r  c                   Z   > \ rS rSr\U 4S j5       r\U 4S j5       rU 4S jrU 4S jrSr	g)KTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test2   c                 (   > TR                  S5        g )Nsetup 2r   r   s    r   r0   VTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test2.setUpClass   r   r
   c                 (   > TR                  S5        g )N
teardown 2r   r   s    r   rT   YTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test2.tearDownClass   r   r
   c                 (   > TR                  S5        g )NTest2.testOner   r   s    r   r   STestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test2.testOne   r   r
   c                 (   > TR                  S5        g )NTest2.testTwor   r   s    r   r   STestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test2.testTwo   r   r
   r6   Nr  r   s   r   ro   r     r  r
   ro   c                   Z   > \ rS rSr\U 4S j5       r\U 4S j5       rU 4S jrU 4S jrSr	g)KTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test3   c                 (   > TR                  S5        g )Nsetup 3r   r   s    r   r0   VTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test3.setUpClass   r   r
   c                 (   > TR                  S5        g )N
teardown 3r   r   s    r   rT   YTestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test3.tearDownClass   r   r
   c                 (   > TR                  S5        g )NTest3.testOner   r   s    r   r   STestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test3.testOne   r   r
   c                 (   > TR                  S5        g )NTest3.testTwor   r   s    r   r   STestSetups.test_setup_teardown_order_with_pathological_suite.<locals>.Test3.testTwo   r   r
   r6   Nr  r   s   r   Test3r     r  r
   r"  Moduler   r      r   )r   r   r   r   r   r  r  r  r  r   r   r  r  r   r  r   )objectr   r/   r>   sysmodulesr   r   r   rE   rF   rG   rH   )r   r   r   r  ro   r"  firstsecondthirdfourthfifthsixthr    r#   rJ   r   s                  @r   1test_setup_teardown_order_with_pathological_suite<TestSetups.test_setup_teardown_order_with_pathological_suite   s   	9f 	9	9f 	9
	0H%% 
	0
	0H%% 
	0
	0H%% 
	0 /765+$ 'H!(I""E)$4#67##U9%5$78""E)$4#67##U9%5$78""E)$4#67""E)$4#67""E5%#OP!E"!,V]]+Q/B	Cr
   c                 l  ^  " U4S jS[         5      m " S S[        R                  5      nSUl        T[        R
                  S'   U R                  U5      nU R                  TR                  S5        U R                  UR                  S5        U R                  [        UR                  5      S5        g )Nc                   0   > \ rS rSrSr\U 4S j5       rSrg),TestSetups.test_setup_module.<locals>.Modulei
  r   c                  0   > T =R                   S-  sl         g r,   )moduleSetupr#  s   r   r   8TestSetups.test_setup_module.<locals>.Module.setUpModule  s    ""a'"r
   r6   N)r=   r>   r?   r@   r4  r   r   rB   r5  s   r   r#  r2  
  s    K( (r
   r#  c                        \ rS rSrS rS rSrg)*TestSetups.test_setup_module.<locals>.Testi  c                     g r   r6   r   s    r   r7   3TestSetups.test_setup_module.<locals>.Test.test_one  r9   r
   c                     g r   r6   r   s    r   r;   3TestSetups.test_setup_module.<locals>.Test.test_two  r9   r
   r6   Nr=   r>   r?   r@   r7   r;   rB   r6   r
   r   r3   r8        r
   r3   r-   rD   r   )r%  r   r/   r>   r&  r'  r%   rE   r4  rF   rG   rH   r   r3   rJ   r#  s      @r   test_setup_moduleTestSetups.test_setup_module	  s    	(V 	(	8$$ 	
 # &Ht$++Q/!,V]]+Q/r
   c                   ^^  " U4S jS[         5      m " U4S jS[        R                  5      m " S S[        R                  5      nSTl        SUl        T[        R
                  S'   U R                  TU5      nU R                  TR                  S5        U R                  TR                  S5        U R                  UR                  S5        U R                  TR                  5        U R                  TR                  5        U R                  [        UR                  5      S5        UR                  S   u  p4U R                  [!        U5      S	5        g )
Nc                   J   > \ rS rSrSrSr\U 4S j5       r\U 4S j5       rSr	g)5TestSetups.test_error_in_setup_module.<locals>.Modulei  r   c                  D   > T =R                   S-  sl         [        S5      er   )r4  r   r5  s   r   r   ATestSetups.test_error_in_setup_module.<locals>.Module.setUpModule!  s    ""a'"&&r
   c                  0   > T =R                   S-  sl         g r,   moduleTornDownr5  s   r   r   DTestSetups.test_error_in_setup_module.<locals>.Module.tearDownModule%      %%*%r
   r6   N)
r=   r>   r?   r@   r4  rI  r   r   r   rB   r5  s   r   r#  rD    s3    KN' ' + +r
   r#  c                   V   > \ rS rSrSrSr\U 4S j5       r\U 4S j5       rS r	S r
Srg)	3TestSetups.test_error_in_setup_module.<locals>.Testi)  Fc                    > STl         g r   r   r1   s    r   r0   >TestSetups.test_error_in_setup_module.<locals>.Test.setUpClass,  r   r
   c                    > STl         g r   classTornDownr1   s    r   rT   ATestSetups.test_error_in_setup_module.<locals>.Test.tearDownClass/      %)"r
   c                     g r   r6   r   s    r   r7   <TestSetups.test_error_in_setup_module.<locals>.Test.test_one2  r9   r
   c                     g r   r6   r   s    r   r;   <TestSetups.test_error_in_setup_module.<locals>.Test.test_two4  r9   r
   r6   Nr=   r>   r?   r@   r   rR  rA   r0   rT   r7   r;   rB   rC   s   r   r3   rM  )  ;    J!M' '* *r
   r3   c                        \ rS rSrS rS rSrg)4TestSetups.test_error_in_setup_module.<locals>.Test2i7  c                     g r   r6   r   s    r   r7   =TestSetups.test_error_in_setup_module.<locals>.Test2.test_one8  r9   r
   c                     g r   r6   r   s    r   r;   =TestSetups.test_error_in_setup_module.<locals>.Test2.test_two:  r9   r
   r6   Nr=  r6   r
   r   ro   r\  7  r>  r
   ro   r-   r   setUpModule (Module))r%  r   r/   r>   r&  r'  r%   rE   r4  rI  rF   r   r   rR  rG   rH   r   r   ro   rJ   r   r   r#  r3   s        @@r   test_error_in_setup_module%TestSetups.test_error_in_setup_module  s   		+V 		+	8$$ 		H%% 	
 ## &HtU+++Q/..2!,)++,V]]+Q/==#U%;<r
   c                      " S S[         R                  5      nSUl        [        R                  R                  SS 5        U R                  U5      nU R                  UR                  S5        g )Nc                        \ rS rSrS rS rSrg):TestSetups.test_testcase_with_missing_module.<locals>.TestiK  c                     g r   r6   r   s    r   r7   CTestSetups.test_testcase_with_missing_module.<locals>.Test.test_oneL  r9   r
   c                     g r   r6   r   s    r   r;   CTestSetups.test_testcase_with_missing_module.<locals>.Test.test_twoN  r9   r
   r6   Nr=  r6   r
   r   r3   rg  K  r>  r
   r3   r#  rD   )	r   r/   r>   r&  r'  popr%   rE   rF   )r   r3   rJ   s      r   !test_testcase_with_missing_module,TestSetups.test_testcase_with_missing_moduleJ  sQ    	8$$ 	
 #$'t$!,r
   c                 l  ^  " U4S jS[         5      m " S S[        R                  5      nSUl        T[        R
                  S'   U R                  U5      nU R                  TR                  S5        U R                  UR                  S5        U R                  [        UR                  5      S5        g )Nc                   0   > \ rS rSrSr\U 4S j5       rSrg)/TestSetups.test_teardown_module.<locals>.ModuleiW  r   c                  0   > T =R                   S-  sl         g r,   rH  r5  s   r   r   >TestSetups.test_teardown_module.<locals>.Module.tearDownModuleY  rK  r
   r6   Nr=   r>   r?   r@   rI  r   r   rB   r5  s   r   r#  rq  W  s    N+ +r
   r#  c                        \ rS rSrS rS rSrg)-TestSetups.test_teardown_module.<locals>.Testi]  c                     g r   r6   r   s    r   r7   6TestSetups.test_teardown_module.<locals>.Test.test_one^  r9   r
   c                     g r   r6   r   s    r   r;   6TestSetups.test_teardown_module.<locals>.Test.test_two`  r9   r
   r6   Nr=  r6   r
   r   r3   rv  ]  r>  r
   r3   r-   rD   r   )r%  r   r/   r>   r&  r'  r%   rE   rI  rF   rG   rH   r?  s      @r   test_teardown_moduleTestSetups.test_teardown_moduleV  s    	+V 	+	8$$ 	
 # &Ht$..2!,V]]+Q/r
   c                 z  ^^  " U4S jS[         5      m " U4S jS[        R                  5      m " S S[        R                  5      nSTl        SUl        T[        R
                  S'   U R                  TU5      nU R                  TR                  S5        U R                  UR                  S5        U R                  TR                  5        U R                  TR                  5        U R                  [        UR                  5      S5        UR                  S	   u  p4U R                  [        U5      S
5        g )Nc                   0   > \ rS rSrSr\U 4S j5       rSrg)8TestSetups.test_error_in_teardown_module.<locals>.Moduleik  r   c                  D   > T =R                   S-  sl         [        S5      er   )rI  r   r5  s   r   r   GTestSetups.test_error_in_teardown_module.<locals>.Module.tearDownModulem  s    %%*%&&r
   r6   Nrt  r5  s   r   r#  r  k  s    N' 'r
   r#  c                   V   > \ rS rSrSrSr\U 4S j5       r\U 4S j5       rS r	S r
Srg)	6TestSetups.test_error_in_teardown_module.<locals>.Testir  Fc                    > STl         g r   r   r1   s    r   r0   ATestSetups.test_error_in_teardown_module.<locals>.Test.setUpClassu  r   r
   c                    > STl         g r   rQ  r1   s    r   rT   DTestSetups.test_error_in_teardown_module.<locals>.Test.tearDownClassx  rT  r
   c                     g r   r6   r   s    r   r7   ?TestSetups.test_error_in_teardown_module.<locals>.Test.test_one{  r9   r
   c                     g r   r6   r   s    r   r;   ?TestSetups.test_error_in_teardown_module.<locals>.Test.test_two}  r9   r
   r6   NrY  rC   s   r   r3   r  r  rZ  r
   r3   c                        \ rS rSrS rS rSrg)7TestSetups.test_error_in_teardown_module.<locals>.Test2i  c                     g r   r6   r   s    r   r7   @TestSetups.test_error_in_teardown_module.<locals>.Test2.test_one  r9   r
   c                     g r   r6   r   s    r   r;   @TestSetups.test_error_in_teardown_module.<locals>.Test2.test_two  r9   r
   r6   Nr=  r6   r
   r   ro   r    r>  r
   ro   r-   rv   r   ztearDownModule (Module))r%  r   r/   r>   r&  r'  r%   rE   rI  rF   
assertTruer   rR  rG   rH   r   rb  s        @@r   test_error_in_teardown_module(TestSetups.test_error_in_teardown_modulej  s    	'V 	'	8$$ 		H%% 	
 ## &HtU+..2!,(**+V]]+Q/==#U%>?r
   c                     " S S[         R                  5      nU R                  U5      nU R                  UR                  S5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        UR                  S   S   nU R                  [        U5      S[        < SUR                  < S35        g )Nc                   0    \ rS rSr\S 5       rS rS rSrg)4TestSetups.test_skiptest_in_setupclass.<locals>.Testi  c                 .    [         R                  " S5      er~   r   SkipTestr   s    r   r0   ?TestSetups.test_skiptest_in_setupclass.<locals>.Test.setUpClass      ''..r
   c                     g r   r6   r   s    r   r7   =TestSetups.test_skiptest_in_setupclass.<locals>.Test.test_one  r9   r
   c                     g r   r6   r   s    r   r;   =TestSetups.test_skiptest_in_setupclass.<locals>.Test.test_two  r9   r
   r6   Nr   r6   r
   r   r3   r    s    / /r
   r3   r   r-   r   r   r   )r   r/   r%   rE   rF   rG   rH   skippedr   r=   r?   )r   r3   rJ   r  s       r   test_skiptest_in_setupclass&TestSetups.test_skiptest_in_setupclass  s    	8$$ 	 t$!,V]]+Q/V^^,a0..#A&W,4d6G6GH	Jr
   c                     " S S[         R                  5      n " S S[        5      nSUl        U[        R
                  S'   U R                  U5      nU R                  UR                  S5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        UR                  S   S   nU R                  [        U5      S5        g )Nc                        \ rS rSrS rS rSrg)5TestSetups.test_skiptest_in_setupmodule.<locals>.Testi  c                     g r   r6   r   s    r   r7   >TestSetups.test_skiptest_in_setupmodule.<locals>.Test.test_one  r9   r
   c                     g r   r6   r   s    r   r;   >TestSetups.test_skiptest_in_setupmodule.<locals>.Test.test_two  r9   r
   r6   Nr=  r6   r
   r   r3   r    r>  r
   r3   c                   $    \ rS rSr\S 5       rSrg)7TestSetups.test_skiptest_in_setupmodule.<locals>.Modulei  c                  .    [         R                  " S5      er~   r  r6   r
   r   r   CTestSetups.test_skiptest_in_setupmodule.<locals>.Module.setUpModule  r  r
   r6   N)r=   r>   r?   r@   r   r   rB   r6   r
   r   r#  r    s    / /r
   r#  r   r-   ra  )r   r/   r%  r>   r&  r'  r%   rE   rF   rG   rH   r  r   )r   r3   r#  rJ   r  s        r   test_skiptest_in_setupmodule'TestSetups.test_skiptest_in_setupmodule  s    	8$$ 		/V 	/
 # &Ht$!,V]]+Q/V^^,a0..#A&W'=>r
   c                 $  ^ / m " U4S jS[         5      n " U4S jS[        R                  5      nSUl        U[        R
                  S'   [        R                  R                  U5      nUR                  5         / SQnU R                  TU5        g )Nc                   B   > \ rS rSr\U 4S j5       r\U 4S j5       rSrg)ITestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Modulei  c                  (   > T R                  S5        g )Nr   r   orderings   r   r   UTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Module.setUpModule  s    .r
   c                  (   > T R                  S5        g )Nr   r   r  s   r   r   XTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Module.tearDownModule  s     01r
   r6   Nr   r  s   r   r#  r    s'    / /2 2r
   r#  c                   N   > \ rS rSr\U 4S j5       r\U 4S j5       rU 4S jrSrg)GTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Testi  c                 (   > TR                  S5        g )Nr0   r   r2   r  s    r   r0   RTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Test.setUpClass  s    -r
   c                 (   > TR                  S5        g )NrT   r   r  s    r   rT   UTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Test.tearDownClass  s    0r
   c                 (   > TR                  S5        g )Ntest_somethingr   )r   r  s    r   r  VTestSetups.test_suite_debug_executes_setups_and_teardowns.<locals>.Test.test_something  s     01r
   r6   N	r=   r>   r?   r@   rA   r0   rT   r  rB   r  s   r   r3   r    s1    . .1 12 2r
   r3   )r   r0   r  rT   r   )
r%  r   r/   r>   r&  r'  r   r   debugrE   )r   r#  r3   r    expectedOrderr  s        @r   .test_suite_debug_executes_setups_and_teardowns9TestSetups.test_suite_debug_executes_setups_and_teardowns  sq    	2V 	2	28$$ 	2 # &H**@@Fj=1r
   c                   ^  " U4S jS[         5      n " U4S jS[        R                  5      nSUl        U[        R
                  S'   Sn[        U5       Hk  u  mn[        R                  R                  U5      n[        R                  " U/5      nU R                  [        U5         UR                  5         S S S 5        Mm     g ! , (       d  f       M  = f)Nc                   B   > \ rS rSr\U 4S j5       r\U 4S j5       rSrg)ATestSetups.test_suite_debug_propagates_exceptions.<locals>.Modulei  c                  (   > T S:X  a  [        S5      eg )Nr   r   	Exceptionphases   r   r   MTestSetups.test_suite_debug_propagates_exceptions.<locals>.Module.setUpModule  s    A:#M22 r
   c                  (   > T S:X  a  [        S5      eg )Nr-   r   r  r  s   r   r   PTestSetups.test_suite_debug_propagates_exceptions.<locals>.Module.tearDownModule  s    A:#$455 r
   r6   Nr   r  s   r   r#  r    s)    3 3 6 6r
   r#  c                   N   > \ rS rSr\U 4S j5       r\U 4S j5       rU 4S jrSrg)?TestSetups.test_suite_debug_propagates_exceptions.<locals>.Testi  c                 (   > TS:X  a  [        S5      eg )NrD   r0   r  r2   r  s    r   r0   JTestSetups.test_suite_debug_propagates_exceptions.<locals>.Test.setUpClass  s    A:#L11 r
   c                 (   > TS:X  a  [        S5      eg )N   rT   r  r  s    r   rT   MTestSetups.test_suite_debug_propagates_exceptions.<locals>.Test.tearDownClass  s    A:#O44 r
   c                 (   > TS:X  a  [        S5      eg )Nrv   r  r  )r   r  s    r   r  NTestSetups.test_suite_debug_propagates_exceptions.<locals>.Test.test_something  s    A:#$455 r
   r6   Nr  r  s   r   r3   r    s3    2 2 5 56 6r
   r3   )r   r   r0   rT   r  )r%  r   r/   r>   r&  r'  	enumerater   r   r   assertRaisesRegexr  r  )r   r#  r3   messagesmsg_suiter    r  s          @r   &test_suite_debug_propagates_exceptions1TestSetups.test_suite_debug_propagates_exceptions  s    	6V 	6	68$$ 	6 # &He#H-JE3//EEdKF&&x0E''	37 87 . 87s   )C
C	r6   N)r=   r>   r?   r@   r   r%   rK   r^   rw   r   r   r   r   r.  r@  rc  rm  r{  r  r  r  r  r  rB   r6   r
   r   r   r      sl    @% 0$0$0<P$MB( ($PCd0(+=Z
-0(&@PJ$?,2: r
   r   __main__)r   r&  r   r	   r/   r   r=   mainr6   r
   r   <module>r     s@    	 
 !l"" l^ zMMO r
   