Sindbad~EG File Manager
�
&Μg���ddlZddlZddlZddlmZGd�dej�ZGd�dej�Ze dk(rej�yy)�N)�systemc�D�eZdZdZd�Zd�Zd�ZdZd�Zd�Z d�Z
d �Zd
�Zy)�ExceptionClassTestsz]Tests for anything relating to exception objects themselves (e.g.,
inheritance hierarchy)c�J�|jttt��y�N)�
assertTrue�
issubclass� Exception�object��selfs �4/usr/local/lib/python3.12/test/test_baseexception.py�test_builtins_new_stylez+ExceptionClassTests.test_builtins_new_styles�����
�9�f�5�6�c�~�dD]8}|jt||�|jj�d|�d���:y)N)�args�__str__�__repr__z missing z
attribute)r�hasattr� __class__�__name__)r
�ins�attrs r�verify_instance_interfacez-ExceptionClassTests.verify_instance_interfaces5��3�D��O�O�G�C��.����/�/��7�
8�4rc�2�t�}tjj�D].} t |t
�r|j
|j��0ttjjtjjt�dd�d��} |j�j!�} t#t|�}|j)||d|z�|j+|�g}d}|D�]b}|j!�}|j-d�} || dzd}
d |
vr@|
j/d �}|
|d
zd}|
d|d
z
}
t1�|k7r|j+|
��qd|
vr|
j/d�}
|
d|
d
z
}
t#t|
�}|| kr|j3|f�n,|| kDr'|dd| k\r|j5�|dd| k\r�|j7t |dd
�|j�d|dd
j��� |j9|��|j)|
|�|j+|
�|}| }��e |j;�|j=t?|�dd|z�y#t$rY���wxYw#t$$r|j'd|z�Y���wxYw#t$$r|j'd
|
z�Y��LwxYw#t$rY��wxYw#|j;�wxYw)Nrzexception_hierarchy.txtzutf-8)�encodingzbase class %s not a built-inz%s not foundu─��(�����[z%s not a built-in exceptionz is not a subclass of z%s not accounted for) �set�builtins�__dict__�valuesr �
BaseException�addr� TypeError�open�os�path�join�split�__file__�readline�rstrip�getattr�AttributeError�fail�assertIn�discard�rindex�index�platform_system�append�poprr�close�assertEqual�len)r
�exc_set�object_�inheritance_tree�superclass_name�last_exc�superclasses�
last_depth�exc_line�depth�exc_name�paren_index�
platform_name�left_bracket�excs r�test_inheritancez$ExceptionClassTests.test_inheritances���%���(�(�/�/�1�G�
��g�}�5��K�K�� 0� 0�1��2� ������R�W�W�]�]�8�4�Q�7�9R�S� �"��. %�.�7�7�9�@�@�B�O�
L�"�8�_�=��
�M�M�/�7�(�?�:�
<��O�O�O�,��L��J�,��#�?�?�,�� ����.��#�E�!�G�H�-���(�?�"*�.�.��"5�K�$,�[��]�2�$>�M�'���Q��7�H�&�(�M�9�����1� ��(�?�#+�>�>�#�#6�L�'���a��8�H�H�!�(�H�5�C���%� �'�'��X�(>�?��%�'�&�r�*�1�-��6�$�(�(�*�'�r�*�1�-��6����
�3��R�0@��0C� D�03��� ��$�Q�'�0�0�2�3���2�2�3�5�9��
�
�h��0�����)���"�
�C-�F
�"�"�$�����W��q�*@�7�*J�K��k�
��
��"�
L�� � �8�?�J�K�
L��.&�H��I�I�;�h�F�G�H��!�����
�"�"�$�s��+J�*L� J-�B;L�K�%AL�*AL�,K5�*L� J*�)J*�-K�
L�
K�L�K2�.L�1K2�2L�5 L�>L�L�L�L)�lengthr�str�reprc
�|�t|j|�D]#\}\}}|j|||�d|�d|����%y)Nz: z != )�zip�interface_testsr<)r
�results� test_name�given�expecteds r�interface_test_driverz)ExceptionClassTests.interface_test_driverUsB��,/��0D�0D�g�,N�(�I�(��x����U�H� ��x�/!�
"�-Orc��d}t|�}t|j�dg|jd|gt|�t|�gt |�|j
j�d|�d�gf}|j|�y)N�spamrrr�))r
r=rrNrOrrrW)r
�argrKrSs r�test_interface_single_argz-ExceptionClassTests.test_interface_single_argZsr������n������M�1�%������S�'9���H�c�#�h�'�
�#�Y�C�M�M�$:�$:�C�@�A�C��
�"�"�7�+rc�B�d}tt|��}t|�}t|j�|g|j|gt|�t|�gt
|�|jjt
|j�zgf}|j|�y)N�)
�tuple�ranger
r=rrNrOrrrW)r
� arg_countrrKrSs r�test_interface_multi_argz,ExceptionClassTests.test_interface_multi_argcs���� ��U�9�%�&����������M�9�-����$�/?��S��3�t�9�%��c��C�M�M�2�2�T�#�(�(�^�C�D�F��
�"�"�7�+rc���t�}t|j�dg|jt�gt |�dgt|�|jjdzgf}|j|�y)Nr�z()) r
r=rr_rNrOrrrW)r
rKrSs r�test_interface_no_argz)ExceptionClassTests.test_interface_no_argmsc���k������M�1�%����%�'�':��S��2���c��C�M�M�2�2�T�9�:�<��
�"�"�7�+rc����ddl}i�G�fd�dt�}Gd�dt�}t�}|��|�<|j��|j �y)Nrc�(���eZdZdef��fd�Z�xZS)�XExceptionClassTests.test_setstate_refcount_no_crash.<locals>.HashThisKeyWillClearTheDict�returnc�@���j�t�|� �Sr)�clear�super�__hash__)r
r�ds ��rrmzaExceptionClassTests.test_setstate_refcount_no_crash.<locals>.HashThisKeyWillClearTheDict.__hash__{s������ ��w�'�)�)r)r�
__module__�__qualname__�intrm�
__classcell__)rrns@�r�HashThisKeyWillClearTheDictrhzs���
*�#�
*�
*rrsc��eZdZy)�BExceptionClassTests.test_setstate_refcount_no_crash.<locals>.ValueN�rrorp�rr�Valueru~���rrx)�gcrNr
�__setstate__�collect)r
rzrsrxrKrns @r�test_setstate_refcount_no_crashz3ExceptionClassTests.test_setstate_refcount_no_crashusW��� ��� *�#� *� �C� ��k��+0�7��
%�
'�(� ����� �
�
�rN)
rrorp�__doc__rrrLrRrWr\rbrer}rwrrrrs8���7�8�<L�|8�O�"�
,�,�,�rrc�:�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z d�Z
y )
�
UsageTestszTest usage of exceptionsc�&� |�#t$rYywxYw)z6Make sure that raising 'object_' triggers a TypeError.N)r(r3�type�r
r?s r�raise_failszUsageTests.raise_fails�s�� ��M��� �� �s�� �c�*� t�#|$rYnwxYwn6#t$rYn+t$r |jdt|�z�YnwxYw t�#|f$rYywxYw#t$rYyt$r |jdt|�z�YywxYw)z,Catching 'object_' should raise a TypeError.z#TypeError expected when catching %sNz;TypeError expected when catching %s as specified in a tuple)r
r(r3r�r�s r�catch_failszUsageTests.catch_fails�s��� M�
�����
��
����� ��� M��I�I�;�d�7�m�K�L� M�� 1�
�����:�
��
��� ��� 1��I�I� �"&�w�-�0�
1� 1�sT� ����� A�%A�A�
A�A�A�A�A� B�*%B�Bc�p�Gd�dt�}|j|�|j|��y)Nc��eZdZy)�DUsageTests.test_raise_new_style_non_exception.<locals>.NewStyleClassNrvrwrr�
NewStyleClassr��ryrr�)rr�)r
r�s r�"test_raise_new_style_non_exceptionz-UsageTests.test_raise_new_style_non_exception�s,��
�F� �����'������)rc�&�|jd�y�NrY)r�rs r�test_raise_stringzUsageTests.test_raise_string�������� rc�p�Gd�dt�}|j|�|j|��y)Nc��eZdZy)�AUsageTests.test_catch_non_BaseException.<locals>.NonBaseExceptionNrvrwrr�NonBaseExceptionr��ryrr�)rr�)r
r�s r�test_catch_non_BaseExceptionz'UsageTests.test_catch_non_BaseException�s/�� �v� ����)�*����)�+�,rc�6�|jt��yr)r�r&rs r�!test_catch_BaseException_instancez,UsageTests.test_catch_BaseException_instance�s�������)rc�&�|jd�yr�)r�rs r�test_catch_stringzUsageTests.test_catch_string�r�rN)rrorpr~r�r�r�r�r�r�r�rwrrr�r��s)��"�G�1�.*�!�-�*�!rr��__main__)�unittestr#r*�platformrr8�TestCaserr�r�mainrwrr�<module>r�sS���� �.�D�(�+�+�D�N?!��"�"�?!�D�z���H�M�M�O�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists