Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/test/__pycache__/test_pty.cpython-311.pyc

�

SԚg�@���ddlmZmZddlmZmZddlmZed��ed��ddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZdZdZeed	��oeed
��Zerd�Znd�Zd
�Zd�Zd�Zd�ZGd�dej��ZGd�dej��Zd�Ze dkrej!��dSdS)�)�verbose�
reap_children)�TESTFN�unlink)�
import_module�termios�fcntlN�I wish to buy a fish license.
�For my pet fish, Eric.
�
TIOCGWINSZ�
TIOCSWINSZc�$�t|��dS�N)�print��msgs �*/usr/local/lib/python3.11/test/test_pty.py�debugrs��
�c�
�
�
�
�
�c��dSr�rs rrr s���rc��|�d��r|�dd��S|�d��r|�dd��S|S)Ns

�
�
)�endswith�replace)�datas r�normalize_outputr.sY���}�}�Y���.��|�|�I�u�-�-�-��}�}�W���,��|�|�G�U�+�+�+��Krc�X�tj|dd���}|���S)z8Read one line.  May block forever if no newline is read.�rbF)�mode�closefd)�io�FileIO�readline)�fd�readers  r�	_readliner(Bs(��
�Y�r��e�
4�
4�
4�F��?�?���rc��	tjtj��t	j|��S#tj$rYnwxYw|Sr)�tty�	tcgetattr�pty�STDIN_FILENO�unittest�expectedFailure�error)�funs r�expectedFailureIfStdinIsTTYr2GsR��
��
�c�&�'�'�'��'��,�,�,���9�
�
�
���
�����Js�14�A�Ac	��tj||��}|t|��kr&td|�dt|���d|�d����dS)Nzshort write: os.write(z, z bytes) wrote z bytes)�os�write�len�	Exception)r&r�writtens   r�	write_allr9Qss���h�r�4� � �G��#�d�)�)����1��1�1�s�4�y�y�1�1�!(�1�1�1�2�2�	2��rc�R�eZdZd�Zed���Zed���Zd�Zd�Z	d�Z
dS)�PtyTestc��tjtj|j��}|�tjtj|��d|_t
rl	t
jtj	��|_|�tj
tj	|j��dS#tj$rYdSwxYwdSr)�signal�SIGHUP�
handle_sighup�
addCleanup�	stdin_dim�_HAVE_WINSZr*�tcgetwinsizer,r-�tcsetwinsizer0)�self�
old_sighups  r�setUpz
PtyTest.setUp\s����]�6�=�$�2D�E�E�
�����
�v�}�j�A�A�A�����	�
�!$�!1�#�2B�!C�!C������� 0�#�2B� $��0�0�0�0�0���9�
�
�
����
����	�	s�AB4�4C�Cc��dSrr)�signum�frames  rr?zPtyTest.handle_sighupjs���rc���	tjtj��}n&#tj$rtd��d}YnwxYwd}|jr�	td��td|j����|jddz|jddzf}td|����tjtj|��tjtj��}|�	||d��n$#t$rtjd��YnwxYw	td	��	tj
||d
��\}}}n(#t$rtj
��\}}d}YnwxYwtd|�d|�d
|����n"#t$rtjd���wxYw|�t$j|��|�t$j|��|�t%j|��d��|r)|�	tj|��|d��|r)|�	tj|��|d��t%j|��}	t%j|d��	t%j|d��}|�	d|��n-#t$r }	|	jt2jkr�Yd}	~	nd}	~	wwxYwt%j||��n#t%j||��wxYwtd��t7|t8��t;|��}|�	dt=|����td��t7|t>dd���t7|t>dd���t;|��}
|�	dt=|
����dS)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_openptynsc��	��=��!1�2�2�D�D���y�	�	�	��:�;�;�;��D�D�D�	����
���>�	�
��=�>�>�>��E�T�^�E�E�F�F�F�"�n�Q�/�!�3�T�^�A�5F��5J�K�
��?�:�?�?�@�@�@�� ��!1�:�>�>�>��*�3�+;�<�<��� � ��*�!I�K�K�K�K���
�
�
��
�K�L�L�L���
����	T��)�*�*�*�
"�25�+�d�G�>B�3D�3D�/�	�8�Z�Z���
"�
"�
"�&)�k�m�m�#�	�8�!�
�
�
�
"����
�A��A�A�x�A�A�J�A�A�B�B�B�B���	T�	T�	T��#�$R�S�S�S�	T����	
�����)�,�,�,������(�+�+�+�����	�(�+�+�-D�E�E�E��	F����S�]�8�4�4�d�D�
F�
F�
F��	J����S�-�h�7�7��H�
J�
J�
J��?�9�-�-��
	1��O�I�u�-�-�-�
��W�Y��-�-��� � ��b�)�)�)�)���
�
�
��7�e�l�*�*��+�*�*�*�*�����
����

�O�I�x�0�0�0�0��B�O�I�x�0�0�0�0����
�#�$�$�$��(�M�*�*�*�
�y�
!�
!�����;�)�"�-�-�	/�	/�	/�	�&�'�'�'��(�M�"�1�"�-�.�.�.��(�M�!�"�"�-�.�.�.�
�y�
!�
!�����4�6F�r�6J�6J�K�K�K�K�Ks��!� A�A�B,C>�>D�D�#F�3E�
F�"E3�0F�2E3�3F�F.�L	�+K�L	�
K0�K+�&L	�+K0�0L	�	L c��td��tj��\}}|�tj|��|tjkr�t	jd��s#td��t	jd��td��	t	j	��td��t	jd��n^#t$rtd��YnCt$rtd	��Yn)td
��t	jd��YnxYwt	jd��dStd|z��		t	j|d��}n#t$rYnJwxYw|snCtj�t!|�dd��d������mt	j|d��\}}t	j|��}td|||fz��|dkr|�d��dS|dkr|�d��dS|dkr|�d��dS|dkr|�d��dSdS)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.T�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�Q�<�<�
��3�4�4�4�������
�1�2�2�2�
��	����"�5�6�6�6���������#�
�
�
��1�2�2�2���!�
�
�
��.�/�/�/���
�
�7�8�8�8������������
�H�Q�K�K�K�K�K��5��;�<�<�<�
8���7�9�b�1�1�D�D�������E���������
� � ��T�\�\�'�5�%A�%A�.5�"7�"7�"7�8�8�8�
8� �J�s�A�.�.�M�S�&��+�F�3�3�C��?�3��V�BT�T�U�U�U��a�x�x��	�	�O�P�P�P�P�P������	�	�M�N�N�N�N�N������	�	�T�U�U�U�U�U������	�	�B�C�C�C�C�C��s*�C�D/�/D/�	$D/�E2�2
E?�>E?c��td��tj��\}}td|�d|�d���|�tj|��td��t	j|��td��	t	j|d��}n#t$rd}YnwxYw|�|d��dS)	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�m�m��	�8�
�C�	�C�C��C�C�C�D�D�D������)�,�,�,�
� �!�!�!�
������
�&�'�'�'�	��7�9�a�(�(�D�D���	�	�	��D�D�D�	����	
����s�#�#�#�#�#s�B%�%B4�3B4c���|�tt��ttd��5}d}t	j|��}t	j|���|��d��fd�}	tj	tjddg|��t	j||��t	j|��n.#t	j||��t	j|��wxYw	ddd��n#1swxYwY|�
�d��ttd��5}|�
|���d��ddd��dS#1swxYwYdS)	N�wbrLrc�<��tj|d��}�|z
�|S)NrN)r4r\)r&r�bufs  �r�master_readz3PtyTest.test_spawn_doesnt_hang.<locals>.master_read.s"����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�A�H�H�J�J�
�.�.�.��C�
�
�
�
�
�

%��	�3�>�4�1D�E�%�'�'�'���
�M�2�2�2����$�$�$�$����
�M�2�2�2����$�$�$�$����$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%� 	
����o�.�.�.�
�&�$�
�
�	8�1����Q�V�V�X�X��7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s<�AD�="C	�*D�	+C4�4D�D�D�:)E0�0E4�7E4N)�__name__�
__module__�__qualname__rG�staticmethodr?r2rjr�r�r�rrrr;r;[s�����������
�
��\�
�!�QL�QL�!� �QL�fHD�HD�HD�d$�$�$�&8�8�8�8�8rr;c�H�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�
SmallPtyTestsz)These tests don't spawn children or hang.c��tj|_tj|_tj|_tj|_tj	|_
tj|_tj
|_tj|_tj|_tj|_g|_g|_g|_g|_d|_dSr)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���"%�"3���!�i���!�i��� �X���"�z���"�z���"%�-���"%�-��� #���������
�������&*��#�#�#rc��|jt_|jt_|jt_|jt_|j	t_
|jt_|j
t_|jt_|jt_|jt_|jD]'}	|����#t,$rY�$wxYw|jD]'}	t1j|���#t,$rY�$wxYwdSr)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��� �3����'��	��'��	��%����)��
��)��
��/��
��/��
��+����J�	�	�D�
��
�
�������
�
�
���
�����(�	�	�B�
����������
�
�
���
����	�	s$�5C
�

C�C�$C9�9
D�Dc�`�tj��}|j�|��|Sr)r4�piper��extend)rE�pipe_fdss  r�_pipezSmallPtyTests._pipegs&���7�9�9�������!�!�!��rc�`�tj��}|j�|��|Sr)�socket�
socketpairr�r�)rEr�s  r�_socketpairzSmallPtyTests._socketpairls,���&�(�(�
��
���*�%�%�%��rc��|�|||f|j�d����|j�d��S)Nr)rPr��popr�)rE�rfds�wfds�xfdss    r�_mock_selectzSmallPtyTests._mock_selectqsG�����$��d�+�T�->�-B�-B�1�-E�-E�F�F�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��||_dSr)r�)rEr��optr!s    r�_mock_tcsetattrzSmallPtyTests._mock_tcsetattr{s��&*��#�#�#rc��|���\}}|t_|���\}}|t_|���}d�|D��}t|dd��t|d��|jt_|j�	||dgggf��|j
�	||dgggf��|j�	||dg||dggf��|j
�	g||dggf��|j�	||dgggf��|�t��5tj
|d��ddd��n#1swxYwYtj||dgggd��d}|�||dg|��|�tj|d��d��|�tj|dd��d��dS)z6Test the normal data case on both master_fd and stdin.c�6�g|]}|�����Sr)r�)�.0�ss  r�
<listcomp>z4SmallPtyTests.test__copy_to_each.<locals>.<listcomp>�s ��2�2�2�!�1�8�8�:�:�2�2�2rrLsfrom masters
from stdinrN�)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��mastersr�s        r�test__copy_to_eachz SmallPtyTests.test__copy_to_each~sq��.2�j�j�l�l�+��^�*���+/�:�:�<�<�(�
�(�(����%�%�'�'�
�2�2�z�2�2�2��	�'�!�*�n�-�-�-��#�]�3�3�3��&��
��� � �=�'�!�*�"=�r�2�!F�G�G�G���!�!�M�7�1�:�#>��B�"G�H�H�H��� � �=�'�!�*�"=��PW�XY�PZ�?[�]_�!`�a�a�a���!�!�2����
�'C�R�"H�I�I�I��� � �=�'�!�*�"=�r�2�!F�G�G�G�
�
�
�z�
*�
*�	"�	"��I�g�a�j�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��}�1�7�1�:�>��B��J�J�1�M�����-�w�q�z�:�D�A�A�A������!4�b�9�9�>�J�J�J���������R�0�0�-�@�@�@�@�@s�9F � F$�'F$c����|�d��t_t����fd�t_d�t_d�t_t����fd�t_|jt_	d�t_
|�tjg���d��|�|j
�d��d	S)
zCTest that spawn resets the tty mode no when _copy returns normally.rLc���d�gSrr)�_1�_2�status_sentinels  �r�<lambda>zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s���d�O�%<�rc��dSrr��_s rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��d�rc��dSrr)r�r��_3s   rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��t�rc����Srr)r&�
mode_sentinels �rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s���=�rc��dSrrr�s rr�zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>�s��t�rz4pty.waitpid process status not returned by pty.spawnz1pty.tcsetattr not called with original mode valueN)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�����
�'�'��*�*��� �(�(��<�<�<�<���"�N��	�+�+��	����
�0�0�0�0��
��,��
�#�^��
������2����9o�p�p�p�����4�m�Ex�y�y�y�y�yrN)
r�r�r��__doc__rGr�r�r�r�r�r�r�r�rrrr�r�=s�������3�3�+�+�+�"���,���
���
)�)�)�
���
+�+�+�A�A�A�<z�z�z�z�zrr�c�"�t��dSr)rrrr�tearDownModuler��s���O�O�O�O�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�1�1�1�1�1�1�1�4�4�4�4�4�4��
�i�����
�g��������	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�	�	�	�	���������2�
�+�
��g�c�<�(�(�G�W�W�S�,�-G�-G��
�
�����
�
�
����(���
���2�2�2�`8�`8�`8�`8�`8�h��`8�`8�`8�Drz�rz�rz�rz�rz�H�%�rz�rz�rz�j����z����H�M�O�O�O�O�O��r

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