Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/unittest/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/unittest/test/__pycache__/test_runner.cpython-310.pyc

o

0�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	�@/opt/alt/python310/lib64/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)r0rJZoutcomer;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
rTks


�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/rTr*r\r	)r#r>rXr"rJr	r
r0jsr0r*crZ�Nr;r5r	r]r	r
r;zr^z.TestCleanUp.testCleanupInRun.<locals>.cleanup1crZ�Nr>r5r	r]r	r
r>|r^z.TestCleanUp.testCleanupInRun.<locals>.cleanup2crZ�NrXr5r	r]r	r
rX~r^z.TestCleanUp.testCleanupInRun.<locals>.cleanup3cs��|����d�dS)NrP)rEr )Z	some_test)r"r)rJr	r
rP�sz-TestCleanUp.testCleanupInRun.<locals>.success)rTrJr\rXr>r;rPT)rTr>r;)rrDrFrZ
addSuccessrrE)r)r0r;rP�resultr	)r#r>rXr"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�NrTrWr(�r;r"r	r
rT�rYzITestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.setUpcrerVrWr(�rXr"r	r
r*�rYzOTestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.testNothingcrUr[rWr()�cleanup4r"rJr	r
r\�rYzLTestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.TestableTest.tearDownNr_r	)r;rXrir"rJr	r
r0�sr0r*crUr`rWr	)r>r"rJr	r
r;�rYz?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup1crZrar5r	r]r	r
r>�r^z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup2crZrbr5r	r]r	r
rX�r^z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup3crZ)Nrir5r	r]r	r
ri�r^z?TestCleanUp.testTestCaseDebugExecutesCleanups.<locals>.cleanup4)rTrJr\rirXr;r>)rrD�debugrE�r)r0r	)r;r>rXrir"rJr
�!testTestCaseDebugExecutesCleanups�s
z-TestCleanUp.testTestCaseDebugExecutesCleanupsN)r-r.r/rKrSrdrlr	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�r5r6ror	r
�class_cleanup2�r<z=TestClassCleanup.test_addClassCleanUp.<locals>.class_cleanup2r4r=r?r@rArBrCr	rr)rrDrE�_class_cleanups�addClassCleanuprG�doClassCleanups)r)r0rJrprsr	ror
�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 rur$r!��cls�r#r"r	r
r|��

�zHTestClassCleanup.test_run_class_cleanUp.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^zITestClassCleanup.test_run_class_cleanUp.<locals>.TestableTest.testNothingcrZ�N�
tearDownClassr5r~r]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�rrDrrErkr	r�r
�test_run_class_cleanUp�s
�z'TestClassCleanup.test_run_class_cleanUpcrx)NTcs:eZdZe��fdd��Z�fdd�Zeedd���ZdS)zSTestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTestcrzr{r}r~r�r	r
r|�r�z^TestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^z_TestClassCleanup.test_run_class_cleanUp_without_tearDownClass.<locals>.TestableTest.testNothingcSst�r)�AttributeErrorr~r	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�rkr	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)NFcry)zGTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTestc���d�|jt��d�dS�Nr|�r#�r rur$r~r�r	r
r|�
zRTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*r^zSTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]r	r
r�r�zUTestClassCleanup.test_debug_executes_classCleanUp.<locals>.TestableTest.tearDownClassNr�r	r�r	r
r0
�r0r�Tr)r|rJr�r)
rrDrrrjrE�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)NFcry)z_TestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTestcr�r�r�r~r�r	r
r|(r�zjTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*,r^zkTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception.<locals>.TestableTest.testNothingc���d�td��)Nr��TearDownClassExcrr~r]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!rjrEr�r�rHrt�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��r`�r!r	r	r	r
r;JrzSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.cleanup1cSr�rar�r	r	r	r
r>MrzSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp.<locals>.cleanup2r;)rrDrur�r!rvrE)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�r~r]r	r
r|Y�
zMTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.setUpClassc���d�|jt�dd�dS�NrTTr��r rFr$r(r]r	r
rT]�
zHTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.setUpcSr'rr	r(r	r	r
r*`r+zNTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]r	r
r�br�zPTestClassCleanup.test_with_errors_addCleanUp.<locals>.TestableTest.tearDownClassN�r-r.r/r�r|rTr*r�r	r]r	r
r0Xsr0rr4����Exception: CleanUpExc)r|rTrr�r�rrDrrErR�
splitlines�r)r0rcr	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�r~r]r	r
r|pr�zVTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.setUpClasscr�rfr�r(r]r	r
rTts
zQTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.setUpcrZrVr5r(r]r	r
r*wr^zWTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]r	r
r�yr�zYTestClassCleanup.test_run_with_errors_addClassCleanUp.<locals>.TestableTest.tearDownClassNr�r	r]r	r
r0osr0rr4r�r�)r|rTrJrr�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�NrTZ	MethodExcrr(��method_blow_upr"r	r
rT��
�z[TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.setUpcrZrVr5r(r]r	r
r*�r^zaTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps.<locals>.TestableTest.testNothingcrZr�r5r~r]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|rTrJr�rT�Exception: ClassExcr|r�Exception: MethodExc)r|rTr�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�r~r]r	r
r|�r�zSTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^zTTestClassCleanup.test_with_errors_in_tearDownClass.<locals>.TestableTest.testNothingcr�)Nr�ZTearDownExcrr~r]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 rur~r]r	r
r|��
zCTestClassCleanup.test_run_nested_test.<locals>.InnerTest.setUpClasscrZ)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�r~r]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/rwr�r�r�r�r�r�r�r�r�r�r	r	r	r
rm�s"4rmc@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)Ncr2rnr5r6��module_cleanupsr	r
�module_cleanup1�r<zHTestModuleCleanUp.test_add_and_do_ModuleCleanup.<locals>.module_cleanup1cr2rqr5r6r�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	rrr?)�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)
Ncr2rnr5r6r�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.setUpModulecrZ�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>.TestableTestcrZr{r5r~r]r	r
r|5r�zJTestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*8r^zKTestModuleCleanUp.test_run_module_cleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]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�r0rcr	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.setUpModulecrZr�r5r	r]r	r
r�Xr�zRTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module1.tearDownModuleNr�r	r�r	r
�Module1Qr�r�cr�)zCTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module2cr�)N�setUpModule2r�r	��blowUp2r"r	r
r�]r�zOTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.Module2.setUpModulecrZ)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>.TestableTestcrZr{r5r~r]r	r
r|hr�zSTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*kr^zTTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]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>.TestableTest2crZ)N�setUpClass2r5r~r]r	r
r|rr�zTTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.setUpClasscrZ�N�test2r5r(r]r	r
r*ur^zUTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.testNothingcrZ)N�tearDownClass2r5r~r]r	r
r�wr�zWTestModuleCleanUp.test_run_multiple_module_cleanUp.<locals>.TestableTest2.tearDownClassNr�r	r]r	r
�
TestableTest2qr�r	)r�rrrrrrr)r�r|rJr�r�rrr)r�r|rJr�r�rrrrrrr�
r�rrDr.r�r�rrErr�)r)r�rr0r	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>.TestableTestcrZr{r5r~r]r	r
r|�r�z[TestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^z\TestModuleCleanUp.test_run_module_cleanUp_without_teardown.<locals>.TestableTest.testNothingcrZr�r5r~r]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�r
r	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>.TestableTestcrZr{r5r~r]r	r
r|�r�zbTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^zcTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception.<locals>.TestableTest.testNothingcrZr�r5r~r]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�r
r	r�r	r
r��r�zPTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.Module.setUpModulecrZr�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>.TestableTestcrZr{r5r~r]r	r
r|�r�zUTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*�r^zVTestModuleCleanUp.test_debug_module_executes_cleanUp.<locals>.TestableTest.testNothingcrZr�r5r~r]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�rrrjrErr�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>.Modulecrrr
r	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>.TestableTestcrZr{r5r~r]r	r
r|r�zdTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*r^zeTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception.<locals>.TestableTest.testNothingcrZr�r5r~r]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!rjrEr�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?rr�r�rr@r�)rur�r�r~r�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)rr�r�r?rrr)rrDr�r�rurFrrErkr	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?rr�r�r)r@r�)rFr�r�)Zself2r�r	r
rTCs"�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/rTr*r	r�r	r
r0Bsr0)r)r�r�r?rrr)rrDr�r�rFrrErkr	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�r
r	r]r	r
r�Vr�zQTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.Module.setUpModulecrZr�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�r~r]r	r
r|_r�zVTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTest.setUpClasscrZrVr5r(r]r	r
r*cr^zWTestModuleCleanUp.test_with_errors_in_addClassCleanup.<locals>.TestableTest.testNothingcrZr�r5r~r]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�r
r	r]r	r
r�vr�zLTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.Module.setUpModulecrZr�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
rTr�zLTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.setUpcrZrVr5r(r]r	r
r*�r^zRTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.testNothingcrZr[r5r(r]r	r
r\�r^zOTestModuleCleanUp.test_with_errors_in_addCleanup.<locals>.TestableTest.tearDownNr_r	r]r	r
r0~sr0rr4r�r�)r�rTrJr\rr�rrr�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.setUpModulecrZr�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�rr~r�r	r
r|�s
�zbTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.setUpClasscr�r�rr(r�r	r
rT�r�z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.setUpcrZrVr5r(r]r	r
r*�r^zcTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps.<locals>.TestableTest.testNothingcrZr�r5r~r]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|rTrJr�r�rTzException: ModuleExcr�rr�)r�r|r�rr�)r�r|rTr�r�rrr�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)NcrZr`r5r	r]r	r
r;�r^zMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.cleanup1crZrar5r	r]r	r
r>�r^zMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.cleanup2crZrbr5r	r]r	r
rX�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	rgr	r
r��s
zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.Module.setUpModulecrZr�r5r	r]r	r
r��r�zZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.Module.tearDownModuleNr�r	rgr	r
r��rr�c�2eZdZ��fdd�Z�fdd�Z�fdd�ZdS)zQTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTestcrerfrWr(�r>r"r	r
rT�rYzWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTest.setUpcrZrVr5r(r]r	r
r*�r^z]TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.TestableTest.testNothingcrZr[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>.OtherTestableTestcre)N�setUp2rWr(rhr	r
rT�rYz\TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.setUpcrZrr5r(r]r	r
r*r^zbTestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.testNothingcrZ)N�	tearDown2r5r(r]r	r
r\r^z_TestModuleCleanUp.test_module_cleanUp_with_multiple_classes.<locals>.OtherTestableTest.tearDownNr_r	rhr	r
�OtherTestableTest�r'r*)r�rTrJr\r>r(rr)rXr�r;)r�rrDr.r�r�rrE)r)r�r0r*r	)r;r>rXr"r
�)test_module_cleanUp_with_multiple_classes�s			

�z;TestModuleCleanUp.test_module_cleanUp_with_multiple_classesN)r-r.r/r�r�r�r�rrrrrrrr 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
rTs�zTest_TextTestRunner.setUpcCs|jr|jtjd<dSdSr-)r1r.r/r(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)rr6r4)�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.srCr4)rrr7)r)rCr	rAr
�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/rEr	r	r	r
�Test6r1rGT)rr2r3c��Srr	r	�rcr	r
�<lambda>=�z;Test_TextTestRunner.testBufferAndFailfast.<locals>.<lambda>rE)rrDrrrr�_makeResultrrHr2r3)r)rGrr	rIr
�testBufferAndFailfast5s�z)Test_TextTestRunner.testBufferAndFailfastcCs2tjt��dd�}|�t���}|�d|j�dS)NT)rr8)rrrrrrrEr8)r)rrcr	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
rEJr+zCTest_TextTestRunner.testRunnerRegistersResult.<locals>.Test.testFooNrFr	r	r	r
rGIr1rGcs�tj_dSr)rr�registerResultr	)�originalRegisterResultr	r
r$Msz>Test_TextTestRunner.testRunnerRegistersResult.<locals>.cleanup)rcrHrr	r	rIr	r
rJTrKz?Test_TextTestRunner.testRunnerRegistersResult.<locals>.<lambda>rcs�jd7_��|��dSr3)�
wasRegisteredrE)Z
thisResult)rcr)r	r
�fakeRegisterResultWszITest_TextTestRunner.testRunnerRegistersResult.<locals>.fakeRegisterResultr4)rrDrrOrFrrrrrLrQrrrE)r)rGr$rrRr	)rPrcr)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
separator2rVr	r	r	r
�
OldTextResult`�rXcs*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()rXr	r
rLiszgTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun.<locals>.Runner._makeResult�r-r.r/r<rLr@r	�rXrZrBr
rZesrZ)rrrrrr9r	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@rT)zSTest_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingTextResultrUcSr'rr	r(r	r	r
rVrr+z_Test_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingTextResult.printErrorsNrWr	r	r	r
�LoggingTextResultprYr^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
rLzs
z[Test_TextTestRunner.test_startTestRun_stopTestRun_called.<locals>.LoggingRunner._makeResultr[r	�rar^rBr
rausraZstartTestRunZstopTestRun)rrrrrrE)r)r`rZexpectedr	rbr
�$test_startTestRun_stopTestRun_calledosz8Test_TextTestRunner.test_startTestRun_stopTestRun_calledcCsZt�d�}t�|�}tdtjd�D]}t�||�}t�|�}|�	|j
��|���qdS)NrLr=r4)rrrr�range�pickleZHIGHEST_PROTOCOL�dumps�loadsrEr�getvalue)r)rrZprotocol�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
rrL)r)rlZSTREAMZ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>)Zcommunicate)�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�)rwrxryrz)rG�
subprocess�PIPEr.�path�dirname�__file__�Popenr��
executableZassertInrE�len�count)r)rrZoptsZae_msgZat_msgrq�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�rtrrrrrHr)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__rTr\r:rDrMrNrSr]rcrkrmr�r�r�r	r	r	r
r,s 

9r,�__main__)F)rr.r�rer~rZ
unittest.caserZunittest.test.supportrrrrrr$rDr%rmr�r,r-�mainr	r	r	r
�<module>s6
5,W�