Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_pty.cpython-312.opt-2.pyc

�

'Μg�@���ddlmZmZddlmZmZddlmZed�ed�ddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZdZdZeed	�xr	eed
�Zerd�Znd�Zd
�Zd�Zd�Zd�ZGd�dej8�ZGd�dej8�Zd�Ze dk(rejB�yy)�)�verbose�
reap_children)�TESTFN�unlink)�
import_module�termios�fcntlN�I wish to buy a fish license.
�For my pet fish, Eric.
�
TIOCGWINSZ�
TIOCSWINSZc��t|�y�N)�print��msgs �*/usr/local/lib/python3.12/test/test_pty.py�debugrs	��
�c�
�c��yr�rs rrr s��rc��|jd�r|jdd�S|jd�r|jdd�S|S)Ns

�
�
)�endswith�replace)�datas r�normalize_outputr.sC���}�}�Y���|�|�I�u�-�-��}�}�W���|�|�G�U�+�+��Krc�T�	tj|dd��}|j�S)N�rbF)�mode�closefd)�io�FileIO�readline)�fd�readers  r�	_readliner(Bs$��B�
�Y�Y�r��e�
4�F��?�?��rc��	tjtj�t	j
|�S#tj$rY|SwxYwr)�tty�	tcgetattr�pty�STDIN_FILENO�unittest�expectedFailure�error)�funs r�expectedFailureIfStdinIsTTYr2GsE��
��
�
�c�&�&�'��'�'��,�,���9�9�
���J�
�s�7:�A�Ac	��tj||�}|t|�k7rtd|�dt|��d|�d���y)Nzshort write: os.write(z, z bytes) wrote z bytes)�os�write�len�	Exception)r&r�writtens   r�	write_allr9QsS���h�h�r�4� �G��#�d�)���0���B�s�4�y�k�B!�!(�	��1�2�	2�rc�D�eZdZd�Zed��Zed��Zd�Zd�Z	d�Z
y)�PtyTestc���tjtj|j�}|jtjtj|�d|_t
rc	t
jtj�|_|jtjtj|j�yy#tj$rYywxYwr)�signal�SIGHUP�
handle_sighup�
addCleanup�	stdin_dim�_HAVE_WINSZr*�tcgetwinsizer,r-�tcsetwinsizer0)�self�
old_sighups  r�setUpz
PtyTest.setUp\s����]�]�6�=�=�$�2D�2D�E�
�����
�
�v�}�}�j�A�����
�!$�!1�!1�#�2B�2B�!C������� 0� 0�#�2B�2B� $���0���
�9�9�
��
�s�,A!C�C%�$C%c��yrr)�signum�frames  rr?zPtyTest.handle_sighupjs��rc�~�	tjtj�}d}|jr�	td�td|j���|jddz|jddzf}td|���tjtj|�tjtj�}|j||d�	td	�	tj||d
�\}}}td|�d|�d
|���|j#t$j&|�|j#t$j&|�|j)t%j*|�d�|r&|jtj|�|d�|r&|jtj|�|d�t%j,|�}	t%j.|d�	t%j0|d�}|jd|�t%j.||�td�t7|t8�t;|�}|jdt=|��td�t7|t>dd�t7|t>dd�t;|�}
|jdt=|
��y#tj$rtd�d}Y���wxYw#t$rtjd�Y��=wxYw#t$rtj�\}}d}Y��>wxYw#t$rtj d��wxYw#t$r)}	|	j2t2j4k7r�Yd}	~	��sd}	~	wwxYw#t%j.||�wxYw)Nz&tty.tcgetattr(pty.STDIN_FILENO) failedz%Setting pty.STDIN_FILENO window size.zoriginal size: (row, col) = r�ztarget size: (row, col) = z&pty.STDIN_FILENO window size unchangedz+Failed to set pty.STDIN_FILENO window size.�Calling pty.openpty()TzGot master_fd=z, slave_fd=z
, slave_name=z,Pseudo-terminals (seemingly) not functional.zslave_fd is not a ttyz%openpty() failed to set slave termiosz)openpty() failed to set slave window sizeF�rzWriting to slave_fdr
zWriting chunked output�r) r*r+r,r-r0rrArDrC�assertEqual�OSError�warnings�warn�openpty�	TypeErrorr.�SkipTestr@r4�close�
assertTrue�isatty�get_blocking�set_blocking�read�errno�EAGAINr9�
TEST_STRING_1r(r�
TEST_STRING_2)rEr!�new_dim�
target_dim�	master_fd�slave_fd�
slave_name�blocking�s1�e�s2s           r�test_openptyzPtyTest.test_openptyns=��	��=�=��!1�!1�2�D����>�>�
��=�>��4�T�^�^�4D�E�F�"�n�n�Q�/�!�3�T�^�^�A�5F��5J�K�
��2�:�,�?�@�� � ��!1�!1�:�>��*�*�3�+;�+;�<��� � ��*�!I�K�	T��)�*�
"�25�+�+�d�G�>B�3D�/�	�8�Z�

�O���L�x�k��J�=�A�B�	
������)�,�������(�+�����	�	�(�+�-D�E�����S�]�]�8�4�d�D�
F�����S�-�-�h�7��H�
J��?�?�9�-��
	1��O�O�I�u�-�
��W�W�Y��-��� � ��b�)�
�O�O�I�x�0�
�#�$��(�M�*�
�y�
!�����;�)�"�-�	/�	�&�'��(�M�"�1�-�.��(�M�!�"�-�.�
�y�
!�����4�6F�r�6J�K��]�y�y�	��:�;��D�	��,�
��
�
�K�L��
���
"�&)�k�k�m�#�	�8�!�
�
"���	T��#�#�$R�S�S�	T��4�
��7�7�e�l�l�*��+��
��

�O�O�I�x�0�s��#K�B/K?�$M
�0L$�M
�*N$�(M/� K<�;K<�?L!� L!�$"M
�M
�	M
�
M
�
M,�/	N!�8N�N$�N!�!N$�$N<c��td�tj�\}}|jtj
|�|tjk(r�t	jd�s td�t	jd�td�	t	j�td�t	jd�t	jd�ytd|z�		t	j|d
�}|sn;tjjt!|j#dd�d����Ut	j$|d�\}}t	j&|�}td|||fz�|dk(r|j)d�y|dk(r|j)d�y|dk(r|j)d�y|dk7r|j)d�yy#t$rtd�Y��-t$rtd	�Y��Ctd
�t	jd�Y��gxYw#t$rY��wxYw)Nzcalling pty.fork()rLzChild's fd 1 is not a tty?!�zIn child, calling os.setsid()zos.setsid() succeeded! (bad!)�zGood: OSError was raised.zNo setsid() available?zAn unexpected error was raised.�z!Waiting for child (%d) to finish.�Prr�ascii)�encodingrz+Child (%d) exited with code %d (status %d).z3Child raised an unexpected exception in os.setsid()z1pty.fork() failed to make child a session leader.z8Child spawned by pty.fork() did not have a tty as stdoutz&pty.fork() failed for unknown reasons.)rr,�forkr@r4rW�CHILDrY�_exit�setsidrQ�AttributeErrorr\�sys�stdoutr5�strr�waitpid�waitstatus_to_exitcode�fail)rE�pidrcr�status�ress      r�	test_forkzPtyTest.test_fork�s���
�"�#�������Y�������)�,��#�)�)���9�9�Q�<��3�4������
�1�2�
��	�	��"�5�6�������H�H�Q�K��5��;�<����7�7�9�b�1�D����
�
� � ��T�\�\�'�5�%A�.5�"7�8�� �J�J�s�A�.�M�S�&��+�+�F�3�C��?�3��V�BT�T�U��a�x��	�	�O�P�����	�	�M�N�����	�	�T�U�����	�	�B�C���q�
��1�2��!�
��.�/��
�
�7�8�������(����s*�G!�1H5�!H2�8H2�!H2�5	I�Ic�v�td�tj�\}}td|�d|�d��|jtj
|�td�t	j
|�td�	t	j|d�}|j|d�y#t$rd}Y� wxYw)	NrMzGot master_fd 'z
', slave_fd '�'zClosing slave_fdzReading from master_fdrLr)	rr,rTr@r4rWr\rQrP)rErcrdrs    r�test_master_readzPtyTest.test_master_reads���
�%�&�!�k�k�m��	�8�
��	�{�-��z��C�D�������)�,�
� �!�
�����
�&�'�	��7�7�9�a�(�D�	
����s�#���	��D�	�s�B*�*B8�7B8c���|jtt�ttd�5}d}t	j
|�}t	j|j�|�d��fd�}	tjtjddg|�t	j||�t	j|�	ddd�|j�d�ttd�5}|j|j�d�ddd�y#t	j||�t	j|�wxYw#1swY��xYw#1swYyxYw)	N�wbrLrc�>��tj|d�}�|z
�|S)NrN)r4r\)r&r�bufs  �r�master_readz3PtyTest.test_spawn_doesnt_hang.<locals>.master_read.s!����w�w�r�4�(���t����rz-czprint("hi there")s
hi there
r )r@rr�openr4�dup�dup2�filenor,�spawnrw�
executablerWrPr\)rE�f�
STDOUT_FILENO�
dup_stdoutr�r�s     @r�test_spawn_doesnt_hangzPtyTest.test_spawn_doesnt_hang's���������'�
�&�$�
�1��M����
�.�J��G�G�A�H�H�J�
�.��C�
�

%��	�	�3�>�>�4�1D�E�%�'����
�M�2�����$� � 	
����o�.�
�&�$�
�1����Q�V�V�X��7� �
�����
�M�2�����$�� �
��" �
�s0�AE�0'D�+E�-!E�-E�E�E�EN)�__name__�
__module__�__qualname__rG�staticmethodr?r2rjr�r�r�rrrr;r;[sF����
��
�!�QL�!�QL�fHD�d$�&8rr;c�D�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�
SmallPtyTestsc���tj|_tj|_tj
|_tj|_tj|_
tj|_tj|_tj|_tj"|_tj&|_g|_g|_g|_g|_d|_yr)r,r-�orig_stdin_filenor��orig_stdout_filenorW�orig_pty_close�_copy�orig_pty__copyrr�
orig_pty_fork�select�orig_pty_select�setraw�orig_pty_setrawr+�orig_pty_tcgetattr�	tcsetattr�orig_pty_tcsetattrrz�orig_pty_waitpid�fds�files�select_input�
select_output�tcsetattr_mode_setting)rEs rrGzSmallPtyTests.setUp@s���!$�!1�!1���"%�"3�"3���!�i�i���!�i�i��� �X�X���"�z�z���"�z�z���"%�-�-���"%�-�-��� #����������
�������&*��#rc�v�|jt_|jt_|j
t_|jt_|jt_
|jt_|jt_|jt_|j"t_|j&t_|j*D]}	|j
��|j.D]}	t1j|��y#t,$rY�IwxYw#t,$rY�6wxYwr)r�r,r-r�r�r�rWr�r�r�rrr�r�r�r�r�r+r�r�r�rzr�rQr�r4)rE�filer&s   r�tearDownzSmallPtyTests.tearDownQs����1�1��� �3�3����'�'��	��'�'��	��%�%����)�)��
��)�)��
��/�/��
��/�/��
��+�+����J�J�D�
��
�
���
�(�(�B�
���������
��
��
�
��
�s$�#D�D,�	D)�(D)�,	D8�7D8c�d�tj�}|jj|�|Sr)r4�piper��extend)rE�pipe_fdss  r�_pipezSmallPtyTests._pipegs"���7�7�9��������!��rc�d�tj�}|jj|�|Sr)�socket�
socketpairr�r�)rEr�s  r�_socketpairzSmallPtyTests._socketpairls(���&�&�(�
��
�
���*�%��rc��|j|||f|jjd��|jjd�S)Nr)rPr��popr�)rE�rfds�wfds�xfdss    r�_mock_selectzSmallPtyTests._mock_selectqsA�����$��d�+�T�->�->�-B�-B�1�-E�F��!�!�%�%�a�(�(rc����fd�}|S)Nc����dfS)N�r)r}s�r�	mock_forkz0SmallPtyTests._make_mock_fork.<locals>.mock_forkws
�����9�rr)rEr}r�s ` r�_make_mock_forkzSmallPtyTests._make_mock_forkvs���	��rc��||_yr)r�)rEr��optr!s    r�_mock_tcsetattrzSmallPtyTests._mock_tcsetattr{s
��&*��#rc�:�	|j�\}}|t_|j�\}}|t_|j	�}|D�cgc]}|j���}}t
|dd�t
|d�|jt_|jj||dgggf�|jj||dgggf�|jj||dg||dggf�|jjg||dggf�|jj||dgggf�|jt�5tj|d�ddd�tj||dgggd�d}|j||dg|�|jt!j"|d�d�|jt!j"|dd�d�ycc}w#1swY��xYw)NrLsfrom masters
from stdinr�)r�r,r�r-r�r�r9r�r�r��appendr��assertRaises�
IndexErrorr�rPr4r\)	rE�read_from_stdout_fd�mock_stdout_fd�
mock_stdin_fd�write_to_stdin_fdr��s�mastersr�s	         r�test__copy_to_eachz SmallPtyTests.test__copy_to_each~s���D�.2�j�j�l�+��^�*���+/�:�:�<�(�
�(�(����%�%�'�
�'1�2�z�!�1�8�8�:�z��2�	�'�!�*�n�-��#�]�3��&�&��
���� � �=�'�!�*�"=�r�2�!F�G����!�!�M�7�1�:�#>��B�"G�H���� � �=�'�!�*�"=��PW�XY�PZ�?[�]_�!`�a����!�!�2����
�'C�R�"H�I���� � �=�'�!�*�"=�r�2�!F�G�
�
�
�z�
*��I�I�g�a�j�!�+��}�}�1�7�1�:�>��B��J�1�M�����-�w�q�z�:�D�A�������!4�b�9�>�J����������R�0�-�@��+3�+�
*�s�H�$H�Hc����	|jd�t_t���fd�t_d�t_d�t_t���fd�t_|jt_	d�t_
|jtjg��d�|j|j�d�y)	NrLc���d�gSrr)�_1�_2�status_sentinels  �r�<lambda>zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s
���d�O�%<rc��yrr��_s rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��drc��yrr)r�r��_3s   rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��trc����Srr)r&�
mode_sentinels �rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s���=rc��yrrr�s rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��trz4pty.waitpid process status not returned by pty.spawnz1pty.tcsetattr not called with original mode value)r�r,rr�objectrzrWr�r+r�r�r�rPr�r�)rEr�r�s @@r�$test__restore_tty_mode_normal_returnz2SmallPtyTests.test__restore_tty_mode_normal_return�s����Q��'�'��*��� �(��<���"��	�+��	���
�0��
��,�,��
�#��
�������2���9o�p�����4�4�m�Ex�yrN)r�r�r�rGr�r�r�r�r�r�r�r�rrrr�r�=s4��3�+�"�,�
�
)�
�
+�A�<zrr�c��t�yr)rrrr�tearDownModuler��s���Or�__main__)"�test.supportrr�test.support.os_helperrr�test.support.import_helperrr]r4r,r*rwr�r=r�r#r.rRr_r`�hasattrrBrrr(r2r9�TestCaser;r�r�r��mainrrr�<module>r�s���/�1�4��i���g���	�
�
�
�
�
�
�	���2�
�+�
��c�<�(�G�W�S�,�-G��
��
��(�
�2�`8�h���`8�Drz�H�%�%�rz�j��z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists