Sindbad~EG File Manager
�
&Μg�4���dZddlZddlmZddlmZdZd�ZGd�d e�ZGd
�de�Z Gd�de�Z
d
�ZGd�de�Zy)� TestSuite�N�)�case)�utilTc�.�t||d��}|�y)Nc��y�N�r
��+/usr/local/lib/python3.12/unittest/suite.py�<lambda>z!_call_if_exists.<locals>.<lambda>s��r)�getattr)�parent�attr�funcs r�_call_if_existsrs���6�4��.�D��Frc�X�eZdZdZdZdd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zy)�
BaseTestSuitezNA simple test suite that doesn't provide class or module shared fixtures.
Tc�B�g|_d|_|j|�y�Nr)�_tests�_removed_tests�addTests)�self�testss r�__init__zBaseTestSuite.__init__s���������
�
�e�rc�`�dtj|j��dt|��d�S)N�<z tests=�>)r�strclass� __class__�list�rs r�__repr__zBaseTestSuite.__repr__s��"&�-�-����"?��d��L�Lrc�h�t||j�stSt|�t|�k(Sr )�
isinstancer!�NotImplementedr")r�others r�__eq__zBaseTestSuite.__eq__s)���%����0�!�!��D�z�T�%�[�(�(rc�,�t|j�Sr )�iterrr#s r�__iter__zBaseTestSuite.__iter__"s���D�K�K� � rc�X�|j}|D]}|s�||j�z
}�|Sr )r�countTestCases)r�cases�tests rr.zBaseTestSuite.countTestCases%s4���#�#���D����,�,�.�.����rc��t|�s#tdjt|����t |t
�r+t
|tjtf�rtd��|jj|�y)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())�callable� TypeError�format�reprr&�type�
issubclassr�TestCaserr�append�rr0s r�addTestzBaseTestSuite.addTest,sj����~��0�7�7��T�
�C�D�D��d�D�!�j��26�-�-��1K�'M��?�@�
@������4� rc�j�t|t�rtd��|D]}|j|��y)Nz0tests must be an iterable of tests, not a string)r&�strr3r;)rrr0s rrzBaseTestSuite.addTests6s.���e�S�!��N�O�O��D��L�L���rc��t|�D]:\}}|jr|S||�|js�*|j|��<|Sr )� enumerate�
shouldStop�_cleanup�_removeTestAtIndex)r�result�indexr0s r�runzBaseTestSuite.run<sL��$�T�?�K�E�4�� � ���
�
��L��}�}��'�'��.�+��
rc�� |j|}t|d�r#|xj|j�z
c_d|j|<y#t$rYywxYw)z2Stop holding a reference to the TestCase at index.r.N)r�hasattrrr.r3)rrDr0s rrBz BaseTestSuite._removeTestAtIndexEs^��
&��;�;�u�%�D��t�-�.��#�#�t�':�':�'<�<�#�!%�D�K�K����� �� �s�A� A�Ac�&�|j|i|��Sr �rE)r�args�kwdss r�__call__zBaseTestSuite.__call__Ss���t�x�x��&��&�&rc�2�|D]}|j��y)�7Run the tests without collecting errors in a TestResultN)�debugr:s rrOzBaseTestSuite.debugVs���D��J�J�L�rN)r
)�__name__�
__module__�__qualname__�__doc__rArr$r)r,r.r;rrErBrLrOr
rrrrsD����H��
M�)�
!��!���&�'�rrc�P�eZdZdZdd�Zd�Zd�Zd�Zd�Z d
d�Z d
d �Z
d
�Zd�Zy)ra�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�4�d}t|dd�dur dx|_}t|�D]�\}}|jrn�t |�rl|j||�|j
||�|j||�|j|_ t|jdd�s
t|dd�r��|s ||�n|j�|js��|j|���|r*|jd|�|j|�d|_|S)NF�_testRunEnteredT�_classSetupFailed�_moduleSetUpFailed)rrVr?r@�_isnotsuite�_tearDownPreviousClass�_handleModuleFixture�_handleClassSetUpr!�_previousTestClassrOrArB�_handleModuleTearDown)rrCrO�topLevelrDr0s rrEz
TestSuite.runfs�����6�,�e�4��=�04�4�F�"�X�$�T�?�K�E�4�� � ���4� ��+�+�D�&�9��)�)�$��7��&�&�t�V�4�,0�N�N��)��D�N�N�,?��G��F�$8�%�@����V���
�
���}�}��'�'��.�)+�,��'�'��f�5��&�&�v�.�%*�F�"��
rc�<�t�}|j|d�y)rNTN)�_DebugResultrE)rrOs rrOzTestSuite.debug�s����������rc��t|dd�}|j}||k(ry|jryt|dd�ryd} d|_t|dd�}t|dd�}|�Wt|d� |�|r3|�1|�|jD]}
|j||
dd |
� ��t|d
�yy#t$rY�wxYw#t$r^}t|t�r�d} d|_n#t$rYnwxYwtj|�} |j||d| �Yd}~��d}~wwxYw#t|d
�wxYw)Nr]�__unittest_skip__F�
setUpClass�doClassCleanups�_setupStdoutTr��info�_restoreStdout)
rr!rXrWr3r� Exceptionr&rarr �"_createClassOrModuleLevelException�tearDown_exceptions)rr0rC�
previousClass�currentClass�failedrdre�e� className�exc_infos rr\zTestSuite._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��!�F��9=��6��$����� $�
�
�l� ;�I��;�;�F�A�<H�<E�G�G��G��& ��(8�9�se�B9�/C�65D2�9 C�C� D/�D*�%C-�,D*�- C9�6D*�8C9�9,D*�%D2�*D/�/D2�2Ec�@�d}t|dd�}|�|j}|S)Nr])rrQ)rrC�previousModulerms r�_get_previous_modulezTestSuite._get_previous_module�s-������(<�d�C�
��$�*�5�5�N��rc�r�|j|�}|jj}||k(ry|j|�d|_ t
j|}t|dd�}|�Ct|d� |�|jr tj�t|d�yy#t$rYywxYw#t$r6}t|t�r�d|_|j||d|�Yd}~�xd}~wwxYw#t$r}|j||d|�Yd}~��d}~wwxYw#t|d�wxYw)NF�setUpModulerfTri)rur!rQr^rX�sys�modules�KeyErrorrrrjr&rarkr�doModuleCleanups)rr0rCrt�
currentModule�modulerwrps rr[zTestSuite._handleModuleFixture�sQ���2�2�6�:�����1�1�
��N�*���"�"�6�*�%*��!� ��[�[��/�F��f�m�T�:���"��F�N�3�
:�K��M��,�,�O��-�-�/� ��(8�9�)#��� �� ��!�K�!�&�,�7��04�F�-��;�;�F�A�<I�<I�K�K�� K��%�O��?�?���@M�@M�O�O��O��
��(8�9�sf�B-�7B<�>D(�C>�- B9�8B9�< C;�,C6�1D(�6C;�;D(�> D%�D �D(� D%�%D(�(D6Nc�<�|�d|�d�}|j||||�y)Nz (�))�_addClassOrModuleLevelException)rrC�exc�method_namerrh� errorNames rrkz,TestSuite._createClassOrModuleLevelException�s(��"�m�2�f�X�Q�/� ��,�,�V�S�)�T�Jrc��t|�}t|dd�}|�-t|tj�r||t|��y|s%|j
|tj��y|j
||�y)N�addSkip) �_ErrorHolderrr&r�SkipTestr=�addErrorrxrr)rrC� exceptionr�rh�errorr�s rr�z)TestSuite._addClassOrModuleLevelException�s`���Y�'���&�)�T�2����:�i����#G��E�3�y�>�*������s�|�|�~�6�����t�,rc�$�|j|�}|�y|jry tj|}t|d� t
|dd�}|� |� tj�t|d�y#t$rYywxYw#t$r/}t|t�r�|j||d|�Yd}~�dd}~wwxYw#t$r/}t|t�r�|j||d|�Yd}~��d}~wwxYw#t|d�wxYw)Nrf�tearDownModuleri)
rurXrxryrzrrrjr&rarkrr{)rrCrtr}r�rps rr^zTestSuite._handleModuleTearDown�s+���2�2�6�:���!���$�$�� ��[�[��0�F� ���/� 6�$�V�-=�t�D�N��)�L�"�$�
H��%�%�'�
�F�$4�5��1� �� ��!�L�!�&�,�7���;�;�F�A�<L�<J�L�L��L���
H��f�l�3���7�7���8H�8F�H�H��
H��
�F�$4�5�se�A<�D�B�C�< B�B� C�%B>�9D�>C�D� C>�%C9�4D�9C>�>D�Dc��t|dd�}|j}||k(s|�yt|dd�ryt|dd�ryt|dd�ryt|dd�}t|dd�}|�|�yt|d� |� |�|�[|�|jD]E} t |t
�r| d �t
j|�}|j|| d d|| �
��Gt|d�y#t$rD}t |t
�r�t
j|�}|j||d|�Yd}~��d}~wwxYw#t|d�wxYw)Nr]rWFrXrc�
tearDownClassrerfrrgri)
rr!rrjr&rarr rkrl)
rr0rCrmrnr�rerprqrrs
rrZz TestSuite._tearDownPreviousClassst����(<�d�C�
��~�~���=�(�M�,A���=�"5�u�=���6�/��7���=�"5�u�=���
���E�
�!�-�1B�D�I��� �_�%<�����/� 6��(�G�!�O��*��!� -� A� A�H�!�&�,�7�&�q�k�)� $�
�
�m� <�I��;�;�F�H�Q�K�<K�<E�AI�<�K� !B�
�F�$4�5��%!�G�!�&�,�7�� $�
�
�m� <�I��;�;�F�A�<K�<E�G�G�� G��$
�F�$4�5�s7�8D<�;C,�AD<�, D9�5:D4�/D<�4D9�9D<�<E
)Fr )
rPrQrRrSrErOr\rur[rkr�r^rZr
rrrr\sC����B�,:�\�#:�L9=�K�.2�
-�!6�F(6rc�D�eZdZdZdZd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zy)r�z�
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��||_yr ��description)rr�s rrz_ErrorHolder.__init__Ts
��&��rc��|jSr r�r#s r�idz_ErrorHolder.idWs�����rc��yr r
r#s r�shortDescriptionz_ErrorHolder.shortDescriptionZs��rc�"�d|j�d�S)Nz<ErrorHolder description=rr�r#s rr$z_ErrorHolder.__repr__]s��15�1A�1A�C�Crc�"�|j�Sr )r�r#s r�__str__z_ErrorHolder.__str__`s���w�w�y�rc��yr r
�rrCs rrEz_ErrorHolder.runcs��
rc�$�|j|�Sr rIr�s rrLz_ErrorHolder.__call__hs���x�x���rc��yrr
r#s rr.z_ErrorHolder.countTestCasesks��r)
rPrQrRrS�failureExceptionrr�r�r$r�rErLr.r
rrr�r�Hs8�����'� ��D��
�
�rr�c�:� t|�y#t$rYywxYw)z?A crude way to tell apart testcases and suites with duck-typingTF)r+r3)r0s rrYrYns'����T�
�������s�� �c��eZdZdZdZdZdZy)razCUsed by the TestSuite to hold previous class when running in debug.NF)rPrQrRrSr]rXr@r
rrraraws��I������Jrra)
rSrx�rr�
__unittestr�objectrrr�rYrar
rr�<module>r�sW���
���
�
��
I�F�I�Xi6�
�i6�X$�6�$�L��6�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists