Sindbad~EG File Manager
�
'Μg)��t�ddlZddlZddlZddlZddlZddlZddlmZGd�de�ZGd�de�Z Gd�de�Z
Gd �d
e e
�ZGd�de
e �ZGd
�de�Z
Gd�dej�ZGd�dej�ZGd�dej�Zedk(rej&�yy)�N)�EEXISTc��eZdZy)�
SubOSErrorN��__name__�
__module__�__qualname__���:/usr/local/lib/python3.12/test/test_exception_hierarchy.pyrr
���rrc���eZdZ�fd�Z�xZS)�SubOSErrorWithInitc�2��||_t�|� |�y�N)�bar�super�__init__)�self�messager� __class__s �rrzSubOSErrorWithInit.__init__s������
����!r)rrr r�
__classcell__�rs@rrr
s
���"�"rrc���eZdZ�fd�Z�xZS)�SubOSErrorWithNewc�6��t�|�||�}||_|Sr)r�__new__�baz)�clsrrrrs �rrzSubOSErrorWithNew.__new__s����w��s�G�,������r)rrr rrrs@rrrs
����rrc��eZdZy)�SubOSErrorCombinedInitFirstNrr
rrr!r!r
rr!c��eZdZy)�SubOSErrorCombinedNewFirstNrr
rrr#r#r
rr#c��eZdZd�Zy)�SubOSErrorWithStandaloneInitc��yrr
�rs rrz%SubOSErrorWithStandaloneInit.__init__s��rN)rrr rr
rrr%r%s��
rr%c�D�eZdZd�Zd�Zd�ZdZd�Zee�Zd�Z d�Z
y) �
HierarchyTestc��|jtjd�|jtt�|jt
t�y)N�OSError)�assertEqualr+r�assertIs�IOError�EnvironmentErrorr's r�test_builtin_errorsz!HierarchyTest.test_builtin_errors%s5������)�)�9�5��
�
�g�w�'��
�
�&��0rc�L�|jtjt�|jtjj
t�|jtjj
t�|jtjt�yr) r-�socket�errorr+�gaierror�__base__�herror�timeout�TimeoutErrorr's r�test_socket_errorsz HierarchyTest.test_socket_errors*sV���
�
�f�l�l�G�,��
�
�f�o�o�.�.��8��
�
�f�m�m�,�,�g�6��
�
�f�n�n�l�3rc�L�|jtjt�yr)r-�selectr3r+r's r�test_select_errorzHierarchyTest.test_select_error0s���
�
�f�l�l�G�,rae
+-- BlockingIOError EAGAIN, EALREADY, EWOULDBLOCK, EINPROGRESS
+-- ChildProcessError ECHILD
+-- ConnectionError
+-- BrokenPipeError EPIPE, ESHUTDOWN
+-- ConnectionAbortedError ECONNABORTED
+-- ConnectionRefusedError ECONNREFUSED
+-- ConnectionResetError ECONNRESET
+-- FileExistsError EEXIST
+-- FileNotFoundError ENOENT
+-- InterruptedError EINTR
+-- IsADirectoryError EISDIR
+-- NotADirectoryError ENOTDIR
+-- PermissionError EACCES, EPERM, ENOTCAPABLE
+-- ProcessLookupError ESRCH
+-- TimeoutError ETIMEDOUT
c�P�i}|j�D]�}|jd�}|s�|jd�\}}}td|j�j d��D]9}|dk(rtt|�s�tt|�|tt|�<�;��|S)Nz+- � z, �ENOTCAPABLE) �
splitlines�strip� partition�filter�split�hasattr�errno�getattr�builtins)�s�_map�line�excname�_�errnames�errnames r� _make_mapzHierarchyTest._make_mapFs������L�L�N�D��:�:�e�$�D���#'�>�>�#�#6� �G�Q��!�$����(8�(>�(>�t�(D�E���m�+�G�E�7�4K��07��'�0J��W�U�G�,�-�F�#��rc���ttd�}|jt|�t�|j
j
�D],\}}t|d�}|jt|�|��.ttj�t|j
�z
}|D]7}t|d�}|jt|�tt|���9y)N�Bad file descriptorzSome message)r+rr-�type�FileExistsErrorrJ�items�setrF� errorcode�repr)r�e�errcode�exc�
othercodess r�test_errno_mappingz HierarchyTest.test_errno_mappingTs���
�F�1�2���
�
�d�1�g��/� �I�I�O�O�-�L�G�S����0�A��M�M�$�q�'�3�'�.�����)�C�� � �N�:�
�!�G����0�A��M�M�$�q�'�7�D��G�4�"rc�(�d} t|�|jd�|jtj
j
|�� t j|�|jd�y#t$rY�awxYw#t$rYywxYw)N� some_hopefully_non_existing_filez&should have raised a FileNotFoundError)�open�fail�FileNotFoundError�assertFalse�os�path�exists�unlink)r�filenames r�test_try_exceptzHierarchyTest.test_try_exceptbs���5�� @���N�
�I�I�>�?�
���������1�2� @��I�I�h��
�I�I�>�?��!� �� ��!� �� �s#�A6�B�6 B�B� B�BN)rrr r0r9r<�_pep_maprPrJr]rir
rrr)r)#s4��1�
4�-�
�H�"��X��D�5�@rr)c�j�eZdZd�Zd�Zejejdk(d�d��Z d�Z
y)�AttributesTestc��tjdk(r |jdtt��y|jdtt��y)N�nt�winerror)rd�name�assertIn�dirr+�assertNotInr's r�test_windows_errorz!AttributesTest.test_windows_error|s3��
�7�7�d�?��M�M�*�c�'�l�3����Z��W��6rc�|�ttdd�}|j|jt�|j|jdt�|j|j
d�|j|jd�tjdk(r|j|jd�yy)N�File already exists�foo.txtrrn)
r+rr,rF�args�strerrorrhrdrpro�rrYs r�test_posix_errorzAttributesTest.test_posix_error�s����F�1�9�=��������&�)���������F�+�������%:�;�������Y�/�
�7�7�d�?����Q�Z�Z��.�rrnzWindows-specific testc�N�tdddd�}|j|jd�|j|jt�|j|j
dt�|j|jd�|j|jd�y)Nrrvrw�)r+r,rorFrrxryrhrzs r�test_errno_translationz%AttributesTest.test_errno_translation�s~��
�A�,�i��=��������S�)�������&�)���������F�+�������%:�;�������Y�/rc�
�d}td�D]W}t|d|�}|jt�5|jddd�|jt�5|`ddd��Ytddd�}|j|jd�d|_|j|jd�|`|jt�5|jddd�y#1swY��xYw#1swY��xYw#1swYyxYw)N)�a�b�c�drY�r�r���)�range�BlockingIOError�assertRaises�AttributeError�characters_writtenr,)rrx�nrYs r�test_blockingioerrorz#AttributesTest.test_blockingioerror�s���(���q��A���b�q��*�A��"�"�>�2��$�$�3��"�"�>�2��(�3�2� �
�C��a�(������-�-�q�1� �������-�-�q�1�
� �
�
�
�~�
.�
� � �/�
.�3�2��2�2��/�
.�s#�
C!�C-�
C9�!C* �-C6 �9DN)rrr rtr{�unittest�
skipUnlessrdrpr~r�r
rrrlrlzs>��7�/��X������D��*A�B�0�C�0�!rrlc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z y) �ExplicitSubclassingTestc�b�ttd�}|jt|�t�y)NrR)rrr-rSrzs rr]z*ExplicitSubclassingTest.test_errno_mapping�s!���v�4�5���
�
�d�1�g�z�*rc��tdd�}|j|jd�|j|jd�y�N�some messager�r��rr,rrxrzs r�test_init_overriddenz,ExplicitSubclassingTest.test_init_overridden�s7���~�u�5���������&�������!2�3rc��tdd��}|j|jd�|j|jd�y)Nr�r)rr�r�rzs r�test_init_kwdargsz)ExplicitSubclassingTest.test_init_kwdargs�s7���~�5�9���������&�������!2�3rc��tdd�}|j|jd�|j|jd�yr��rr,rrxrzs r�test_new_overriddenz+ExplicitSubclassingTest.test_new_overridden�s7���n�e�4���������&�������!2�3rc��tdd��}|j|jd�|j|jd�y)Nr�r)rr�r�rzs r�test_new_kwdargsz(ExplicitSubclassingTest.test_new_kwdargs�s7���n�%�8���������&�������!2�3rc��tdd�}|j|jd�|j|jd�|j|jd�tdd�}|j|jd�|j|jd�|j|jd�yr�)r!r,rrrxr#rzs r�test_init_new_overriddenz0ExplicitSubclassingTest.test_init_new_overridden�s���'���>���������&��������&�������!2�3�&�~�u�=���������&��������&�������!2�3rc��t�}|j|jd�|jt|�d�y)Nr
�)r%r,rx�strrzs r�test_init_standalonez,ExplicitSubclassingTest.test_init_standalone�s2��(�*���������$�����Q���$rN)
rrr r]r�r�r�r�r�r�r
rrr�r��s%��+�
4�
4�
4�
4�
4�%rr��__main__)rHrdr;r2r�rFrr+rrrr!r#r%�TestCaser)rlr�r�mainr
rr�<module>r�s���� �
�
���� �� �"��"�
��� �"4�6G� � �!2�4F� �
�7�
�
T@�H�%�%�T@�n)!�X�&�&�)!�X)%�h�/�/�)%�X�z���H�M�M�O�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists