Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_epoll.cpython-311.opt-2.pyc
�

�Ke�$��B�	ddlZddlZddlZddlZddlZddlZeed��sejd���	ej��n.#e	$r&Z
e
jejkrejd����dZ
[
wwxYwGd�dej��Z
edkrej��dSdS)�N�epollztest works only on Linux 2.6zkernel doesn't support epoll()c�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�	TestEPollc�R�tjd��|_|jg|_dS)N)�	127.0.0.1r)�socket�
create_server�serverSocket�connections��selfs �9/usr/local/apps/python3/lib/python3.11/test/test_epoll.py�setUpzTestEPoll.setUp+s*��"�0�1A�B�B��� �-�.�����c�B�|jD]}|����dS)N)r�close)r
�skts  r�tearDownzTestEPoll.tearDown/s-���#�	�	�C��I�I�K�K�K�K�	�	rc���tj��}|�d��	|�d|j���df��td���#t$r5}|�|jdtj
��Yd}~nd}~wwxYw|j���\}}|j�
||f��||fS)NFr�z&Connect should have raised EINPROGRESSr)r�setblocking�connectr
�getsockname�AssertionError�OSError�assertEqual�args�errno�EINPROGRESS�acceptr�extend)r
�client�e�server�addrs     r�_connected_pairzTestEPoll._connected_pair3s�����������5�!�!�!�	K��N�N�K��):�)F�)F�)H�)H��)K�L�M�M�M�!�!I�J�J�J���	;�	;�	;����Q�V�A�Y��(9�:�:�:�:�:�:�:�:�����	;�����(�/�/�1�1���������� 0�1�1�1��v�~�s�4A-�-
B,�7+B'�'B,c��	tjd��}n.#t$r!}tt	|�����d}~wwxYw|�|���dk|�����|�|j��|���|�|j��|�	t|j��ttd��r�tjdtj�����tjtj������tjd������dSdS)N�r�
EPOLL_CLOEXEC�����flags)
�selectrrr�str�
assertTrue�fileno�closedr�assertRaises�
ValueError�hasattrr))r
�epr#s   r�test_createzTestEPoll.test_createAsF��	)���b�!�!�B�B���	)�	)�	)� ��Q���(�(�(�����	)��������	�	���a�������5�5�5����B�I�
�&�&�&�
���
�
�
�����	�"�"�"����*�b�i�0�0�0��6�?�+�+�	*��L��V�1�2�2�8�8�:�:�:��L�v�3�4�4�4�:�:�<�<�<��L�q�!�!�!�'�'�)�)�)�)�)�	*�	*s��
A�=�Ac�6�|�ttjddd��|�ttjd��|�ttjd��|�ttjd��|�ttjdg��|�ttji��|�ttjd��|�ttjd��|�ttjd���ttd	��r)|�ttjd
���dSdS)Nr���foo�r���)�sizehintr)iD0r+)r2�	TypeErrorr-rr3r4rrs r�test_badcreatezTestEPoll.test_badcreateQs7�����)�V�\�1�a��;�;�;����)�V�\�5�9�9�9����)�V�\�4�8�8�8����)�V�\�2�6�6�6����)�V�\�E�7�;�;�;����)�V�\�2�6�6�6����*�f�l�A�6�6�6����*�f�l�B�7�7�7����*�f�l�R��@�@�@��6�?�+�+�	B����g�v�|�5��A�A�A�A�A�	B�	Brc�V�tjd��5}|�|���d��|�|j��ddd��n#1swxYwY|�|j��|�t|j��dS)Nr(r)	r-r�
assertGreaterr0�assertFalser1r/r2r3)r
r5s  r�test_context_managerzTestEPoll.test_context_manager`s���
�\�"�
�
�	(�����r�y�y�{�{�A�.�.�.����R�Y�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	
����	�"�"�"����*�b�i�0�0�0�0�0s�AA$�$A(�+A(c� �|���\}}tjd��}	|�|���tjtjz��|�|���tjtjz��|���n#|���wxYwtjd��}	|�|tjtjz��|�|tjtjz��|���n#|���wxYwtjd��}	|�t|jt��tjtjz��|�t|jdtjtjz��|�t|jdtjtjz��|�t|jdtjtjz��|�|tjtjz��|�t|j|tjtjz��|���dS#|���wxYw)Nr8r*i')
r&r-r�registerr0�EPOLLIN�EPOLLOUTrr2r>�objectr3r)r
r$r"r5s    r�test_addzTestEPoll.test_addgsL���-�-�/�/����
�\�!�_�_��	��K�K��
�
�����&�/�)I�J�J�J��K�K��
�
�����&�/�)I�J�J�J��H�H�J�J�J�J��B�H�H�J�J�J�J�����\�!�_�_��	��K�K������ @�A�A�A��K�K������ @�A�A�A��H�H�J�J�J�J��B�H�H�J�J�J�J����
�\�!�_�_��	����i���f�h�h�$�n�v��>�
@�
@�
@����i���d�$�n�v��>�
@�
@�
@�
���j�"�+�r�$�n�v��>�
@�
@�
@�
���g�r�{�E�$�n�v��>�
@�
@�
@�
�K�K������ @�A�A�A����g�r�{�F�$�n�v��>�
@�
@�
@�
�H�H�J�J�J�J�J��B�H�H�J�J�J�J���s&�A>C�C�.AE�E3�EK7�7L
c��|���\}}tjd��5}tj�|�����}|�|���tjtjz��|�|���tjtjz��|�dd��}|�dd��}|�	t|��d��|�	t|��d��ddd��n#1swxYwY	|�dd��|�d��dS#t$r7}|�	|j
dtj|��Yd}~dSd}~wwxYw)Nr8r�g�������?z%epoll on closed fd didn't raise EBADFr)r&r-r�fromfdr0rErFrG�pollr�len�failrrr�EBADF)r
r$r"r5�ep2�events�events2r#s        r�test_fromfdzTestEPoll.test_fromfd�s����-�-�/�/����
�\�!�_�_�		.���,�%�%�b�i�i�k�k�2�2�C��L�L������&�.�6�?�*J�K�K�K��L�L������&�.�6�?�*J�K�K�K��W�W�Q��]�]�F��h�h�s�A�&�&�G����S��[�[�!�,�,�,����S��\�\�1�-�-�-�		.�		.�		.�		.�		.�		.�		.�		.�		.�		.�		.����		.�		.�		.�		.�	?��H�H�Q��N�N�N�
�I�I�=�>�>�>�>�>���	8�	8�	8����Q�V�A�Y���Q�7�7�7�7�7�7�7�7�7�����	8���s*�D"E�E�!E�&F�
G�,G�Gc�d�|���\}}tjd��}|�|���tjtjztjz��|�|���tjtjztjz��tj	��}|�
dd��}tj	��}|�||z
dk||z
��|���tjf|���tjfg}|�t|��t|����|�
dd���}|�|��|�d��|�d��tj	��}|�
dd��}tj	��}|�||z
d	k��|���tjtjzf|���tjtjzfg}|�t|��t|����|�|�����|�|���tj��tj	��}|�
dd��}tj	��}|�||z
d	k��|���tjfg}|�||��dS)
Nr(rrKg�������?)�timeout�	maxeventssHello!sworld!!!��?�{�G�z�?)r&r-rrEr0rFrG�EPOLLET�time�	monotonicrMrBr�sorted�sendall�
unregister�modify)r
r"r$r5�nowrR�then�expecteds        r�test_control_and_waitzTestEPoll.test_control_and_wait�s����-�-�/�/����
�\�"�
�
��
���F�M�M�O�O��N�V�_�4�v�~�E�	G�	G�	G�
���F�M�M�O�O��N�V�_�4�v�~�E�	G�	G�	G��n��������A�����~����������c�)�4�#�:�6�6�6��]�]�_�_�f�o�6��]�]�_�_�f�o�6�8�����������)9�)9�:�:�:�������2�2������ � � �	���y�!�!�!����{�#�#�#��n��������a�����~����������d�*�+�+�+��]�]�_�_�f�n�v��&F�G��]�]�_�_�f�n�v��&F�G�I�����������)9�)9�:�:�:�	�
�
�f�m�m�o�o�&�&�&�
�	�	�&�-�-�/�/�6�?�3�3�3��n��������A�����~����������d�*�+�+�+��]�]�_�_�f�o�6�7�������*�*�*�*�*rc���|�ttjd��|�ttj��jdtj��dS)Nr<r*)r2r3r-rrErFrs r�test_errorszTestEPoll.test_errors�sR�����*�f�l�B�7�7�7����*�f�l�n�n�&=�r� �.�	*�	*�	*�	*�	*rc�h�|���\}}|���}tjd��}|�|��tj��}|�dd��}tj��}|�||z
dk��|�	��|�
t��5}|�|��ddd��n#1swxYwY|�
|jjtj��dS)Nr(rrKrY)r&r0r-rrEr[r\rMrBrr2rr_r�	exceptionrrP)	r
r$r"�fdr5rarRrb�cms	         r�test_unregister_closedz TestEPoll.test_unregister_closed�s5���-�-�/�/����
�]�]�_�_��
�\�"�
�
��
���F�����n��������A�����~����������d�*�+�+�+�������
�
�
�w�
'�
'�	�2��M�M�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������+�U�[�9�9�9�9�9s�C=�=D�Dc�8�ttd��}|�|j��|���}tj��}|�|���t��|�	|j
��|���|�|j
��|�t|j��|���|�t|j|t
j��|�t|jd��|�t|j|t
j��|�t|j|��dS)N�rbrX)�open�__file__�
addCleanuprr0r-r�assertIsInstance�intrBr1r/r2r3r`rFrMrEr_)r
�	open_filerirs    r�
test_closezTestEPoll.test_close�s:����4�(�(�	����	��(�(�(�
�
�
�
�
�������	
���e�l�l�n�n�c�2�2�2������&�&�&�	���
�
�
������%�%�%����*�e�l�3�3�3�	���
�
�
�	
���*�e�l�B���G�G�G����*�e�j�#�6�6�6����*�e�n�b�&�.�I�I�I����*�e�&6��;�;�;�;�;rc���tj��}|�|j��|�tj|�����d��dS)NF)r-rrprr�os�get_inheritabler0)r
rs  r�test_fd_non_inheritablez!TestEPoll.test_fd_non_inheritable�sP������������$�$�$�����+�E�L�L�N�N�;�;�U�C�C�C�C�CrN)�__name__�
__module__�__qualname__rrr&r6r?rCrIrTrdrfrkrtrxr;rrrr)s�������/�/�/�������*�*�*� 
B�
B�
B�1�1�1�$�$�$�L?�?�?�*-+�-+�-+�^*�*�*�
:�:�:�"<�<�<�0D�D�D�D�Drr�__main__)rrvr-rr[�unittestr4�SkipTestrrr#�ENOSYS�TestCaserry�mainr;rr�<module>r�s'��*�
����	�	�	�	�
�
�
�
�
�
�
�
����������w�v�w���<�
�(�
�:�
;�
;�;�
��F�L�N�N�N�N���
�
�
��w�%�,����h�� @�A�A�A�	�����
����
YD�YD�YD�YD�YD��!�YD�YD�YD�x�z����H�M�O�O�O�O�O��s�A�A2�!A-�-A2