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

�Ke���L�ddlZddlZddlmZddlmZddlZddlZed��Zed��Z	ee	d��	e
dd��Ze5e�ee	j
d	��Zddd��n#1swxYwYejd
e��dZeej��ejd��fvrejd���[[[n#e$rejd���wxYw	ddlZn
#e$rdZYnwxYwGd
�dej��Zedkrej��dSdS)�N)�
get_attribute)�
import_module�fcntl�termios�	TIOCGPGRP�/dev/tty�rb�    �izBNeither the process group nor the session are attached to /dev/ttyzUnable to open /dev/ttyc�4�eZdZd�Zdd�Zd�Zd�Zd�Zd�ZdS)	�
IoctlTestsc�T�tj��tjd��f}tdd��5}t�|tjd��}tj	d|��d}|�
||��ddd��dS#1swxYwYdS)Nrrr	r
r)�os�getpgrp�getsid�openr�ioctlrr�struct�unpack�assertIn)�self�ids�tty�r�rpgrps     �9/usr/local/apps/python3/lib/python3.11/test/test_ioctl.py�
test_ioctlzIoctlTests.test_ioctls����z�|�|�R�Y�q�\�\�*��
�*�d�
#�
#�	&�s����C��!2�F�;�;�A��M�#�q�)�)�!�,�E��M�M�%��%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s�AB�B!�$B!Nc�H�tjd��}|j}tj��tjd��f}d}|�C|�|g||zz��|�t|��|z|��n|�|��tdd��5}t�|tj
|d��}ddd��n#1swxYwY|d}|�|d��|�||��dS)Nrri���rr	T)�array�itemsizerrr�extend�assertEqual�len�appendrrrrrr)	r�nbytes�buf�intsizer�fillrrrs	         r�_check_ioctl_mutate_lenz"IoctlTests._check_ioctl_mutate_len'sD���k�#�����,���z�|�|�R�Y�q�\�\�*�������J�J��v��7�!2�3�4�4�4����S��X�X��/��8�8�8�8��J�J�t����
�*�d�
#�
#�	?�s����C��!2�C��>�>�A�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?��A�������A�����
�
�e�S�!�!�!�!�!s�/(C#�#C'�*C'c�.�|���dS�N�r)�rs r�test_ioctl_mutatezIoctlTests.test_ioctl_mutate9s���$�$�&�&�&�&�&�c�0�|�d��dS)Nir,r-s r�test_ioctl_mutate_1024z!IoctlTests.test_ioctl_mutate_1024<s��	
�$�$�T�*�*�*�*�*r/c�0�|�d��dS)Nir,r-s r�test_ioctl_mutate_2048z!IoctlTests.test_ioctl_mutate_2048As���$�$�T�*�*�*�*�*r/c��tstjd���tj��\}}	tjdkrtj}tjdz}n@tj}t
jdt
jdtj����\}t
jddddd��}t�
|||��}t�
|||��}tj|��tj|��dS#tj|��tj|��wxYw)	Nzpty module requiredrl��r�I�HHHH�P�)
�pty�unittest�SkipTest�openptyr�
TIOCSWINSZrr�packrrr�close)r�mfd�sfd�set_winsz_opcode_maybe_neg�set_winsz_opcode_pos�	our_winsz�	new_winszs       r�%test_ioctl_signed_unsigned_code_paramz0IoctlTests.test_ioctl_signed_unsigned_code_paramEs���	;��#�$9�:�:�:��;�=�=���S�	��!�A�%�%�-4�-?�*�'.�'9�J�'F�$�$�'.�'9�$�.4�m�C���C��);�<�<�/>�/>�+�*���F�2�b��1�5�5�I����C�)=�y�I�I�I����C�)C�Y�O�O�I��H�S�M�M�M��H�S�M�M�M�M�M��
�H�S�M�M�M��H�S�M�M�M�M���s�B<D�*Er+)	�__name__�
__module__�__qualname__rr)r.r1r3rF�r/rr
r
ss������&�&�&�"�"�"�"�$'�'�'�+�+�+�
+�+�+�����r/r
�__main__)rr:�test.supportr�test.support.import_helperrrrrrrrrrrrrrrr;�OSErrorr9�ImportError�TestCaser
rG�mainrJr/r�<module>rRs(����������&�&�&�&�&�&�4�4�4�4�4�4����������
�g����
�-�	�
"�
"��
�
�g�{�#�#�#��
�$�z�4�
 �
 �C�

�8�8��K�K��W�.��7�7��8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�
�F�M�#�q�!�!�!�$�E��Z�R�Z�\�\�9�2�9�Q�<�<�0�0�0��h��!;�<�<�	<��Q�����7�7�7�
�(�
�5�
6�
6�6�7������J�J�J�J������
�C�C�C�����;�;�;�;�;��"�;�;�;�|�z����H�M�O�O�O�O�O��s0�C�A7�7A;�>A;�C$�(C-�-C7�6C7