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

�Ke�����ddlZddlZddlZddlZddlmZeed��sejd���d�ZGd�dej	��Z
edkrej��dSdS)	�N)�cpython_only�devpollz$test works only on Solaris OS familyc�N�g}|D]\}}||zr|�|��� |S)N)�append)�ready�flag�match�fd�modes     �;/usr/local/apps/python3/lib/python3.11/test/test_devpoll.py�find_ready_matchingr
s>���E������D��$�;�	��L�L�������L�c�B�eZdZd�Zd�Zd�Zd�Zd�Zed���Z	dS)�DevPollTestsc�D�tj��}d}d}t|��}g}g}i}i}t|��D]�}	t	j��\}
}|�|
��|�|
tj��|�|tj	��|�
|
��|�
|��|||
<|
||<��g}|�r�|���}
t|
tj	��}|s|�
d��tj|��}t	j||��|���}
t|
tj��}|s|�
d��|�||g|��|d}
t	j|
|��}|�t|��|��|�
|��t	j||
��t	j|
��|�||
��|�|
��|�||
��|���|�||g|z��dS)N�s This is a test.zno pipes ready for writingzno pipes ready for readingr)�selectr�len�range�os�pipe�register�modify�POLLIN�POLLOUTr�pollr
�fail�random�choice�write�assertEqual�read�close�
unregister�remove)�self�p�	NUM_PIPES�MSG�MSG_LEN�readers�writers�r2w�w2r�i�rd�wr�bufsr�
ready_writers�
ready_readers�bufs                 r�
test_devpoll1zDevPollTests.test_devpoll1se��
�N�����	�!���c�(�(�����������y�!�!�	�	�A��W�Y�Y�F�B��
�J�J�r�N�N�N�
�H�H�R���'�'�'�
�J�J�r�6�>�*�*�*��N�N�2�����N�N�2�����C��G��C��G�G����	$��F�F�H�H�E�/��v�~�F�F�M� �
8��	�	�6�7�7�7���}�-�-�B��H�R������F�F�H�H�E�/��v�}�E�E�M� �
8��	�	�6�7�7�7����c�"�g�Y�
�6�6�6��q�!�B��'�"�g�&�&�C����S��X�X�w�/�/�/��K�K������H�S��W����������
�L�L��R��!�!�!�
�L�L������N�N�3�r�7�#�#�#�)�	$�,	
�����u�y�0�1�1�1�1�1rc��tj��}tj��\}}|�|��|�d��|�t|jd��|�t|jd��|�t|jd��|�d��|�d��|�d��|�t|jd��|�t|jd	��|�t|jd
��dS)N������i�l����r�i@ll�)rrrrrr�assertRaises�
OverflowError�r&�pollster�w�rs    r�test_timeout_overflowz"DevPollTests.test_timeout_overflowJs���>�#�#���w�y�y���1����!�����
�
�b�������-����;�;�;����-����A�A�A����-����A�A�A��
�
�a�����
�
�a�����
�
�g�������-����@�@�@����-����@�@�@����-����@�@�@�@�@rc�6�ttd��}|�|j��|���}tj��}|�|���t��|�	|j
��|���|�|j
��|�t|j��|���|�t|j|t
j��|�t|j��|�t|j|t
j��|�t|j|��dS)N�rb)�open�__file__�
addCleanupr#�filenorr�assertIsInstance�int�assertFalse�closed�
assertTruer<�
ValueErrorrrrrr$)r&�	open_filer
rs    r�
test_closezDevPollTests.test_close[s=����4�(�(�	����	��(�(�(�
�
�
�
�
���.�"�"��	
���g�n�n�.�.��4�4�4������(�(�(�	�
�
���������'�'�'����*�g�n�5�5�5�	�
�
����	
���*�g�n�b�&�-�H�H�H����*�g�l�3�3�3����*�g�&6��F�M�J�J�J����*�g�&8�"�=�=�=�=�=rc���tj��}|�|j��|�tj|�����d��dS)NF)rrrGr#r!r�get_inheritablerH)r&rs  r�test_fd_non_inheritablez$DevPollTests.test_fd_non_inheritablessT���.�"�"������
�&�&�&�����+�G�N�N�,<�,<�=�=�u�E�E�E�E�Erc��tj��}tj��\}}|�|��|�t|jdd��|�t|jdd��|�t|jdd��|�t|jdd��dS)Nrr8r;r:)	rrrrrr<rNr=rr>s    r�test_events_mask_overflowz&DevPollTests.test_events_mask_overflowxs����>�#�#���w�y�y���1����!�������*�h�&7��B�?�?�?����-��):�A�w�G�G�G����*�h�o�q�"�=�=�=����-���!�W�E�E�E�E�Erc�"�ddlm}tj��}t	j��\}}|�|��|�t|jd|dz��|�t|j	d|dz��dS)Nr)�	USHRT_MAXr:)
�	_testcapirWrrrrrr<r=r)r&rWr?r@rAs     r�"test_events_mask_overflow_c_limitsz/DevPollTests.test_events_mask_overflow_c_limits�s���'�'�'�'�'�'��>�#�#���w�y�y���1����!�������-��):�A�y�1�}�M�M�M����-���!�Y��]�K�K�K�K�KrN)
�__name__�
__module__�__qualname__r6rBrPrSrUrrY�rrrrs�������02�02�02�dA�A�A�">�>�>�0F�F�F�
F�F�F��L�L��\�L�L�Lrr�__main__)
rrr�unittest�test.supportr�hasattr�SkipTestr
�TestCaserrZ�mainr]rr�<module>res���

�	�	�	�
�
�
�
�
�
�
�
�����%�%�%�%�%�%��w�v�y�!�!�D�
�(�
�B�
C�
C�C����tL�tL�tL�tL�tL�8�$�tL�tL�tL�n�z����H�M�O�O�O�O�O��r