Your IP : 216.73.216.126
�
|�h�4���SrSSKrSSKJr SSKJr SrSr"SS \5r"S
S\5r "SS\5r
S
r"SS\5rg)� TestSuite�N�)�case)�utilTc�,�[XS5nU"5 g)Nc��g�N�r
��5/opt/alt/python313/lib64/python3.13/unittest/suite.py�<lambda>�!_call_if_exists.<locals>.<lambda>s��r)�getattr)�parent�attr�funcs r�_call_if_existsrs���6��.�D��Frc�b�\rSrSrSrSrSSjrSrSrSr Sr
S rS
rSr
SrS
rSrSrg)�
BaseTestSuite�zNA simple test suite that doesn't provide class or module shared fixtures.
Tc�B�/UlSUlURU5 g�Nr)�_tests�_removed_tests�addTests)�self�testss r�__init__�BaseTestSuite.__init__s���������
�
�e�rc�f�S[R"UR5<S[U5<S3$)N�<z tests=�>)r�strclass� __class__�list�rs r�__repr__�BaseTestSuite.__repr__s��"&�-�-����"?��d��L�Lrc�p�[XR5(d[$[U5[U5:H$r )�
isinstancer$�NotImplementedr%)r�others r�__eq__�BaseTestSuite.__eq__s*���%���0�0�!�!��D�z�T�%�[�(�(rc�,�[UR5$r )�iterrr&s r�__iter__�BaseTestSuite.__iter__"s���D�K�K� � rc�f�URnUHnU(dMXR5-
nM U$r )r�countTestCases)r�cases�tests rr4�BaseTestSuite.countTestCases%s4���#�#���D��t��,�,�.�.����rc�*�[U5(d#[SR[U555e[ U[
5(a0[
U[R[45(a[S5eURRU5 g)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())�callable� TypeError�format�reprr*�type�
issubclassr�TestCaserr�append�rr6s r�addTest�BaseTestSuite.addTest,su����~�~��0�7�7��T�
�C�D�D��d�D�!�!�j��26�-�-��1K�'M�'M��?�@�
@������4� rc�x�[U[5(a[S5eUHnURU5 M g)Nz0tests must be an iterable of tests, not a string)r*�strr:rB)rrr6s rr�BaseTestSuite.addTests6s1���e�S�!�!��N�O�O��D��L�L���rc��[U5HEup#UR(a U$U"U5 UR(dM4URU5 MG U$r )� enumerate�
shouldStop�_cleanup�_removeTestAtIndex)r�result�indexr6s r�run�BaseTestSuite.run<sL��$�T�?�K�E�� � ���
�
��L��}�}�}��'�'��.�+��
rc���URUn[US5(a#U=RUR5-
slSURU'g![a gf=f)z2Stop holding a reference to the TestCase at index.r4N)r�hasattrrr4r:)rrMr6s rrK� BaseTestSuite._removeTestAtIndexEsa��
&��;�;�u�%�D��t�-�.�.��#�#�t�':�':�'<�<�#�!%�D�K�K����� �� �s�A�
A"�!A"c�&�UR"U0UD6$r �rN)r�args�kwdss r�__call__�BaseTestSuite.__call__Ss���x�x��&��&�&rc�6�UHnUR5 M g)�7Run the tests without collecting errors in a TestResultN)�debugrAs rr[�BaseTestSuite.debugVs���D��J�J�L�r)rrN)r
)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rJrr'r-r1r4rBrrNrKrWr[�__static_attributes__r
rrrrsD����H��
M�)�
!��!���&�'�rrc�^�\rSrSrSrSSjrSrSrSrSr SS jr
SS
jrSrSr
S
rg)r�\a�A test suite is a composite test consisting of a number of TestCases.
For use, create an instance of TestSuite, then add test case instances.
When all tests have been added, the suite can be passed to a test
runner, such as TextTestRunner. It will run the individual test cases
in the order in which they were added, aggregating the results. When
subclassing, do not forget to call the base class constructor.
c�|�Sn[USS5SLa S=Uln[U5H�upEUR(a O�[ U5(atURXQ5 UR
XQ5 URXQ5 URUl [URSS5(d[USS5(aM�U(d U"U5 OUR5 UR(dM�URU5 M� U(a*URSU5 URU5 SUlU$)NF�_testRunEnteredT�_classSetupFailed�_moduleSetUpFailed)rrfrHrI�_isnotsuite�_tearDownPreviousClass�_handleModuleFixture�_handleClassSetUpr$�_previousTestClassr[rJrK�_handleModuleTearDown)rrLr[�topLevelrMr6s rrN�
TestSuite.runfs�����6�,�e�4��=�04�4�F�"�X�$�T�?�K�E�� � ���4� � ��+�+�D�9��)�)�$�7��&�&�t�4�,0�N�N��)��D�N�N�,?��G�G��F�$8�%�@�@����V���
�
���}�}�}��'�'��.�)+�,��'�'��f�5��&�&�v�.�%*�F�"��
rc�<�[5nURUS5 g)rZTN)�_DebugResultrN)rr[s rr[�TestSuite.debug�s����������rc ��[USS5nURnXC:XagUR(ag[USS5(agSnSUl[USS5n[USS5nUb[[US5 U"5 U(a2Ub/U"5 URHn
URX*SSW U
S 9 M [US
5 gg![a N�f=f![adn[U[5(aeSnSUlO![a Of=f[R"U5n URX(SU 5 SnAN�SnAff=f![US
5 f=f)Nrm�__unittest_skip__F�
setUpClass�doClassCleanups�_setupStdoutTr��info�_restoreStdout)
rr$rhrgr:r� Exceptionr*rrrr#�"_createClassOrModuleLevelException�tearDown_exceptions)rr6rL�
previousClass�currentClass�failedrvrw�e� className�exc_infos rrl�TestSuite._handleClassSetUp�s~����(<�d�C�
��~�~���(���$�$���<�!4�e�<�<���� �-2�L�*��\�<��>�
�!�,�0A�4�H���!��F�N�3�
:�
G��L��o�9�#�%�$0�$D�$D���?�?� &���\�9�%-�@�/�%E�
��(8�9�1"��� �
� ��!�G�!�&�,�7�7��!�F��9=��6��$����� $�
�
�l� ;�I��;�;�F�<H�<E�G�G��G��& ��(8�9�sf�C�:C�9E �
C�C�
E�"E�;D�E�
D�
E�D�,E�<E �E�E � Ec�B�Sn[USS5nUbURnU$)Nrm)rr^)rrL�previousModulers r�_get_previous_module�TestSuite._get_previous_module�s-������(<�d�C�
��$�*�5�5�N��rc��URU5nURRnXC:XagURU5 SUl[
RUn[USS5nUbI[US5 U"5 UR(a[R"5 [US5 gg![a gf=f![a:n[U[5(aeSUlURX'SU5 SnAN�SnAff=f![anURX'SU5 SnAN�SnAff=f![US5 f=f)NF�setUpModulerxTr{)r�r$r^rnrh�sys�modules�KeyErrorrrr|r*rrr}r�doModuleCleanups)rr6rLr��
currentModule�moduler�r�s rrk�TestSuite._handleModuleFixture�sN���2�2�6�:�����1�1�
��*���"�"�6�*�%*��!� ��[�[��/�F��f�m�T�:���"��F�N�3�
:�K��M��,�,�O��-�-�/� ��(8�9�)#��� �� ��!�K�!�&�,�7�7��04�F�-��;�;�F�<I�<I�K�K�� K��%�O��?�?��@M�@M�O�O��O��
��(8�9�sf�B4�8C�?D5�D�4
C�C�
D�0D�>D5�D�D5�
D2�D-�(D5�-D2�2D5�5ENc�8�USUS3nURXXe5 g)Nz (�))�_addClassOrModuleLevelException)rrL�exc�method_namerrz� errorNames rr}�,TestSuite._createClassOrModuleLevelException�s$��"�m�2�f�X�Q�/� ��,�,�V�)�Jrc��[U5n[USS5nUb2[U[R5(aU"U[U55 gU(d&UR
U[R"55 gUR
XT5 g)N�addSkip) �_ErrorHolderrr*r�SkipTestrE�addErrorr�r�)rrL� exceptionr�rz�errorr�s rr��)TestSuite._addClassOrModuleLevelException�sa���Y�'���&�)�T�2����:�i����#G�#G��E�3�y�>�*������s�|�|�~�6�����,rc�J�URU5nUcgUR(ag[RUn[US5 [
USS5nUbU"5 [R"5 [US5 g![a gf=f![a3n[U[5(aeURXSU5 SnANkSnAff=f![a3n[U[5(aeURXSU5 SnAN�SnAff=f![US5 f=f)Nrx�tearDownModuler{)
r�rhr�r�r�rrr|r*rrr}rr�)rrLr�r�r�r�s rrn�TestSuite._handleModuleTearDown�s-���2�2�6�:���!���$�$�� ��[�[��0�F� ���/� 6�$�V�-=�t�D�N��)�L�"�$�
H��%�%�'�
�F�$4�5��1� �� ��!�L�!�&�,�7�7���;�;�F�<L�<J�L�L��L���
H��f�l�3�3���7�7��8H�8F�H�H��
H��
�F�$4�5�se�B� D�B�"C�
B�B�
C�)C�D�C�D�
D�)D�D�D�D�D"c ���[USS5nURnXC:XdUcg[USS5(ag[USS5(ag[USS5(ag[USS5n[USS5nUcUcg[US5 UbU"5 Ub_U"5 URHHn [ U[
5(aU S e[R"U5nURX)S SUU S
9 MJ [US5 g![aIn[ U[
5(ae[R"U5nURX'SU5 SnAN�SnAff=f![US5 f=f)NrmrgFrhru�
tearDownClassrwrxrryr{)
rr$rr|r*rrrr#r}r~)
rr6rLrr�r�rwr�r�r�s
rrj� TestSuite._tearDownPreviousClasss}����(<�d�C�
��~�~���(�M�,A���=�"5�u�=�=���6�/��7�7���=�"5�u�=�=���
���E�
�!�-�1B�D�I��� �_�%<�����/� 6��(�G�!�O��*��!� -� A� A�H�!�&�,�7�7�&�q�k�)� $�
�
�m� <�I��;�;�F�Q�K�<K�<E�AI�<�K� !B�
�F�$4�5��%!�G�!�&�,�7�7�� $�
�
�m� <�I��;�;�F�<K�<E�G�G�� G��$
�F�$4�5�s7�
E�D�A"E�
E�?E�
E�E�E�E(r
)Fr )r]r^r_r`rarNr[rlr�rkr}r�rnrjrbr
rrrr\sC����B�,:�\�#:�L9=�K�.2�
-�!6�F(6rc�L�\rSrSrSrSrSrSrSrSr Sr
S rS
rSr
Srg)
r�iHz�
Placeholder for a TestCase inside a result. As far as a TestResult
is concerned, this looks exactly like a unit test. Used to insert
arbitrary errors into a test suite run.
Nc��Xlgr ��description)rr�s rr�_ErrorHolder.__init__Ts��&�rc��UR$r r�r&s r�id�_ErrorHolder.idWs�����rc��gr r
r&s r�shortDescription�_ErrorHolder.shortDescriptionZs��rc�$�SUR<S3$)Nz<ErrorHolder description=r"r�r&s rr'�_ErrorHolder.__repr__]s��15�1A�1A�C�Crc�"�UR5$r )r�r&s r�__str__�_ErrorHolder.__str__`s���w�w�y�rc��gr r
�rrLs rrN�_ErrorHolder.runcs��
rc�$�URU5$r rTr�s rrW�_ErrorHolder.__call__hs���x�x���rc��grr
r&s rr4�_ErrorHolder.countTestCasesks��rr�)r]r^r_r`ra�failureExceptionrr�r�r'r�rNrWr4rbr
rrr�r�Hs8�����'� ��D��
�
�rr�c�<�[U5 g![a gf=f)z?A crude way to tell apart testcases and suites with duck-typingTF)r0r:)r6s rririns'����T�
�������s��
�c�$�\rSrSrSrSrSrSrSrg)rriwzCUsed by the TestSuite to hold previous class when running in debug.NFr
) r]r^r_r`rarmrhrIrbr
rrrrrrws��I������Jrrr)
rar��rr�
__unittestr�objectrrr�rirrr
rr�<module>r�sW���
���
�
��
I�F�I�Xi6�
�i6�X$�6�$�L��6�r
?>