Sindbad~EG File Manager
�
(Μg5����ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m
Z
Gd�d�ZGd�d�ZGd�dej�ZGd �d
e�ZGd�de�Zy)
�N)�supportc���eZdZd�Zdd�d�Zd�Zd�Zd�Zejde
jd d
d�d�Zeje
jfd
�Z
d�Zd�Zej"d��Zd�Zy)�FunctionalTestCaseMixinc�*�tj�S�N)�asyncio�new_event_loop��selfs �9/usr/local/lib/python3.12/test/test_asyncio/functional.py�new_loopz FunctionalTestCaseMixin.new_loops���%�%�'�'�g{�G�z�?)�delayc�`�|jjtj|��yr)�loop�run_until_completer�sleep)rrs r�run_loop_brieflyz(FunctionalTestCaseMixin.run_loop_brieflys��� � �$�$�W�]�]�5�%9�:rc�p�|jj|�|jj|�yr)�._FunctionalTestCaseMixin__unhandled_exceptions�appendr�default_exception_handler)rr�contexts r�loop_exception_handlerz.FunctionalTestCaseMixin.loop_exception_handlers(���#�#�*�*�7�3�� � �+�+�G�4rc��|j�|_tjd�|jj |j
�g|_yr)r
rr�set_event_loop�set_exception_handlerrrr
s r�setUpzFunctionalTestCaseMixin.setUps=���M�M�O�� ����t�$�� � �'�'��(C�(C�D�&(��#rc�B� |jj�|jr;td�t j|j�|jd�t
jd�d|_y#t
jd�d|_wxYw)Nz2Unexpected calls to loop.call_exception_handler():z1unexpected calls to loop.call_exception_handler())r�closer�print�pprint�failrrr
s r�tearDownz FunctionalTestCaseMixin.tearDown sv��
��I�I�O�O���*�*��J�K��
�
�d�9�9�:�� � �M�N�
�"�"�4�(��D�I��
�"�"�4�(��D�I�s�A!B�BN��
)�family�addr�timeout�backlog�max_clientsc�f�|�Ottd�r=|tjk(r*tj�5}|j
}ddd�nd}tj|||��}|�td��|dkrtd��|j|�t|||||�S#1swY�^xYw)N�AF_UNIX)z 127.0.0.1r)r'r*�timeout is requiredr�#only blocking sockets are supported)
�hasattr�socketr-�tempfile�NamedTemporaryFile�name�
create_server�RuntimeError�
settimeout�TestThreadedServer) r�server_progr'r(r)r*r+�tmp�socks r�
tcp_serverz"FunctionalTestCaseMixin.tcp_server-s����<��v�y�)�f����.F��0�0�2�c��8�8�D�3�2�(���#�#�D���I���?��4�5�5��a�<��D�E�E����� �!��$��W�k�;� ;�3�2�s�
B'�'B0c���tj|tj�}|�td��|dkrtd��|j|�t ||||�S)Nr.rr/)r1�SOCK_STREAMr6r7�TestThreadedClient)r�client_progr'r)r;s r�
tcp_clientz"FunctionalTestCaseMixin.tcp_clientEs`���}�}�V�V�%7�%7�8���?��4�5�5��a�<��D�E�E����� �!��$��W�.� .rc�r�ttd�st�|j|dtji|��S�Nr-r')r0r1�NotImplementedErrorr<r-�r�args�kwargss r�unix_serverz#FunctionalTestCaseMixin.unix_serverT�1���v�y�)�%�%��t����F�V�^�^�F�v�F�Frc�r�ttd�st�|j|dtji|��SrC)r0r1rDrAr-rEs r�unix_clientz#FunctionalTestCaseMixin.unix_clientYrIrc#�FK�tj�5}tjj |d�} |�� tj
|�ddd�y#t$rY�wxYw# tj
|�w#t$rYwwxYwxYw#1swYyxYw�w)Nr;)r2�TemporaryDirectory�os�path�join�unlink�OSError)r�td�fns r�unix_sock_namez&FunctionalTestCaseMixin.unix_sock_name^s�����
�
(�
(�
*�b������b�&�)�B�
�����I�I�b�M�
+�
*���������I�I�b�M�������+�
*�sn�B!�!B�A+�A� B!� A(�%B�'A(�(B�+B�-B�B� B �B�B �B�B�B�B!c�� |jj�|j|�y#|j|�wxYwr)r�stopr#�r�exs r�_abort_socket_testz*FunctionalTestCaseMixin._abort_socket_testjs,�� ��I�I�N�N���I�I�b�M��D�I�I�b�M�s �.�A)�__name__�
__module__�__qualname__r
rrrr$r1�AF_INETr�LOOPBACK_TIMEOUTr<rArHrK�
contextlib�contextmanagerrUrZ�rrrr
s���(�)-�;�5�)��!�.�.��"�3�3��!�;�2!�.�.�"�3�3�
.�G�
G�
��� �� �rrc�2�eZdZd�Zd�Zddd�d�Zd�Zd�Zy) �TestSocketWrapperc��||_yr)�_TestSocketWrapper__sock�rr;s r�__init__zTestSocketWrapper.__init__xs ����rc��d}t|�|kr<|j|t|�z
�}|dk(rt�||z
}t|�|kr�<|S)Nr)�len�recv�ConnectionAbortedError)r�n�buf�datas r�recv_allzTestSocketWrapper.recv_all{sR�����#�h��l��9�9�Q��S��\�*�D��s�{�,�,��4�K�C� �#�h��l�
�
rFN)�server_side�server_hostnamec��|j|j||d��} |j� |jj�||_y#|j��xYw#|jj�wxYw)NF)rqrr�do_handshake_on_connect)�wrap_socketrf�do_handshaker )r�ssl_contextrqrr�ssl_socks r� start_tlszTestSocketWrapper.start_tls�sw���*�*��K�K�[�+�$)�+�+��
��!�!�#�
�K�K��������
��N�N�����K�K����s�A�A'�'A*�*Bc�.�t|j|�Sr)�getattrrf)rr4s r�__getattr__zTestSocketWrapper.__getattr__�s���t�{�{�D�)�)rc�`�djt|�j|j�S)Nz <{} {!r}>)�format�typer[rfr
s r�__repr__zTestSocketWrapper.__repr__�s#���!�!�$�t�*�"5�"5�t�{�{�C�Cr)r[r\r]rhrpryr|r�rbrrrdrdvs$����$�"&��&*�Drrdc��eZdZd�Zd�Zd�Zy)�SocketThreadc�2�d|_|j�y�NF)�_activerPr
s rrWzSocketThread.stop�s������ � �rc�&�|j�|Sr)�startr
s r� __enter__zSocketThread.__enter__�s���
�
���rc�$�|j�yr)rW)r�excs r�__exit__zSocketThread.__exit__�s��� � �rN)r[r\r]rWr�r�rbrrr�r��s����rr�c��eZdZd�Zd�Zy)r?c��tjj|ddd�d|_||_||_d|_||_||_y)Nztest-clientT) � threading�Threadrh�daemon�_timeout�_sockr��_prog�_test)r�testr;�progr)s rrhzTestThreadedClient.__init__�sF�����!�!�$��d�M�B������
���
������
���
rc�� |jt|j��y#t$r%}|jj|�Yd}~yd}~wwxYwr)r�rdr�� Exceptionr�rZrXs r�runzTestThreadedClient.run�sB�� .��J�J�(����4�5��� .��J�J�)�)�"�-�-�� .�s�$'� A�A�AN)r[r\r]rhr�rbrrr?r?�s���.rr?c�F��eZdZd�Z�fd�Zd�Zd�Zd�Zed��Z �xZ
S)r8c�>�tjj|ddd�d|_d|_d|_||_||_||_d|_ ||_
tj�\|_
|_|jjd�||_y)Nztest-serverTrF)r�r�rhr��_clients�_finished_clients�_max_clientsr�r�r�r�r1�
socketpair�_s1�_s2�setblockingr�)rr�r;r�r)r+s rrhzTestThreadedServer.__init__�s������!�!�$��d�M�B������
�!"���'�����
���
������
�#�.�.�0����$�(������U�#���
rc���� |jr9|jj�dk7r |jjd�t�|��y#t$rY�wxYw#t�|��wxYw)N���sstop)r��fileno�sendrR�superrW)r� __class__s �rrWzTestThreadedServer.stop�sa��� ��x�x�D�H�H�O�O�-��3���H�H�M�M�'�*�
�G�L�N�������
�G�L�N�s(�)A&�A� A#� A&�"A#�#A&�&A6c�x� |j5|jjd�|j�ddd�|jj �|j
j �y#1swY�>xYw#|jj �|j
j �wxYwr�)r�r��_runr�r r�r
s rr�zTestThreadedServer.run�ss�� �����
�
�&�&�u�-�� � ���
�H�H�N�N���H�H�N�N�����
�H�H�N�N���H�H�N�N��s!�B�,A7�B�7B�<B�6B9c���|jr�|j|jk\rytj|j|j
ggg|j�\}}}|j
|vry|j|vrk |jj�\}}|xjdz
c_|j|j� |5|j|�ddd�|jr��yy#1swY�xYw#t$r.}d|_ �#|jj|�wxYwd}~wwxYw#t$rY��Kt$r|jsYy�wxYw)Nr%F)r�r�r��selectr�r�r��acceptr7�_handle_clientr�r�rZ�BlockingIOError�TimeoutError)r�r�w�x�connr(rYs rr�zTestThreadedServer._run�s'���l�l��}�}�� 1� 1�1���m�m����T�X�X�&��B��
�
�?�G�A�q�!��x�x�1�}���z�z�Q��>�!%���!2�!2�!4�J�D�$��M�M�Q�&�M��O�O�D�M�M�2�>�!� �/�/��5�"�1�l�l�0"�T��$�>�',���>�!�� �J�J�9�9�"�=��>��'���#���<�<��� �sZ�E�D�C:�#D�:D�?D� D=�D8�D�D5�5D8�8D=� E$�E$�"E$c�8�|jt|��yr)r�rdrgs rr�z!TestThreadedServer._handle_clients���
�
�$�T�*�+rc�6�|jj�Sr)r��getsocknamer
s rr(zTestThreadedServer.addrs���z�z�%�%�'�'r)r[r\r]rhrWr�r�r��propertyr(�
__classcell__)r�s@rr8r8�s1����$�� >�D,��(��(rr8)r�asyncio.eventsr`rNr"r�r1r2r�r�rrrdr�r�r?r8rbrr�<module>r�si����� �
�
�
����a�a�R%D�%D�P�9�#�#��.��.�&N(��N(r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists