
    dafU;                         d dl Z d dlZd dlZd dlZd dlmZmZ  G d de      Zd Z	 G d de j                  e      Zedk(  r e j                          yy)	    N)LoggingResultTestEqualityc                   6    e Zd Z G d dej                        Zy)Testc                   $    e Zd Zd Zd Zd Zd Zy)Test.Fooc                      y N selfs    8/root/Python-3.12.4/Lib/test/test_unittest/test_suite.pytest_1zTest.Foo.test_1       $    c                      y r
   r   r   s    r   test_2zTest.Foo.test_2   r   r   c                      y r
   r   r   s    r   test_3zTest.Foo.test_3   r   r   c                      y r
   r   r   s    r   runTestzTest.Foo.runTest   s    4r   N)__name__
__module____qualname__r   r   r   r   r   r   r   Foor      s    r   r   N)r   r   r   unittestTestCaser   r   r   r   r   r      s     h  r   r   c                  :    t        j                  d | D              S )Nc              3   F   K   | ]  }t         j                  |        y wr
   )r   r   ).0ns     r   	<genexpr>z _mk_TestSuite.<locals>.<genexpr>   s     9adhhqk9s   !)r   	TestSuite)namess    r   _mk_TestSuiter%      s    95999r   c                      e Zd Z ej                          ej                         f ej                          ej                  g       f ed       ed      fgZ ej                          ed      f ej                  g        ed      f edd       edd      f ed       ed      fg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 Z"y) Test_TestSuiter   r   r   c                     t        j                         }| j                  |j                         d       |j	                  t        j
                                | j                  |j                         d       y Nr   r   r#   assertEqualcountTestCasesrun
TestResultr   suites     r   test_init__tests_optionalz(Test_TestSuite.test_init__tests_optional2   sW    ""$--/3		(%%'(--/3r   c                     t        j                  g       }| j                  |j                         d       |j	                  t        j
                                | j                  |j                         d       y r)   r*   r/   s     r   test_init__empty_testsz%Test_TestSuite.test_init__empty_testsA   sY    ""2&--/3		(%%'(--/3r   c                    d }t        j                   |             }| j                  |j                         d       t        j                  |      }| j                  |j                         d       t        j                  t	        |            }| j                  |j                         d       |j                  t        j                                | j                  |j                         d       |j                  t        j                                | j                  |j                         d       |j                  t        j                                | j                  |j                         d       y )Nc               3   l   K   t        j                  d        t        j                  d        y w)Nc                       y r
   r   r   r   r   <lambda>zRTest_TestSuite.test_init__tests_from_any_iterable.<locals>.tests.<locals>.<lambda>Q       r   c                       y r
   r   r   r   r   r7   zRTest_TestSuite.test_init__tests_from_any_iterable.<locals>.tests.<locals>.<lambda>R   r8   r   )r   FunctionTestCaser   r   r   testsz@Test_TestSuite.test_init__tests_from_any_iterable.<locals>.testsP   s(     ++L99++L99s   24   )r   r#   r+   r,   setr-   r.   )r   r;   suite_1suite_2suite_3s        r   "test_init__tests_from_any_iterablez1Test_TestSuite.test_init__tests_from_any_iterableO   s   	: $$UW-//115$$W-//115$$S\2//115 	H'')*//115H'')*//115H'')*//115r   c                    d }t        j                   |             }| j                  |j                         d       |j	                  t        j
                                | j                  |j                         d       y )Nc               3      K   t        j                  d       } t        j                  | g       t        j                  d        y w)Nc                       y r
   r   r   r   r   r7   zWTest_TestSuite.test_init__TestSuite_instances_in_tests.<locals>.tests.<locals>.<lambda>n   r8   r   c                       y r
   r   r   r   r   r7   zWTest_TestSuite.test_init__TestSuite_instances_in_tests.<locals>.tests.<locals>.<lambda>p   r8   r   )r   r:   r#   )ftcs    r   r;   zETest_TestSuite.test_init__TestSuite_instances_in_tests.<locals>.testsm   s:     ++L9C$$cU++++L99s   AA
r<   r*   )r   r;   r0   s      r   'test_init__TestSuite_instances_in_testsz6Test_TestSuite.test_init__TestSuite_instances_in_testsl   sb    	:
 ""57+--/3		(%%'(--/3r   c                     t        j                  d       }t        j                  d       }t        j                  ||f      }| j                  t	        |      ||g       y )Nc                       y r
   r   r   r   r   r7   z*Test_TestSuite.test_iter.<locals>.<lambda>}   r8   r   c                       y r
   r   r   r   r   r7   z*Test_TestSuite.test_iter.<locals>.<lambda>~   r8   r   )r   r:   r#   r+   listr   test1test2r0   s       r   	test_iterzTest_TestSuite.test_iter|   sN    )),7)),7""E5>2euen5r   c                 l    t        j                         }| j                  |j                         d       y r)   )r   r#   r+   r,   r/   s     r   test_countTestCases_zero_simplez.Test_TestSuite.test_countTestCases_zero_simple   s)    ""$--/3r   c                      G d dt         j                        }t        j                  t        j                         g      }| j                  |j	                         d       y )Nc                       e Zd Zd Zy)=Test_TestSuite.test_countTestCases_zero_nested.<locals>.Test1c                      y r
   r   r   s    r   testzBTest_TestSuite.test_countTestCases_zero_nested.<locals>.Test1.test       r   Nr   r   r   rV   r   r   r   Test1rT          r   rY   r   )r   r   r#   r+   r,   )r   rY   r0   s      r   test_countTestCases_zero_nestedz.Test_TestSuite.test_countTestCases_zero_nested   sK    	H%% 	 ""H$6$6$8#9:--/3r   c                 P   t        j                  d       }t        j                  d       }t        j                  ||f      }| j                  |j	                         d       |j                  t        j                                | j                  |j	                         d       y )Nc                       y r
   r   r   r   r   r7   z;Test_TestSuite.test_countTestCases_simple.<locals>.<lambda>   r8   r   c                       y r
   r   r   r   r   r7   z;Test_TestSuite.test_countTestCases_simple.<locals>.<lambda>   r8   r   r<   )r   r:   r#   r+   r,   r-   r.   rL   s       r   test_countTestCases_simplez)Test_TestSuite.test_countTestCases_simple   s}    )),7)),7""E5>2--/3		(%%'(--/3r   c                 
    G d dt         j                        }t        j                  d       }t        j                  d       }t        j                   |d      |f      }t        j                  || |d      f      }| j	                  |j                         d       |j                  t        j                                | j	                  |j                         d       | j	                  |j                         d       y )	Nc                       e Zd Zd Zd Zy)8Test_TestSuite.test_countTestCases_nested.<locals>.Test1c                      y r
   r   r   s    r   rM   z>Test_TestSuite.test_countTestCases_nested.<locals>.Test1.test1       Tr   c                      y r
   r   r   s    r   rN   z>Test_TestSuite.test_countTestCases_nested.<locals>.Test1.test2   rd   r   N)r   r   r   rM   rN   r   r   r   rY   rb      s    !!r   rY   c                       y r
   r   r   r   r   r7   z;Test_TestSuite.test_countTestCases_nested.<locals>.<lambda>   r8   r   c                       y r
   r   r   r   r   r7   z;Test_TestSuite.test_countTestCases_nested.<locals>.<lambda>   r8   r   rN   rM      r<   )r   r   r:   r#   r+   r,   r-   r.   )r   rY   rN   test3childparents         r   test_countTestCases_nestedz)Test_TestSuite.test_countTestCases_nested   s    	"H%% 	" )),7)),7""E'NE#:;##UE5>$BC..0!4

8&&()..0!4--/3r   c                     g }t        |      }t        j                         }|j                  |       | j	                  |g        y r
   )r   r   r#   r-   r+   )r   eventsresultr0   s       r   test_run__empty_suitez$Test_TestSuite.test_run__empty_suite   s;    v&""$		&$r   c                     t        j                         }	 |j                          | j                  d       y # t        $ r Y y w xY w)NFailed to raise TypeError)r   r#   r-   fail	TypeErrorr/   s     r   test_run__requires_resultz(Test_TestSuite.test_run__requires_result   sA    ""$	3IIK II12  		s   8 	AAc                     g t              } G fddt        j                        } |d       |d      g}t        j                  |      j	                  |       | j                  ddg       y )Nc                   $    e Zd Z fdZd Zd Zy),Test_TestSuite.test_run.<locals>.LoggingCasec                 B    j                  d| j                  z         y )Nzrun %s)append_testMethodName)r   ro   rn   s     r   r-   z0Test_TestSuite.test_run.<locals>.LoggingCase.run   s    h)=)==>r   c                      y r
   r   r   s    r   rM   z2Test_TestSuite.test_run.<locals>.LoggingCase.test1   rd   r   c                      y r
   r   r   s    r   rN   z2Test_TestSuite.test_run.<locals>.LoggingCase.test2   rd   r   N)r   r   r   r-   rM   rN   )rn   s   r   LoggingCaserx      s    ? "!r   r~   rM   rN   z	run test1z	run test2)r   r   r   r#   r-   r+   )r   ro   r~   r;   rn   s       @r   test_runzTest_TestSuite.test_run   sh    v&	"(++ 	" W%{7';<5!%%f-+{!;<r   c                     G d dt         j                        } |d      }t        j                         }|j                  |       | j	                  |j                         d       | j	                  t        |      |g       |j                  t        j                                | j	                  |j                         d       y )Nc                       e Zd Zd Zy)2Test_TestSuite.test_addTest__TestCase.<locals>.Fooc                      y r
   r   r   s    r   rV   z7Test_TestSuite.test_addTest__TestCase.<locals>.Foo.test       Dr   NrX   r   r   r   r   r           r   r   rV      	r   r   r#   addTestr+   r,   rK   r-   r.   )r   r   rV   r0   s       r   test_addTest__TestCasez%Test_TestSuite.test_addTest__TestCase   s    	!(## 	! 6{""$d--/3etf-		(%%'(--/3r   c                     G d dt         j                        }t        j                   |d      g      }t        j                         }|j                  |       | j	                  |j                         d       | j	                  t        |      |g       |j                  t        j                                | j	                  |j                         d       y )Nc                       e Zd Zd Zy)3Test_TestSuite.test_addTest__TestSuite.<locals>.Fooc                      y r
   r   r   s    r   rV   z8Test_TestSuite.test_addTest__TestSuite.<locals>.Foo.test   r   r   NrX   r   r   r   r   r      r   r   r   rV   r   r   )r   r   r?   r0   s       r   test_addTest__TestSuitez&Test_TestSuite.test_addTest__TestSuite   s    	!(## 	! $$c&k]3""$g--/3ewi0		(%%'(--/3r   c                     G d dt         j                        } |d       |d      t        j                  g      fd}t        j                         }|j                   |              | j	                  t        |      t         |                    t        j                         } |       D ]  }|j                  |        | j	                  ||       y )Nc                       e Zd Zd Zd Zy))Test_TestSuite.test_addTests.<locals>.Fooc                      y r
   r   r   s    r   r   z0Test_TestSuite.test_addTests.<locals>.Foo.test_1      dr   c                      y r
   r   r   s    r   r   z0Test_TestSuite.test_addTests.<locals>.Foo.test_2  r   r   N)r   r   r   r   r   r   r   r   r   r     s    ""r   r   r   r   c               3   &   K       y wr
   r   )inner_suiter   r   s   r   genz)Test_TestSuite.test_addTests.<locals>.gen  s     LLs   )r   r   r#   addTestsr+   rK   r   )	r   r   r   r>   r?   tr   r   r   s	         @@@r   test_addTestszTest_TestSuite.test_addTests  s    	#(## 	# XX((&2	
 $$&gSU4 $$& 	AOOA	 	'*r   c                     t        j                         }	 |j                  d       | j                  d       y # t        $ r Y y w xY w)N   rr   )r   r#   r   rs   rt   r/   s     r   test_addTest__noniterablez(Test_TestSuite.test_addTest__noniterable/  sD    ""$	3NN1 II12  		s   9 	AAc                 n    t        j                         }| j                  t        |j                  d       y )Nr   )r   r#   assertRaisesrt   r   r/   s     r   test_addTest__noncallablez(Test_TestSuite.test_addTest__noncallable9  s&    ""$)U]]A6r   c                     t        j                         }| j                  t        |j                  t
               | j                  t        |j                  t         j                         y r
   )r   r#   r   rt   r   r'   r/   s     r   test_addTest__casesuiteclassz+Test_TestSuite.test_addTest__casesuiteclass=  sB    ""$)U]]NC)U]]H4F4FGr   c                 n    t        j                         }| j                  t        |j                  d       y )Nfoo)r   r#   r   rt   r   r/   s     r   test_addTests__stringz$Test_TestSuite.test_addTests__stringB  s&    ""$)U^^U;r   c                     d }t        j                         }|j                  |       |j                  t        j                                y )Nc                      y r
   r   )_s    r   fz0Test_TestSuite.test_function_in_suite.<locals>.fG  s    r   )r   r#   r   r-   r.   )r   r   r0   s      r   test_function_in_suitez%Test_TestSuite.test_function_in_suiteF  s8    	""$a 			(%%'(r   c                     t         j                  j                  st        j                  d      t        j                         }g d|_        |j                  d       | j                  g d|j
                         y )NSuite cleanup is disabled)r   r<      r   )r   Nr   )r   BaseTestSuite_cleanupSkipTestr#   _tests_removeTestAtIndexr+   r/   s     r   test_remove_test_at_indexz(Test_TestSuite.test_remove_test_at_indexO  sZ    %%..##$?@@""$   #u||4r   c                     t         j                  j                  st        j                  d      t        j                         }d |_        |j                  d       y )Nr   r<   )r   r   r   r   r#   r   r   r/   s     r   'test_remove_test_at_index_not_indexablez6Test_TestSuite.test_remove_test_at_index_not_indexableZ  sH    %%..##$?@@""$ 	  #r   c                    t         j                  j                  st        j                  d       G d dt         j                        } |d      }t        j                  |      } | |       g      }|j                  t        j                                ~t        j                          | j                  |j                  d g       | j                   |              y )Nr   c                       e Zd Zd Zy)ATest_TestSuite.assert_garbage_collect_test_after_run.<locals>.Fooc                      y r
   r   r   s    r   test_nothingzNTest_TestSuite.assert_garbage_collect_test_after_run.<locals>.Foo.test_nothingi  rW   r   N)r   r   r   r   r   r   r   r   r   h  rZ   r   r   r   )r   r   r   r   r   weakrefrefr-   r.   gccollectr+   r   assertIsNone)r   TestSuiteClassr   rV   wrefr0   s         r   %assert_garbage_collect_test_after_runz4Test_TestSuite.assert_garbage_collect_test_after_rund  s    %%..##$?@@	(## 	 >"{{4 x(		(%%'( 	

v.$&!r   c                 B    | j                  t        j                         y r
   )r   r   r   r   s    r   1test_garbage_collect_test_after_run_BaseTestSuitez@Test_TestSuite.test_garbage_collect_test_after_run_BaseTestSuitez  s    2283I3IJr   c                 B    | j                  t        j                         y r
   )r   r   r#   r   s    r   -test_garbage_collect_test_after_run_TestSuitez<Test_TestSuite.test_garbage_collect_test_after_run_TestSuite}  s    2283E3EFr   c                     G d dt         j                        } G fddt              d|_        t        j
                  d<   | j                  t        j
                  j                  d       t        j                         }|j                   |d       |d      g       | j                  |j                         d       t        j                         }|j                  |       | j                  j                         | j                  j                          | j                  |j                         | j                  |j                          | j                  t#        |j$                        d       | j                  t#        |j&                        d	       | j                  |j(                  d       | j                  |j                         d       y )
Nc                   @    e Zd ZdZdZed        Zed        Zd Zd Z	y)/Test_TestSuite.test_basetestsuite.<locals>.TestFc                     d| _         y NTwasSetUpclss    r   
setUpClassz:Test_TestSuite.test_basetestsuite.<locals>.Test.setUpClass  s	    #r   c                     d| _         y r   wasTornDownr   s    r   tearDownClassz=Test_TestSuite.test_basetestsuite.<locals>.Test.tearDownClass  s	    "&r   c                      y r
   r   r   s    r   testPassz8Test_TestSuite.test_basetestsuite.<locals>.Test.testPass  rW   r   c                     t          y r
   )rs   r   s    r   testFailz8Test_TestSuite.test_basetestsuite.<locals>.Test.testFail  s    r   N)
r   r   r   r   r   classmethodr   r   r   r   r   r   r   r   r     s:    HK$ $' 'r   r   c                   >    e Zd ZdZdZe fd       Ze fd       Zy)1Test_TestSuite.test_basetestsuite.<locals>.ModuleFc                      d _         y r   r   Modules   r   setUpModulez=Test_TestSuite.test_basetestsuite.<locals>.Module.setUpModule  s
    "&r   c                      d _         y r   r   r   s   r   tearDownModulez@Test_TestSuite.test_basetestsuite.<locals>.Module.tearDownModule  s    %)"r   N)r   r   r   r   r   staticmethodr   r   r   s   r   r   r     s1    HK' '* *r   r   r   r   r<   r   r   )r   r   objectr   sysmodules
addCleanuppopr   r   r+   r,   r.   r-   assertFalser   r   lenerrorsfailurestestsRun)r   r   r0   ro   r   s       @r   test_basetestsuitez!Test_TestSuite.test_basetestsuite  sU   	8$$ 		*V 	* # &H2&&(Z($z*:;<--/3$$&		&)++,'))*V]]+Q/V__-q1!,--/3r   c                 2    G d dt         j                        } |       }t        j                         }t        j                         }|j                  |        ||       | j	                  |j
                         | j                  |j                         y )Nc                       e Zd ZdZd Zy)4Test_TestSuite.test_overriding_call.<locals>.MySuiteFc                 X    d| _         t        j                  j                  | g|i | y r   )calledr   r#   __call__)r   argskws      r   r   z=Test_TestSuite.test_overriding_call.<locals>.MySuite.__call__  s'    """++D>4>2>r   N)r   r   r   r   r   r   r   r   MySuiter     s    F?r   r   )r   r#   r.   r   
assertTruer   r   _testRunEntered)r   r   r0   ro   wrappers        r   test_overriding_callz#Test_TestSuite.test_overriding_call  sr    	?h(( 	? 	$$&$$&% 	//0r   N)#r   r   r   r   r#   r%   eq_pairsne_pairsr1   r3   rA   rG   rO   rQ   r[   r_   rl   rp   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r'      sM    $##%'9x'9'9';<###%'9x'9'9"'=>x(-*ABDH
 $##%}X'>?###B'x)@Ax2M(H4UVx(-*ABDH446:
4 64444(%3=$4 4(+>37H
<)	5$",KG)4X1r   r'   __main__)r   r   r   r   test.test_unittest.supportr   r   r   r   r%   r   r'   r   mainr   r   r   <module>r      sV     	 
  B 6  :b1X&& b1J zHMMO r   