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.opt-2.pyc
o

�i�#�@s�	ddlZddlmZddlZddlZddlZddlZddlZdZdZ	Gdd�dej
�Zddd	�ZGd
d�dej
�ZGdd
�d
ej
�ZGdd�dej
�ZedkrVe��dSdS)�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,eZdZ			d	�fdd�	Zdd�Z�ZS)
�FakeIO��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__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)TFr1r0r3sMUUencoded files may contain many lines,
even some that have 'begin' in them.
)r
rr.r5rr7rr4)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(r5r�fail�Errorr7r�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
rr5rr?r@r7rrArrr�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
rr5rr7r�codecs)	rZencodedtext1Zencodedtext2r4r(r:r;rIZdecodedrrr�test_garbage_paddingms&��
����zUUTest.test_garbage_paddingcCs<t�t�}t��}d}d}t�|||�|�||���dS)Nztest.txt

overflow.txtstest.txt\n\roverflow.txt)r
rr4r5r6ZassertInr)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
)	ZassertRaisesRegexr5r@rr
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=rCrErJrKrPrrrrr/:s			r/c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�UUStdIOTestcCstj|_tj|_dSr)�sys�stdin�stdoutrrrr�setUp��zUUStdIOTest.setUpcCs|jt_|jt_dSr)rSrRrTrrrr�tearDown�rVzUUStdIOTest.tearDowncCsJtt�d��t_t�t_t�dddd�|�tj�	�t
dd��d��dS)Nr$�-r0r1)rr4rrRrSrTr5r6r7rr.rrrrr<�s�zUUStdIOTest.test_encodecCsZttdd��d��t_t�t_t�dd�tj}|jt_|jt_|�|��t	�d��dS)Nr1r0r$rX)
rr.rrRrSrTr5r7rr4)rrTrrrr=�szUUStdIOTest.test_decodeN)r r!r"rUrWr<r=rrrrrQ�s
rQc@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�unlinkrrrrrU�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�rbr2)r*)
�openr\rr4r]r5r6�readr7r.)rZfinZfout�srrrr<�s$����
�
�zUUFileTest.test_encodecCs�t|jd��}|�td|j��Wd�n1swYt|jd��
}t�|�Wd�n1s5wYt|jd��}|��}Wd�n1sOwY|�|t	�dS�Nr`r2ra�
rbr\rr.r]r5rrcr7r4�r�frdrrrr=�s��
�zUUFileTest.test_decodecCs�t|jd��}|�td|j��Wd�n1swYt�|j�t|jd��}|��}Wd�n1s:wY|�|t	�dSrerfrgrrr�test_decode_filename�s�
�zUUFileTest.test_decode_filenamecCs�t|jd��}|�td|j��Wd�n1swYt|jd��
}t�|�Wd�n1s5wYt|jd��}|�tjtj|�Wd�dS1sUwYdSre)	rbr\rr.r]r5rr8r@)rrhrrr�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$r`ra)rbr\rr.r]r^rN�chmod�stat�S_IWRITEr5rr7�S_IMODE�st_mode)rZ
expected_moderhrrr�test_decode_modes���zUUFileTest.test_decode_modeN)	r r!r"rUr<r=rirjrprrrrrY�s

rY�__main__)F)ZunittestZtest.supportrrNrlrRr5r
r4r(�
TextIOWrapperrr.ZTestCaser/rQrYr �mainrrrr�<module>s$
	vM�