HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/unittest/test/__pycache__/test_runner.cpython-310.opt-1.pyc
o

�i7��@s�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
dd�Zdd�Zdd	�Z
ddd�ZGd
d�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedkree��dSdS)�N)�_Outcome)�
LoggingResult�#ResultWithNoStartTestRunStopTestRuncGst��S�N)�unittest�
TestResult)�_�r	�6/usr/local/lib/python3.10/unittest/test/test_runner.py�
resultFactory�rcCstjtt��d�S)N)�resultclass�stream)r�TextTestRunnerr�io�StringIOr	r	r	r
�	getRunners�rcGsft��}|D]
}tj�|�}|�|�qt�}t��}|�|�|�t���|�t���|�|�Sr)r�	TestSuite�defaultTestLoader�loadTestsFromTestCaseZaddTestsrZaddTest�run)�cases�suite�caseZtests�runnerZ	realSuiter	r	r
�runTestss

rFcCs$|s	|�d�dS|�d�td��)N�cleanup_good�cleanup_exc�
CleanUpExc��append�	Exception)�ordering�blowUpr	r	r
�cleanup(s
r$c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestCleanUpc
s�Gdd�dtj�}|d�}|�|jg�g��fdd�}�fdd�}|j|dd	d
ddd
�|�|�|�|j|dtddd
�f|difg�|�|���|��d	difddtddd
�fg�dS)Nc@�eZdZdd�ZdS)z-TestCleanUp.testCleanUp.<locals>.TestableTestcS�dSrr	��selfr	r	r
�testNothing3�z9TestCleanUp.testCleanUp.<locals>.TestableTest.testNothingN��__name__�
__module__�__qualname__r*r	r	r	r
�TestableTest2�r0r*c���d||f�dS�N��r ��args�kwargs��cleanupsr	r
�cleanup1;�z)TestCleanUp.testCleanUp.<locals>.cleanup1cr2)N�r5r6r9r	r
�cleanup2>r<z)TestCleanUp.testCleanUp.<locals>.cleanup2r4r=��hello�goodbye�ZfourZfive�r4r=r?r	)r�TestCase�assertEqualZ	_cleanups�
addCleanup�dict�
assertTrue�
doCleanups)r)r0�testr;r>r	r9r
�testCleanUp1s
��(zTestCleanUp.testCleanUpcs�Gdd�dtj�}|d�}t�}|_td��td���fdd�}�fdd	�}|�|�|�|�|�|���|�|j�t	|j
�\\}\}}}\}\}	}
}|�||ft�f�|�|	|
ft�f�dS)
Nc@r&)z7TestCleanUp.testCleanUpWithErrors.<locals>.TestableTestcSr'rr	r(r	r	r
r*Mr+zCTestCleanUp.testCleanUpWithErrors.<locals>.TestableTest.testNothingNr,r	r	r	r
r0Lr1r0r*�fooZbarc���rr	r	)rr	r
r;Ur+z3TestCleanUp.testCleanUpWithErrors.<locals>.cleanup1crMrr	r	)�exc2r	r
r>Xr+z3TestCleanUp.testCleanUpWithErrors.<locals>.cleanup2)rrDrZ_outcomer!rF�assertFalserI�success�reversed�errorsrE)r)r0rJ�outcomer;r>rZType1Z	instance1ZType2Z	instance2r	)rrNr
�testCleanUpWithErrorsKs 

�z!TestCleanUp.testCleanUpWithErrorscs�d�g�G�����fdd�dtj�}|d���fdd�}�fdd���fd	d
����|����fdd�}t��}||_��|����gd
��d�g�|d����|���|����gd��dS)NFcs:eZdZ����fdd�Z���fdd�Z�fdd�ZdS)z2TestCleanUp.testCleanupInRun.<locals>.TestableTestcs$��d������rtd��dS)N�setUprL)r rFr!r()r#r>r"rJr	r
rUks


�z8TestCleanUp.testCleanupInRun.<locals>.TestableTest.setUpc���d�����dS�NrJ�r rFr()�cleanup3r"rJr	r
r*q�
z>TestCleanUp.testCleanupInRun.<locals>.TestableTest.testNothingc���d�dS�N�tearDownr5r(�r"r	r
r]u�z;TestCleanUp.testCleanupInRun.<locals>.TestableTest.tearDownN�r-r.r/rUr*r]r	)r#r>rYr"rJr	r
r0jsr0r*cr[�Nr;r5r	r^r	r
r;zr_z.TestCleanUp.testCleanupInRun.<locals>.cleanup1cr[�Nr>r5r	r^r	r
r>|r_z.TestCleanUp.testCleanupInRun.<locals>.cleanup2cr[�NrYr5r	r^r	r
rY~r_z.TestCleanUp.testCleanupInRun.<locals>.cleanup3cs��|����d�dS)NrP)rEr )Z	some_test)r"r)rJr	r
rP�sz-TestCleanUp.testCleanupInRun.<locals>.success)rUrJr]rYr>r;rPT)rUr>r;)rrDrFrZ
addSuccessrrE)r)r0r;rP�resultr	)r#r>rYr"r)rJr
�testCleanupInRunfs&



zTestCleanUp.testCleanupInRuncszg�G�����fdd�dtj�}|d�����fdd���fdd���fdd	���fd
d�����|��gd��dS)
Ncs8eZdZ��fdd�Z��fdd�Z���fdd�ZdS)zCTestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTestc���d�|���dS�NrUrXr(�r;r"r	r
rU�rZzITestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.setUpcrfrWrXr(�rYr"r	r
r*�rZzOTestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.testNothingcrVr\rXr()�cleanup4r"rJr	r
r]�rZzLTestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.tearDownNr`r	)r;rYrjr"rJr	r
r0�sr0r*crVrarXr	)r>r"rJr	r
r;�rZz?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup1cr[rbr5r	r^r	r
r>�r_z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup2cr[rcr5r	r^r	r
rY�r_z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup3cr[)Nrjr5r	r^r	r
rj�r_z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup4)rUrJr]rjrYr;r>)rrD�debugrE�r)r0r	)r;r>rYrjr"rJr
�!testTestCaseDebugExecutesCleanups�s
z-TestCleanUp.testTestCaseDebugExecutesCleanupsN)r-r.r/rKrTrermr	r	r	r
r%0s
.r%c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestClassCleanupc
s�Gdd�dtj�}|d�}|�|jg�g��fdd�}�fdd�}|j|dd	d
ddd
�|�|�|�|j|dtddd
�f|difg�|��|��ddifd
dtddd
�fg�dS)Nc@r&)z;TestClassCleanup.test_addClassCleanUp.<locals>.TestableTestcSr'rr	r(r	r	r
r*�r+zGTestClassCleanup.test_addClassCleanUp.<locals>.TestableTest.testNothingNr,r	r	r	r
r0�r1r0r*cr2�Nr?r5r6�Zclass_cleanupsr	r
�class_cleanup1�r<z=TestClassCleanup.test_addClassCleanUp.<locals>.class_cleanup1cr2�N�r5r6rpr	r
�class_cleanup2�r<z=TestClassCleanup.test_addClassCleanUp.<locals>.class_cleanup2r4r=r?r@rArBrCr	rs)rrDrE�_class_cleanups�addClassCleanuprG�doClassCleanups)r)r0rJrqrtr	rpr
�test_addClassCleanUp�s*�

���
�z%TestClassCleanup.test_addClassCleanUpc�\g�d�G��fdd�dtj�}t|�|��ddg�g�d�t|�|��gd��dS)NTc�:eZdZe��fdd��Z�fdd�Ze�fdd��ZdS)z=TestClassCleanup.test_run_class_cleanUp.<locals>.TestableTestc�$��d�|�t���rt��dS�N�
setUpClass�r rvr$r!��cls�r#r"r	r
r}��

�zHTestClassCleanup.test_run_class_cleanUp.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_zITestClassCleanup.test_run_class_cleanUp.<locals>.TestableTest.testNothingcr[�N�
tearDownClassr5rr^r	r
r���zKTestClassCleanup.test_run_class_cleanUp.<locals>.TestableTest.tearDownClassN�r-r.r/�classmethodr}r*r�r	r�r	r
r0�sr0r}rF�r}rJr�r�rrDrrErlr	r�r
�test_run_class_cleanUp�s
�z'TestClassCleanup.test_run_class_cleanUpcry)NTcs:eZdZe��fdd��Z�fdd�Zeedd���ZdS)zSTestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTestcr{r|r~rr�r	r
r}�r�z^TestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_z_TestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTest.testNothingcSst�r)�AttributeErrorrr	r	r
r��szaTestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTest.tearDownClassN)r-r.r/r�r}r*�propertyr�r	r�r	r
r0�sr0r}rF)r}rJrr�rlr	r�r
�,test_run_class_cleanUp_without_tearDownClass�s�z=TestClassCleanup.test_run_class_cleanUp_without_tearDownClasscs�g�d�G��fdd�dtj�}tj�|�}|��|��gd��g�d�tj�|�}|�t��}|��Wd�n1s@wY|�t|j	�d�|��gd��dS)NFcrz)zGTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTestc���d�|jt��d�dS�Nr}�r#�r rvr$rr�r	r
r}�
zRTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*r_zSTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�r�zUTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.tearDownClassNr�r	r�r	r
r0
�r0r�Tr)r}rJr�r)
rrDrrrkrE�assertRaisesr!�str�	exception�r)r0r�cmr	r�r
� test_debug_executes_classCleanUps$�
��z1TestClassCleanup.test_debug_executes_classCleanUpcsg�d�G��fdd�dtj�}tj�|�}|�t��}|��Wd�n1s*wY|�t|j	�d�|��gd��|�
|j�|j��g�d�tj�|�}|�t��}|��Wd�n1siwY|�t|j	�d�|��gd��|�
|j�|j��dS)NFcrz)z_TestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTestcr�r�r�rr�r	r
r}(r�zjTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*,r_zkTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTest.testNothingc���d�td��)Nr��TearDownClassExcrrr^r	r
r�.�
zmTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTest.tearDownClassNr�r	r�r	r
r0'r�r0r�)r}rJr�T)
rrDrrr�r!rkrEr�r�rHru�clearr�r	r�r
�8test_debug_executes_classCleanUp_when_teardown_exception#s*
�

�zITestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exceptioncCszGdd�dtj�}dd�}dd�}|�|�|�|�|�t��}|��|�|d�Wd�dS1s6wYdS)Nc@r&)zWTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.TestableTestcSr'rr	r(r	r	r
r*Gr+zcTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.TestableTest.testNothingNr,r	r	r	r
r0Fr1r0cS�td��ra�r!r	r	r	r
r;JrzSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.cleanup1cSr�rbr�r	r	r	r
r>MrzSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.cleanup2r;)rrDrvr�r!rwrE)r)r0r;r>�er	r	r
�0test_doClassCleanups_with_errors_addClassCleanUpEs

"�zATestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUpc�Tg�G�fdd�dtj�}t|�}|�|jdd��dd�|��gd��dS)Ncs@eZdZe�fdd��Z�fdd�Zdd�Ze�fdd��Zd	S)
zBTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTestc���d�|�t��dSr|r�rr^r	r
r}Y�
zMTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.setUpClassc���d�|jt�dd�dS�NrUTr��r rFr$r(r^r	r
rU]�
zHTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.setUpcSr'rr	r(r	r	r
r*`r+zNTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�br�zPTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.tearDownClassN�r-r.r/r�r}rUr*r�r	r^r	r
r0Xsr0rr4����Exception: CleanUpExc)r}rUrr�r�rrDrrErR�
splitlines�r)r0rdr	r^r
�test_with_errors_addCleanUpV���z,TestClassCleanup.test_with_errors_addCleanUpcr�)NcsDeZdZe�fdd��Z�fdd�Z�fdd�Ze�fdd��Zd	S)
zKTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTestcr��Nr}Tr�r�rr^r	r
r}pr�zVTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.setUpClasscr�rgr�r(r^r	r
rUts
zQTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.setUpcr[rWr5r(r^r	r
r*wr_zWTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�yr�zYTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0osr0rr4r�r�)r}rUrJrr�rr�r�r	r^r
�$test_run_with_errors_addClassCleanUpmr�z5TestClassCleanup.test_run_with_errors_addClassCleanUpcs g�d�d�G���fdd�dtj�}t|�}|�|jdd��dd�|��gd��g�d	�d�t|�}|�|jdd��dd
�|�|jdd��dd�|��ddg�g�d�d	�t|�}|�|jdd��dd
�|�|jdd��dd�|��gd��dS)NFc�HeZdZe��fdd��Z��fdd�Z�fdd�Ze�fdd��Zd	S)
zUTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTestcs*��d�|jt�dd��rtd��dS)Nr}Tr��ClassExcr~r��
class_blow_upr"r	r
r}��

�z`TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.setUpClassc���d��rtd��dS�NrUZ	MethodExcrr(��method_blow_upr"r	r
rU��
�z[TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.setUpcr[rWr5r(r^r	r
r*�r_zaTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r��r�zcTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.tearDownClassNr�r	�r�r�r"r	r
r0�sr0rr4r�r�)r}rUrJr�rT�Exception: ClassExcr}r�Exception: MethodExc)r}rUr�rr�r�r	r�r
�.test_with_errors_in_addClassCleanup_and_setUps�sJ��������z?TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUpscr�)Nc�8eZdZe�fdd��Z�fdd�Ze�fdd��ZdS)zHTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTestcr�r|r�rr^r	r
r}�r�zSTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_zTTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTest.testNothingcr�)Nr�ZTearDownExcrrr^r	r
r��r�zVTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0��r0rr4r�zException: TearDownExcr�r�r�r	r^r
�!test_with_errors_in_tearDownClass�s��z2TestClassCleanup.test_with_errors_in_tearDownClasscsNg�G�fdd�dtj��G��fdd�dtj�}t|�|��gd��dS)Ncs(eZdZe�fdd��Z�fdd�ZdS)z8TestClassCleanup.test_run_nested_test.<locals>.InnerTestc���d�|��jd�dS)N�inner setup�
inner cleanup�r rvrr^r	r
r}��
zCTestClassCleanup.test_run_nested_test.<locals>.InnerTest.setUpClasscr[)N�
inner testr5r(r^r	r
rJ�r_z=TestClassCleanup.test_run_nested_test.<locals>.InnerTest.testN�r-r.r/r�r}rJr	r^r	r
�	InnerTest�sr�cs*eZdZe�fdd��Z��fdd�ZdS)z8TestClassCleanup.test_run_nested_test.<locals>.OuterTestcr�)N�outer setup�
outer cleanupr�rr^r	r
r}�r�zCTestClassCleanup.test_run_nested_test.<locals>.OuterTest.setUpClasscs ��d�t����d�dS)N�start outer test�end outer test)r rr(�r�r"r	r
rJ�s
z=TestClassCleanup.test_run_nested_test.<locals>.OuterTest.testNr�r	r�r	r
�	OuterTest�sr�)r�r�r�r�r�r�r�r�)r)r�r	r�r
�test_run_nested_test�s

z%TestClassCleanup.test_run_nested_testN)r-r.r/rxr�r�r�r�r�r�r�r�r�r�r	r	r	r
rn�s"4rnc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �TestModuleCleanUpc
s�g��fdd���fdd��G��fdd�dt�}|�tjj�dtdd	d
�f�difg�tj��|��ddifd
dtdd	d
�fg�|�tjjg�dS)Ncr2ror5r6��module_cleanupsr	r
�module_cleanup1�r<zHTestModuleCleanUp.test_add_and_do_ModuleCleanup.<locals>.module_cleanup1cr2rrr5r6r�r	r
�module_cleanup2�r<zHTestModuleCleanUp.test_add_and_do_ModuleCleanup.<locals>.module_cleanup2cs,eZdZej�dddddd�e���dS)z?TestModuleCleanUp.test_add_and_do_ModuleCleanup.<locals>.Moduler4r=r?r@rArBN�r-r.r/r�addModuleCleanupr	)r�r�r	r
�Module��
�r�rCr@rArBr	rsr?)�objectrErr�_module_cleanupsrG�doModuleCleanups�r)r�r	)r�r�r�r
�test_add_and_do_ModuleCleanup�s 

���

�z/TestModuleCleanUp.test_add_and_do_ModuleCleanupc	s�g��fdd��dd��G��fdd�dt�}|�tjj�dtdd	d
�f�difg�|�t��
}tj��Wd�n1s@wY|�t	|j
�d�|�tjjg�dS)
Ncr2ror5r6r�r	r
�module_cleanup_goodr<zcTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup.<locals>.module_cleanup_goodc_r�)Nrr�r6r	r	r
�module_cleanup_badrzbTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup.<locals>.module_cleanup_badcs,eZdZej�dddddd�e���dS)zVTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup.<locals>.Moduler4r=r?r@rArBNr�r	)r�r�r	r
r�
r�r�rCr@rArBr	r)r�rErrr�rGr�r!r�r�r�)r)r�r�r	)r�r�r�r
�4test_doModuleCleanup_with_errors_in_addModuleCleanups 

����zFTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanupcsJg��fdd��G��fdd�dt�}tj�����dddifg�dS)Nc���||f�dSrr5r6r9r	r
r$�zCTestModuleCleanUp.test_addModuleCleanup_arg_errors.<locals>.cleanupcs�eZdZej�dddd���e��ej�dd�Wd�n1s$wY��e��
e��Wd�dS1s>wYdS)zBTestModuleCleanUp.test_addModuleCleanup_arg_errors.<locals>.Moduler4r=r@)�function�r��argN)r-r.r/rr�r��	TypeErrorr	�r$r)r	r
r�s�
"�r��r4r=r�r@)r�rrr�rEr�r	�r$r:r)r
� test_addModuleCleanup_arg_errorss
�z2TestModuleCleanUp.test_addModuleCleanup_arg_errorscs�d�g�G��fdd�dt�}G�fdd�dtj�}d|_|tjd<t|�}|��ddg�|�|jdd	�	�d
d�g�d�t|�|��gd
��|�tj
jg�dS)NTc�.eZdZe��fdd��Ze�fdd��ZdS)z9TestModuleCleanUp.test_run_module_cleanUp.<locals>.Modulecs&��d�t�t���rtd��dS)N�setUpModulezsetUpModule Exc�r rr�r$r!r	r�r	r
r�*s

�zETestModuleCleanUp.test_run_module_cleanUp.<locals>.Module.setUpModulecr[�N�tearDownModuler5r	r^r	r
r�0r�zHTestModuleCleanUp.test_run_module_cleanUp.<locals>.Module.tearDownModuleN�r-r.r/�staticmethodr�r�r	r�r	r
r�)�
r�cr�)z?TestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTestcr[r|r5rr^r	r
r}5r�zJTestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*8r_zKTestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�:r�zMTestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r04�r0r�rrr4r�zException: setUpModule ExcF�r�r}rJr�r�r�r�rrDr.�sys�modulesrrErRr�rr��r)r�r0rdr	r�r
�test_run_module_cleanUp&s$

��z)TestModuleCleanUp.test_run_module_cleanUpcs�d�d�g�G��fdd�dt�}G��fdd�dt�}G�fdd�dtj�}G�fd	d
�d
tj�}d|_|tjd<d|_|tjd<t||�|��gd��g�d�d�t||�|��gd��g�d�d�t||�|��gd
��|�tjj	g�dS)NTFcr�)zCTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module1c�$��d�t�t���rt��dS�Nr�r�r	r�r	r
r�Rr�zOTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module1.setUpModulecr[r�r5r	r^r	r
r�Xr�zRTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module1.tearDownModuleNr�r	r�r	r
�Module1Qr�rcr�)zCTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module2cr�)N�setUpModule2r�r	��blowUp2r"r	r
r�]r�zOTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module2.setUpModulecr[)N�tearDownModule2r5r	r^r	r
r�cr�zRTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module2.tearDownModuleNr�r	rr	r
�Module2\r�rcr�)zHTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTestcr[r|r5rr^r	r
r}hr�zSTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*kr_zTTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�mr�zVTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0gr�r0cr�)zITestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2cr[)N�setUpClass2r5rr^r	r
r}rr�zTTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.setUpClasscr[�N�test2r5r(r^r	r
r*ur_zUTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.testNothingcr[)N�tearDownClass2r5rr^r	r
r�wr�zWTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.tearDownClassNr�r	r^r	r
�
TestableTest2qr�r
)r�rrrrr	rr)r�r}rJr�r�rrr)r�r}rJr�r�rrrrr	rr�
r�rrDr.r�r�rrErr�)r)rrr0r
r	)r#rr"r
� test_run_multiple_module_cleanUpMs4






�z2TestModuleCleanUp.test_run_multiple_module_cleanUpcsjg�G�fdd�dt�}G�fdd�dtj�}d|_|tjd<t|�|��gd��|�tjj	g�dS)NcseZdZe�fdd��ZdS)zJTestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.Modulec���d�t�t��dSr��r rr�r$r	r^r	r
r��r�zVTestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.Module.setUpModuleN)r-r.r/r�r�r	r^r	r
r��sr�cr�)zPTestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTestcr[r|r5rr^r	r
r}�r�z[TestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_z\TestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r��r�z^TestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0�r�r0)r�r}rJr�rr)r)r�r0r	r^r
�(test_run_module_cleanUp_without_teardown�s

z:TestModuleCleanUp.test_run_module_cleanUp_without_teardowncs�g�G�fdd�dt�}G�fdd�dtj�}d|_|tjd<t|�}|�|jdd�	�dd�|��gd	��|�tj
jg�dS)
Nc�,eZdZe�fdd��Ze�fdd��ZdS)zQTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.Modulecr
r�rr	r^r	r
r��r�z]TestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.Module.setUpModulecr�)Nr�rrr	r^r	r
r��r�z`TestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.Module.tearDownModuleNr�r	r^r	r
r���
r�cr�)zWTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTestcr[r|r5rr^r	r
r}�r�zbTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_zcTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r��r�zeTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0�r�r0rr4r�r�r�r�r�r	r^r
�/test_run_module_cleanUp_when_teardown_exception�s


�zATestModuleCleanUp.test_run_module_cleanUp_when_teardown_exceptioncs�g�d�G��fdd�dt�}G�fdd�dtj�}d|_|tjd<tj�|�}|��|�	�gd��|�	tj
jg�g�d�tj�|�}|�t
��}|��Wd�n1sZwY|�	t|j�d�|�	�gd	��|�	tj
jg�dS)
NFcr�)zDTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.Modulec���d�tjt��d�dS�Nr�r�rr	r�r	r
r��r�zPTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.Module.setUpModulecr[r�r5r	r^r	r
r��r�zSTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.Module.tearDownModuleNr�r	r�r	r
r���
r�cr�)zJTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTestcr[r|r5rr^r	r
r}�r�zUTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*�r_zVTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r��r�zXTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0�r�r0r�Tr)r�r}rJr�r�r)r�rrDr.r�r�rrrkrErr�r�r!r�r��r)r�r0rr�r	r�r
�"test_debug_module_executes_cleanUp�s*	

�
�z4TestModuleCleanUp.test_debug_module_executes_cleanUpcsDg�d�G��fdd�dt�}G�fdd�dtj�}d|_|tjd<tj�|�}|�t	��}|�
�Wd�n1s<wY|�t|j
�d�|��gd��|�tjj�tjj��g�d�tj�|�}|�t	��}|�
�Wd�n1s}wY|�t|j
�d�|��gd��|�tjj�tjj��dS)	NFcr�)zSTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.Modulecrrrr	r�r	r
r��r�z_TestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.Module.setUpModulecr�)Nr��TearDownModuleExcrr	r^r	r
r�r�zbTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.Module.tearDownModuleNr�r	r�r	r
r��rr�cr�)zYTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTestcr[r|r5rr^r	r
r}r�zdTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*r_zeTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�
r�zgTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0r�r0r)r�r}rJr�r�T)r�rrDr.r�r�rrr�r!rkrEr�r�rHrr�r�rr	r�r
�1test_debug_module_cleanUp_when_teardown_exception�s0



�
�zCTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exceptioncs�g��fdd��G��fdd�dtj�}��t��|��Wd�n1s(wY��t��tjj|��d�Wd�n1sFwYt|����dddd	�fg�dS)
Ncr�rr5r6r9r	r
r$)r�zBTestModuleCleanUp.test_addClassCleanup_arg_errors.<locals>.cleanupcs&eZdZe��fdd��Zdd�ZdS)zGTestModuleCleanUp.test_addClassCleanup_arg_errors.<locals>.TestableTestc�R|j�ddddd���t��|j�dd�Wd�dS1s"wYdS)Nr4r=r?rs�r�r�r@r�)rvr�r�rr�r	r
r}-s"�zRTestModuleCleanUp.test_addClassCleanup_arg_errors.<locals>.TestableTest.setUpClasscSr'rr	r(r	r	r
r*2r+zSTestModuleCleanUp.test_addClassCleanup_arg_errors.<locals>.TestableTest.testNothingN)r-r.r/r�r}r*r	r�r	r
r0,sr0)r�r�r�r?rsr)rrDr�r�rvrFrrErlr	r�r
�test_addClassCleanup_arg_errors's	
���z1TestModuleCleanUp.test_addClassCleanup_arg_errorscs�g��fdd��G��fdd�dtj�}��t��
|���Wd�n1s)wY��t��tjj|��d�Wd�n1sGwYt|����dddd	�fg�dS)
Ncr�rr5r6r9r	r
r$?r�z=TestModuleCleanUp.test_addCleanup_arg_errors.<locals>.cleanupcs"eZdZ��fdd�Zdd�ZdS)zBTestModuleCleanUp.test_addCleanup_arg_errors.<locals>.TestableTestcr)Nr4r=r?rs�r�r)r@r�)rFr�r�)Zself2r�r	r
rUCs"�zHTestModuleCleanUp.test_addCleanup_arg_errors.<locals>.TestableTest.setUpcSr'rr	r(r	r	r
r*Gr+zNTestModuleCleanUp.test_addCleanup_arg_errors.<locals>.TestableTest.testNothingN)r-r.r/rUr*r	r�r	r
r0Bsr0)r)r�r�r?rsr)rrDr�r�rFrrErlr	r�r
�test_addCleanup_arg_errors=s���z,TestModuleCleanUp.test_addCleanup_arg_errorsc�xg�G�fdd�dt�}G�fdd�dtj�}d|_|tjd<t|�}|�|jdd�	�dd�|��gd	��dS)
Ncr)zETestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.Modulecr
r�rr	r^r	r
r�Vr�zQTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.Module.setUpModulecr[r�r5r	r^r	r
r�Zr�zTTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.Module.tearDownModuleNr�r	r^r	r
r�Urr�cr�)zKTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTestcr�r�r�rr^r	r
r}_r�zVTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTest.setUpClasscr[rWr5r(r^r	r
r*cr_zWTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r�er�zYTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTest.tearDownClassNr�r	r^r	r
r0^r�r0rr4r�r�)r�r}rJr�rr�r�
r�rrDr.r�r�rrErRr�r�r	r^r
�#test_with_errors_in_addClassCleanupRs	
��z5TestModuleCleanUp.test_with_errors_in_addClassCleanupcr)
Ncr)z@TestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.Modulecr
r�rr	r^r	r
r�vr�zLTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.Module.setUpModulecr[r�r5r	r^r	r
r�zr�zOTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.Module.tearDownModuleNr�r	r^r	r
r�urr�cs0eZdZ�fdd�Z�fdd�Z�fdd�ZdS)zFTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTestcr�r�r�r(r^r	r
rUr�zLTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.setUpcr[rWr5r(r^r	r
r*�r_zRTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.testNothingcr[r\r5r(r^r	r
r]�r_zOTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.tearDownNr`r	r^r	r
r0~sr0rr4r�r�)r�rUrJr]rr�rr r�r	r^r
�test_with_errors_in_addCleanupss		
��z0TestModuleCleanUp.test_with_errors_in_addCleanupcs�g�d�d�d�G��fdd�dt�}G���fdd�dtj�}d|_|tjd<t|�}|�|jdd�	�dd	�|��gd
��g�d�d�d�t|�}|�|jdd�	�dd�|�|jdd�	�dd	�|��d
dg�g�d�d�d�t|�}|�|jdd�	�dd�|�|jdd�	�dd	�|��gd��g�d�d�d�t|�}|�|jdd�	�dd�|�|jdd�	�dd	�|��gd��dS)NFcr�)zQTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.Modulecs*��d�tjt�dd��rtd��dS)Nr�Tr�Z	ModuleExcr�r	��module_blow_upr"r	r
r��r�z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.Module.setUpModulecr[r�r5r	r^r	r
r��r�z`TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.Module.tearDownModuleNr�r	r#r	r
r��r�r�cr�)
zWTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTestcr�)Nr}r�rrr�r	r
r}�s
�zbTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.setUpClasscr�r�rr(r�r	r
rU�r�z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.setUpcr[rWr5r(r^r	r
r*�r_zcTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.testNothingcr[r�r5rr^r	r
r��r�zeTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.tearDownClassNr�r	r�r	r
r0�sr0rr4r�r�)r�r}rUrJr�r�rTzException: ModuleExcr�rr�)r�r}r�rr�)r�r}rUr�r�rr r�r	)r�r�r$r"r
�/test_with_errors_in_addModuleCleanup_and_setUps�sf
��������zATestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUpscs�g��fdd���fdd���fdd��G��fdd�dt�}G��fd	d
�d
tj�}G��fdd�dtj�}d|_d|_|tjd<t||�|��gd
��dS)Ncr[rar5r	r^r	r
r;�r_zMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.cleanup1cr[rbr5r	r^r	r
r>�r_zMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.cleanup2cr[rcr5r	r^r	r
rY�r_zMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.cleanup3cr�)zKTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.Modulecs��d�t���dSr�)r rr�r	rhr	r
r��s
zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.Module.setUpModulecr[r�r5r	r^r	r
r��r�zZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.Module.tearDownModuleNr�r	rhr	r
r��rr�c�2eZdZ��fdd�Z�fdd�Z�fdd�ZdS)zQTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTestcrfrgrXr(�r>r"r	r
rU�rZzWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTest.setUpcr[rWr5r(r^r	r
r*�r_z]TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTest.testNothingcr[r\r5r(r^r	r
r]�r_zZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTest.tearDownNr`r	r'r	r
r0��r0cr&)zVTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTestcrf)N�setUp2rXr(rir	r
rU�rZz\TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.setUpcr[rr5r(r^r	r
r*r_zbTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.testNothingcr[)N�	tearDown2r5r(r^r	r
r]r_z_TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.tearDownNr`r	rir	r
�OtherTestableTest�r(r+)r�rUrJr]r>r)rr*rYr�r;)r�rrDr.r�r�rrE)r)r�r0r+r	)r;r>rYr"r
�)test_module_cleanUp_with_multiple_classes�s			

�z;TestModuleCleanUp.test_module_cleanUp_with_multiple_classesN)r-r.r/r�r�r�r�rrrrrrrr!r"r%r,r	r	r	r
r��s 'K )-!Or�c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�Test_TextTestRunnerzTests for TextTestRunner.cCs$tj�d�|_|jrtjd=dSdS�NZPYTHONWARNINGS)�os�environ�get�pythonwarningsr(r	r	r
rUs�zTest_TextTestRunner.setUpcCs|jr|jtjd<dSdSr.)r2r/r0r(r	r	r
r]s�zTest_TextTestRunner.tearDowncCsht��}|�|j�|�|j�|�|jd�|�|jd�|�|j	�|�|j
tj�|�|j�dSr3)
rrrO�failfast�bufferrE�	verbosity�warningsrH�descriptionsr
�TextTestResult�	tb_locals�r)rr	r	r
�	test_initszTest_TextTestRunner.test_initcs:G�fdd�dtj��Gdd�dtj��}|ddd�dS)NcseZdZ��fdd�Z�ZS)z>Test_TextTestRunner.test_multiple_inheritance.<locals>.AResultcst�|��|||�dSr)�super�__init__)r)rr7r5)�AResult�	__class__r	r
r=+�zGTest_TextTestRunner.test_multiple_inheritance.<locals>.AResult.__init__)r-r.r/r=�
__classcell__r	�r>�r?r
r>*sr>c@seZdZdS)zBTest_TextTestRunner.test_multiple_inheritance.<locals>.ATextResultN)r-r.r/r	r	r	r
�ATextResult.srDr4)rrr8)r)rDr	rBr
�test_multiple_inheritance)sz-Test_TextTestRunner.test_multiple_inheritancecsfGdd�dtj�}t���tjt��ddd�}�fdd�|_|�|d��|��j	�|��j
�dS)Nc@r&)z7Test_TextTestRunner.testBufferAndFailfast.<locals>.TestcSr'rr	r(r	r	r
�testFoo7r+z?Test_TextTestRunner.testBufferAndFailfast.<locals>.Test.testFooN�r-r.r/rFr	r	r	r
�Test6r1rHT)rr3r4c��Srr	r	�rdr	r
�<lambda>=�z;Test_TextTestRunner.testBufferAndFailfast.<locals>.<lambda>rF)rrDrrrr�_makeResultrrHr3r4)r)rHrr	rJr
�testBufferAndFailfast5s�z)Test_TextTestRunner.testBufferAndFailfastcCs2tjt��dd�}|�t���}|�d|j�dS)NT)rr9)rrrrrrrEr9)r)rrdr	r	r
�test_localsCszTest_TextTestRunner.test_localscs�Gdd�dtj�}tjj��fdd�}��|�t���tjt��d�}�fdd�|_	d�_
��fd	d
�}|tj_|�t�����
�j
d�dS)Nc@r&)z;Test_TextTestRunner.testRunnerRegistersResult.<locals>.TestcSr'rr	r(r	r	r
rFJr+zCTest_TextTestRunner.testRunnerRegistersResult.<locals>.Test.testFooNrGr	r	r	r
rHIr1rHcs�tj_dSr)rr�registerResultr	)�originalRegisterResultr	r
r$Msz>Test_TextTestRunner.testRunnerRegistersResult.<locals>.cleanup)rcrIrr	r	rJr	r
rKTrLz?Test_TextTestRunner.testRunnerRegistersResult.<locals>.<lambda>rcs�jd7_��|��dSr3)�
wasRegisteredrE)Z
thisResult)rdr)r	r
�fakeRegisterResultWszITest_TextTestRunner.testRunnerRegistersResult.<locals>.fakeRegisterResultr4)rrDrrPrFrrrrrMrRrrrE)r)rHr$rrSr	)rQrdr)r
�testRunnerRegistersResultHs
z-Test_TextTestRunner.testRunnerRegistersResultcs@Gdd�dt��G��fdd�dtj����}|�t���dS)Nc@�eZdZdZdd�ZdS)zbTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.OldTextResult�cSr'rr	r(r	r	r
�printErrorsbr+znTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.OldTextResult.printErrorsN�r-r.r/Z
separator2rWr	r	r	r
�
OldTextResult`�rYcs*eZdZ��fdd�Z�fdd�Z�ZS)z[Test_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.Runnercst�|��t���dSr)r<r=rrr()�Runnerr?r	r
r=fr@zdTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.Runner.__init__cs��Srr	r()rYr	r
rMiszgTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.Runner._makeResult�r-r.r/r=rMrAr	�rYr[rCr
r[esr[)rrrrrr:r	r]r
�7test_works_with_result_without_startTestRun_stopTestRun_szKTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRuncsZGdd�dt��G��fdd�dtj��g}�|�}|�t���ddg}|�||�dS)Nc@rU)zSTest_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingTextResultrVcSr'rr	r(r	r	r
rWrr+z_Test_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingTextResult.printErrorsNrXr	r	r	r
�LoggingTextResultprZr_cs*eZdZ��fdd�Z�fdd�Z�ZS)zOTest_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingRunnercst�|��t���||_dSr)r<r=rr�_events)r)�events)�
LoggingRunnerr?r	r
r=vs
zXTest_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingRunner.__init__cs
�|j�Sr)r`r()r_r	r
rMzs
z[Test_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingRunner._makeResultr\r	�rbr_rCr
rbusrbZstartTestRunZstopTestRun)rrrrrrE)r)rarZexpectedr	rcr
�$test_startTestRun_stopTestRun_calledosz8Test_TextTestRunner.test_startTestRun_stopTestRun_calledcCsZt�d�}t�|�}tdtjd�D]}t�||�}t�|�}|�	|j
��|���qdS)NrLr=r4)rrrr�range�pickle�HIGHEST_PROTOCOL�dumps�loadsrEr�getvalue)r)rr�protocol�s�objr	r	r
�test_pickle_unpickle�s


�z(Test_TextTestRunner.test_pickle_unpicklecCsZdd�}t�}t�}t�}tj||||d�}|�|j|�|j||f}|�|��|�dS)NcWs|Srr	)r7r	r	r
�MockResultClass�r+z=Test_TextTestRunner.test_resultclass.<locals>.MockResultClass)r
)r�rrrEr
rrM)r)roZSTREAMZDESCRIPTIONSZ	VERBOSITYrZexpectedresultr	r	r
�test_resultclass�s
�z$Test_TextTestRunner.test_resultclassc	Csdd�}ttjtjtj�t�d�}d}d}tjtj	ddgfi|��}|�||�\}}Wd�n1s5wY|�
d	|�|�t|�d
�dD]}|�|�
|�d�qJ||d
fD]}|�|�
|�d�q[tj	ddgtj	dddgtj	ddgf}	|	D]1}
tj|
fi|��}|�||�\}}Wd�n1s�wY|�
d	|�|�t|�d�q{tjtj	ddgfi|��}|�||�\}}Wd�n1s�wY|�
d	|�|�t|�d�dD]}|�|�
|�d�q�||fD]}|�|�
|�d�q�dS)zx
        Check that warnings argument of TextTestRunner correctly affects the
        behavior of the warnings.
        cSsdd�|��D�S)NcSsg|]}|���qSr	)r�)�.0�br	r	r
�
<listcomp>�szPTest_TextTestRunner.test_warnings.<locals>.get_parse_out_err.<locals>.<listcomp>)�communicate)�pr	r	r
�get_parse_out_err�r�z<Test_TextTestRunner.test_warnings.<locals>.get_parse_out_err)�stdout�stderr�cwdsPlease use assertEqual instead.sPlease use assertTrue instead.z-Ez_test_warnings.pyNsOK�)�dw�iw�uwr?�rwr4�ignorez-Waz-Wir�always�)r{r|r}r~)rG�
subprocess�PIPEr/�path�dirname�__file__�Popenr��
executableZassertInrE�len�count)r)rvZoptsZae_msgZat_msgru�out�err�msgZ	args_listr7r	r	r
�
test_warnings�sP

��

�	����z!Test_TextTestRunner.test_warningscCsDtj}t��}|t_zt��}|�|jj|u�W|t_dS|t_wr)r�rxrrrrrHr)r)Z
old_stderr�frr	r	r
�%testStdErrLookedUpAtInstantiationTime�sz9Test_TextTestRunner.testStdErrLookedUpAtInstantiationTimecCs(t��}t�|�}|�|jj|u�dSr)rrrrrHr)r)r�rr	r	r
�testSpecifiedStreamUsed�s
z+Test_TextTestRunner.testSpecifiedStreamUsedN)r-r.r/�__doc__rUr]r;rErNrOrTr^rdrnrpr�r�r�r	r	r	r
r-s 

9r-�__main__)F)rr/r�rfr�rZ
unittest.caserZunittest.test.supportrrrrrr$rDr%rnr�r-r-�mainr	r	r	r
�<module>s6
5,W�