HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_uu.cpython-310.pyc
o

�i�#�@s�dZddlZddlmZddlZddlZddlZddlZddlZdZ	dZ
Gdd�dej�Zdd	d
�Z
Gdd�dej�ZGd
d�dej�ZGdd�dej�ZedkrWe��dSdS)z%
Tests for uu module.
Nick Mathewson
�N)�	os_helpers7The symbols on top of your keyboard are !@#$%^&*()_+|~
sOM5&AE('-Y;6)O;',@;VX@=&]P(&]F('EO=7(@:V5Y8F]A<F0@87)E("% (R0E
*7B8J*"E?*WQ^"@  cs.eZdZdZ		d
�fdd�	Zdd	�Z�ZS)�FakeIOz�Text I/O implementation using an in-memory buffer.

    Can be a used as a drop-in replacement for sys.stdin and sys.stdout.
    ��utf-8�strict�
csZtt|�jt��|||d�||_||_|r+t|t�st|�}|�	|�|�
d�dSdS)N)�encoding�errors�newliner)�superr�__init__�io�BytesIO�	_encoding�_errors�
isinstance�str�write�seek)�selfZ
initial_valuerr	r
��	__class__��)/usr/local/lib/python3.10/test/test_uu.pyrs�

�zFakeIO.__init__cCs|��|j���|j|j�S�N)�flush�buffer�getvalue�decoderr�rrrrr,szFakeIO.getvalue)rrrr)�__name__�
__module__�__qualname__�__doc__rr�
__classcell__rrrrrs�rFcCsH|rtd||fd�t�dd�d}|Std||fd�td}|S)Nzbegin %03o %s
�ascii� �`s
`
end
s
 
end
)�bytes�encodedtext�replace)�mode�filename�backtick�resrrr�encodedtextwrapped1s
�����r/c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�UUTestcCs�t�t�}t��}t�||d�|�|��tdd��t�t�}t��}t�||dd�|�|��tdd��t�t�}t��}tj||ddd�|�|��tddd��|�t	��t�||ddd�Wd�dS1sowYdS)N�t1��T�r-)
r
r�	plaintext�uu�encode�assertEqualrr/�assertRaises�	TypeError)r�inp�outrrr�test_encode<s


"�zUUTest.test_encodec	Cs�dD]<}t�tdd|d��}t��}t�||�|�|��t�t�dtdd|d��}t��}t�||�|�|��t�qdS)N)TFr2r1r4sMUUencoded files may contain many lines,
even some that have 'begin' in them.
)r
rr/r6rr8rr5)rr-r;r<rrr�test_decodeLs���zUUTest.test_decodec
Cslt�dt�}t��}zt�||�|�d�WdStjy5}z|�t|�d�WYd}~dSd}~ww)Ns
begin 644 t1
�No exception raisedzTruncated input file)	r
rr)r6r�fail�Errorr8r�rr;r<�errr�test_truncatedinput[s��zUUTest.test_truncatedinputc
Csht�d�}t��}zt�||�|�d�WdStjy3}z|�t|�d�WYd}~dSd}~ww)N�r?z'No valid begin line found in input file)r
rr6rr@rAr8rrBrrr�test_missingbeginds
��zUUTest.test_missingbeginc		Cs�d}d}d}||fD]U}|�d��!t�|�}t��}tj||dd�|�|��|�Wd�n1s5wY|�d��ddl}|�|d�}|�||�Wd�n1sZwYq
dS)	Nsbegin 644 file
!,___
 
end
sbegin 644 file
!,___
`
end
�3zuu.decode()T)�quiet�uu_codecr)ZsubTestr
rr6rr8r�codecs)	rZencodedtext1Zencodedtext2r5r)r;r<rJZdecodedrrr�test_garbage_paddingms&��
����zUUTest.test_garbage_paddingcCs<t�t�}t��}d}d}t�|||�|�||���dS)Nztest.txt

overflow.txtstest.txt\n\roverflow.txt)r
rr5r6r7ZassertInr)rr;r<r,Zsafefilenamerrr�test_newlines_escaped�s
zUUTest.test_newlines_escapedcCs.d}|�tjd��t�t�|��Wd�n1swYtjrI|�dd�}|�tjd��t�t�|��Wd�n1sDwYd}|�tjd��t�t�|��Wd�n1sewYtjr�|�dd�}|�tjd��t�t�|��Wd�dS1s�wYdSdS)Ns<begin 644 ../../../../../../../../tmp/test1
$86)C"@``
`
end
Z	directory�/�\s%begin 644 /tmp/test2
$86)C"@``
`
end
)	ZassertRaisesRegexr6rArr
r�os�altsepr*)rZrelative_badZrelative_bad_bsZabsolute_badZabsolute_bad_bsrrr�test_no_directory_traversal�s&���"��z"UUTest.test_no_directory_traversalN)
r r!r"r=r>rDrFrKrLrQrrrrr0:s			r0c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�UUStdIOTestcCstj|_tj|_dSr)�sys�stdin�stdoutrrrr�setUp��zUUStdIOTest.setUpcCs|jt_|jt_dSr)rTrSrUrrrr�tearDown�rWzUUStdIOTest.tearDowncCsJtt�d��t_t�t_t�dddd�|�tj�	�t
dd��d��dS)Nr%�-r1r2)rr5rrSrTrUr6r7r8rr/rrrrr=�s�zUUStdIOTest.test_encodecCsZttdd��d��t_t�t_t�dd�tj}|jt_|jt_|�|��t	�d��dS)Nr2r1r%rY)
rr/rrSrTrUr6r8rr5)rrUrrrr>�szUUStdIOTest.test_decodeN)r r!r"rVrXr=r>rrrrrR�s
rRc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
UUFileTestcCs<tjd|_tjd|_|�tj|j�|�tj|j�dS)N�i�o)rZTESTFN_ASCII�tmpin�tmpout�
addCleanup�unlinkrrrrrV�szUUFileTest.setUpc	CsNt|jd��
}|�t�Wd�n1swYt|jd��(}t|jd��}tj|||jdd�Wd�n1s=wYWd�n1sLwYt|jd��}|��}Wd�n1sfwY|�|t	d|j��tj|j|j|jdd�t|jd��}|��}Wd�n1s�wY|�|t	d|j��dS)N�wb�rbr3)r+)
�openr]rr5r^r6r7�readr8r/)rZfinZfout�srrrr=�s$����
�
�zUUFileTest.test_encodecCs�t|jd��}|�td|j��Wd�n1swYt|jd��
}t�|�Wd�n1s5wYt|jd��}|��}Wd�n1sOwY|�|t	�dS�Nrar3rb�
rcr]rr/r^r6rrdr8r5�r�frerrrr>�s��
�zUUFileTest.test_decodecCs�t|jd��}|�td|j��Wd�n1swYt�|j�t|jd��}|��}Wd�n1s:wY|�|t	�dSrfrgrhrrr�test_decode_filename�s�
�zUUFileTest.test_decode_filenamecCs�t|jd��}|�td|j��Wd�n1swYt|jd��
}t�|�Wd�n1s5wYt|jd��}|�tjtj|�Wd�dS1sUwYdSrf)	rcr]rr/r^r6rr9rA)rrirrr�test_decodetwice�s��"�zUUFileTest.test_decodetwicecCs�d}t|jd��}|�t||j��Wd�n1swY|�tj|j|tj	B�t|jd��
}t
�|�Wd�n1sCwY|�t�
t�|j�j�|�dS)Ni$rarb)rcr]rr/r^r_rO�chmod�stat�S_IWRITEr6rr8�S_IMODE�st_mode)rZ
expected_moderirrr�test_decode_modes���zUUFileTest.test_decode_modeN)	r r!r"rVr=r>rjrkrqrrrrrZ�s

rZ�__main__)F)r#ZunittestZtest.supportrrOrmrSr6r
r5r)�
TextIOWrapperrr/ZTestCaser0rRrZr �mainrrrr�<module>s$
	vM�