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

�Ke#����dZddlZddlZddlZddlZddlZddlZeed��sejd���Gd�dej	��Z
edkrej��dSdS)z
Tests for kqueue wrapper.
�N�kqueueztest works only on BSDc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�
TestKQueuec�z�tj��}|�|���dk|�����|�|j��|���|�|j��|�t|j��dS�Nr)�selectr�
assertTrue�fileno�closed�close�assertRaises�
ValueError)�self�kqs  �:/usr/local/apps/python3/lib/python3.11/test/test_kqueue.py�test_create_queuezTestKQueue.test_create_queues���
�]�_�_������	�	���a�������5�5�5����B�I�
�&�&�&�
���
�
�
�����	�"�"�"����*�b�i�0�0�0�0�0�c�H�ddlm}m}m}m}tjt
jt
j��}|�	t
j
|��tj|��}tjd��}|�
|j|��|�
|jtj��|�
|jtj��|�
|jd��|�
|jd��|�
|jd��|�
||��|�||��|�||k��|�||k��||||fD]Y}|�t2||d��|�t2||d��|�t2||d���Ztj|tj��}|�
|j|��|�
|jtj��|�
|jtj��|�
|jd��|�
|jd��|�
|jd��|�
||��|�||��tj|tjtj��}|�
|j|��|�
|jtj��|�
|jtj��|�
|jd��|�
|jd��|�
|jd��|�
||��|�||��tjddddd	d
��}|�
|jd��|�
|jd��|�
|jd��|�
|jd��|�
|jd	��|�
|jd
��|�
||��|�||��d}	tj|	ddd|	dz
|	��}|�
|j|	��|�
|jd��|�
|jd��|�
|jd��|�
|j|	dz
��|�
|j|	��|�
||��|�||��d}	tjdd|	��}|�
|jd��|�
|jd��|�
|j|	��|�
|jd��|�
|jd��|�
|jd��|�
||��|�||��d
}	tjddd|	��}|�
|jd��|�
|jd��|�
|jd��|�
|j|	��|�
|jd��|�
|jd��|�
||��|�||��dS)Nr)�lt�le�gt�gei���ev�����i�i��l��)�operatorrrrr�os�open�devnull�O_WRONLY�
addCleanuprr�kevent�assertEqual�ident�filter�KQ_FILTER_READ�flags�	KQ_EV_ADD�fflags�data�udata�assertNotEqualr	r
�	TypeError�KQ_FILTER_WRITE�
KQ_EV_ONESHOT)
rrrrr�fdr�other�op�bignums
          r�test_create_eventzTestKQueue.test_create_events���+�+�+�+�+�+�+�+�+�+�+�+�
�W�R�Z���
-�
-�������"�%�%�%�
�]�2�
�
���
�d�#�#�������2�&�&�&������F�$9�:�:�:������6�#3�4�4�4������A�&�&�&������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&�����U�
�#�#�#�������$�$�$��b�"�b�.�	7�	7�B����i��R��6�6�6����i��R��3�3�3����i��R��6�6�6�6�
�]�2�v�5�
6�
6�������2�&�&�&������F�$:�;�;�;������6�#3�4�4�4������A�&�&�&������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&�
�]�2�v�5�v�7K�
L�
L�������2�&�&�&������F�$:�;�;�;������6�#7�8�8�8������A�&�&�&������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&�
�]�1�a��A�q�!�
,�
,�������1�%�%�%������A�&�&�&������1�%�%�%������A�&�&�&������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&���
�]�6�1�a��F�Q�J��
?�
?�������6�*�*�*������A�&�&�&������1�%�%�%������A�&�&�&������&�1�*�-�-�-������6�*�*�*�����R� � � ����B��&�&�&���
�]�1�a��
(�
(�������1�%�%�%������A�&�&�&������6�*�*�*������A�&�&�&������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&���
�]�1�a��F�
+�
+�������1�%�%�%������A�&�&�&������1�%�%�%������F�+�+�+������!�$�$�$������1�%�%�%�����R� � � ����B��&�&�&�&�&rc
��tjd��}tj��}|�d��	|�d|���df��nB#t
$r5}|�|jdtj	��Yd}~nd}~wwxYw|�
��\}}tj��}tj�
|�����}tj|���tjtjtjz��}|�|gd��tj|���tjtjtjz��}|�|gd��tj|���tjtjtjz��}|�|gd��tj|���tjtjtjz��}|�|gd��|�ddd��}	t+d�|	D����}	|�|	t+|���tjf|���tjfg����|�d��|�d	��t/d
��D]B}
|�ddd��}	t1|	��dkrn*t3jd���C|�d��t+d
�|	D����}	|�|	t+|���tjf|���tjf|���tjf|���tjfg����tj|���tjtj��}|�|gd��tj|���tjtj��}|�|gd��tj|���tjtj��}|�|gdd��|�gdd��}	t+d�|	D����}	|�|	t+|���tjfg����|���|���|���dS)N)�	127.0.0.1rFr:rrrc3�2K�|]}|j|jfV��dS�N�r(r)��.0�es  r�	<genexpr>z.TestKQueue.test_queue_event.<locals>.<genexpr>��+����9�9�Q�a�g�q�x�(�9�9�9�9�9�9rsHello!sworld!!!�
g�?z'timeout waiting for event notificationsc3�2K�|]}|j|jfV��dSr<r=r>s  rrAz.TestKQueue.test_queue_event.<locals>.<genexpr>�rBrg�G�z��?c3�2K�|]}|j|jfV��dSr<r=r>s  rrAz.TestKQueue.test_queue_event.<locals>.<genexpr>�rBr)�socket�
create_server�setblocking�connect�getsockname�OSErrorr'�args�errno�EINPROGRESS�acceptrr�fromfdr
r&r2r,�KQ_EV_ENABLE�controlr*�set�send�range�len�time�sleep�fail�KQ_EV_DELETEr)r�serverSocket�clientr@�server�addrr�kq2r�events�is           r�test_queue_eventzTestKQueue.test_queue_eventps���+�,<�=�=����������5�!�!�!�	��N�N�K��)A�)A�)C�)C�A�)F�G�H�H�H�

��	�	;�	;�	;����Q�V�A�Y��(9�:�:�:�:�:�:�:�:�����	;����
$�*�*�,�,����
�]�_�_���m�"�"�2�9�9�;�;�/�/��
�]�6�=�=�?�?�!�1�!�+�f�.A�A�C�C��	�
�
�B�4�����
�]�6�=�=�?�?�!�0�!�+�f�.A�A�C�C��	�
�
�B�4�����
�]�6�=�=�?�?�!�1�!�+�f�.A�A�C�C��	���R�D�!����
�]�6�=�=�?�?�!�0�!�+�f�.A�A�C�C��	���R�D�!�������D�!�Q�'�'���9�9�&�9�9�9�9�9�������
�]�]�_�_�f�4�5�
�]�]�_�_�f�4�5�&7�"8�"8�	9�	9�	9�	���I�������K� � � ��r���	A�	A�A��Z�Z��a��+�+�F��6�{�{�a������J�s�O�O�O�O��I�I�?�@�@�@��9�9�&�9�9�9�9�9�������
�]�]�_�_�f�4�5�
�]�]�_�_�f�3�4�
�]�]�_�_�f�4�5�
�]�]�_�_�f�3�4�	&6�"7�"7�	8�	8�	8��]�6�=�=�?�?�!�1�!�.�0�0��	�
�
�B�4�����
�]�6�=�=�?�?�!�0�!�.�0�0��	�
�
�B�4�����
�]�6�=�=�?�?�!�0�!�.�0�0��	�
�
�B�4��A�������B��4�(�(���9�9�&�9�9�9�9�9�������
�]�]�_�_�f�4�5�&7�"8�"8�	9�	9�	9�	�������������������s�/A.�.
B-�8+B(�(B-c���tj��}tj��\}}|�d��tj|tjtjtjz��}tj|tjtjtjz��}|�	||gdd��}|�
|��|�|djtj
z��|�|�|dj��d��|���|���|���dS)Nsfoorr)rrrF�
socketpairrTr&r*r,rQrRr	�assertFalser+�KQ_EV_ERRORr'�recvr.r)rr�a�b�event1�event2�rs       r�testPairzTestKQueue.testPair�s��
�]�_�_��� �"�"���1�	���v������q�&�"7��9I�F�L_�9_�`�`����q�&�"7��9I�F�L_�9_�`�`���J�J���'��A�.�.�������������1���f�&8�8�9�9�9��������!��	�*�*�F�3�3�3�	���	�	�	�	���	�	�	�
���
�
�
�
�
rc�>��tj��}tj��\}}tj|tjtjtjz���|��gd��|��fd��G�fd�d��}|�|��d��|�t�g��d��|�
��|�
��|�
��dS)Nrc� ��eZdZd�Z�fd�ZdS)�+TestKQueue.test_issue30058.<locals>.BadListc��dSr�)rs r�__len__z3TestKQueue.test_issue30058.<locals>.BadList.__len__�s���qrc3�8�K�td��D]}�V��dS)N�d)rU)rrars  �r�__iter__z4TestKQueue.test_issue30058.<locals>.BadList.__iter__�s1������s�����A��H�H�H�H��rN)�__name__�
__module__�__qualname__rsrv)rs�r�BadListrp�s=�������
�
�
�
�
�
�
�
�
�
rrz)rrrFrdr&r*r,rQrR�iterr)rrrhrirzrs     @r�test_issue30058zTestKQueue.test_issue30058�s���
�]�_�_��� �"�"���1�
�]�1�f�3�V�5E��H[�5[�
\�
\��
�
�
�B�4�����
�
�
�B�5�!����	�	�	�	�	�	�	�	�	�	�	�
�
�7�7�9�9�a� � � �
�
�
�4���:�:�q�!�!�!�	���	�	�	�	���	�	�	�
���
�
�
�
�
rc�H�ttd��}|�|j��|���}tj��}|�|���t��|�	|j
��|���|�|j
��|�t|j��|���|�t|jdd��dS)N�rbr)r"�__file__r%rr
rr�assertIsInstance�intrerr	r
rrR)r�	open_filer4rs    r�
test_closezTestKQueue.test_close�s�����4�(�(�	����	��(�(�(�
�
�
�
�
�������	
���f�m�m�o�o�s�3�3�3������'�'�'�	����������
�&�&�&����*�f�m�4�4�4�	������	
���*�f�n�d�A�>�>�>�>�>rc���tj��}|�|j��|�tj|�����d��dS)NF)rrr%rr'r!�get_inheritabler
)rrs  r�test_fd_non_inheritablez"TestKQueue.test_fd_non_inheritable�sP������������%�%�%�����+�F�M�M�O�O�<�<�e�D�D�D�D�DrN)
rwrxryrr8rbrmr|r�r�rrrrrrs�������1�1�1�V'�V'�V'�rO�O�O�b��� ���0?�?�?�*E�E�E�E�Err�__main__)
�__doc__rMr!rrFrW�unittest�hasattr�SkipTest�TestCaserrw�mainrrrr�<module>r�s�����
����	�	�	�	�
�
�
�
�
�
�
�
����������w�v�x� � �6�
�(�
�4�
5�
5�5�sE�sE�sE�sE�sE��"�sE�sE�sE�l�z����H�M�O�O�O�O�O��r