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_binascii.cpython-310.opt-1.pyc
o

�iM�@s�dZddlZddlZddlZddlZddlmZmZmZm	Z	gd�Z
gd�Zee
ddgZGdd	�d	ej
�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�dej
�Zedkrbe��dSdS)zTest the binascii C module.�N)�
bigmemtest�_1G�_4G�warnings_helper)�
b2a_base64�b2a_hex�b2a_hqx�b2a_qp�b2a_uu�hexlify�rlecode_hqx)�
a2b_base64�a2b_hex�a2b_hqx�a2b_qp�a2b_uu�	unhexlify�
rledecode_hqx�crc32�crc_hqxc@seZdZeZdZeeed��7Zed7Zdd�Zdd�Zdd	�Z	e
jed
�dd��Z
d
d�Zdd�Zdd�Zdd�Ze
jed
�dd��Zdd�Ze
jed
�dd��Ze
jed
�dd��Zdd�Zdd �Zd!d"�Ze
jed
�d#d$��Zd%d&�Ze
jed
�d'd(��Zd)d*�Zd+d,�Zd-S).�BinASCIITests.The quick brown fox jumps over the lazy dog.
�s
Hello world.
cCs|�|j�|_dS�N)�	type2test�rawdata�data��self�r�//usr/local/lib/python3.10/test/test_binascii.py�setUpszBinASCIITest.setUpcCs(|�ttjt��|�ttjt��dSr)�
assertTrue�
issubclass�binascii�Error�	ExceptionZ
Incompleterrrr�test_exceptionsszBinASCIITest.test_exceptionscCs6tD]}|�ttt|�d��|�ttt|��qdS)N�__call__)�
all_functionsr!�hasattr�getattrr#�assertRaises�	TypeError)r�namerrr�test_functions#s�zBinASCIITest.test_functions)�categorycCsd}|jd|�}ttt�D]d\}}tt|�}tt|�}z||�|��}||�|��}WntyH}	z|�d�	|||	��WYd}	~	nd}	~	ww|dkrQ|\}}
|�
||d�	||||��|�|t�|�|t�|�
t|�d�q|�t�|d�t�|�t�|�t�dS)N�-�{}/{} conversion raises {!r}r�{}/{} conversion: {!r} != {!r}�r)r�zip�
a2b_functions�
b2a_functionsr*r#rr%�fail�format�assertEqual�assertIsInstance�bytesZ
assertLess�maxr�intr)r�MAX_ALL�raw�fa�fb�a2b�b2a�a�res�err�_rrr�test_returned_value)s,

 ��
�z BinASCIITest.test_returned_valuecCs�d}g}tdt|j�|�D]}|�|j|||��}t�|�}|�|�q
t�}|D]}|�|�}t�|�}||7}q+|�	||j�dS)N�9r)
�range�lenrrr#r�appendr;r
r9)r�
MAX_BASE64�lines�i�brDrE�linerrr�test_base64validAs



zBinASCIITest.test_base64validc
s�d}g}tdt|j�|�D]}|�|j|||��}t�|�}|�|�q
t��d}td�D]}||vr:��|�q/�fdd�}t�}t	||�D]}	|�|	�}t�
|�}||7}qI|�||j�|�t�
|����d�dS)NrIrs@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/rcs��}t|�t|�}t�}|r;|r;t|�t|�|kr'|d|dd�}}n|d|dd�}}|�|�|r;|s|||S)Nr�)rK�	bytearrayrL)rQZnoiseZratiorE�c�Zfillersrr�addnoise_s
�z1BinASCIITest.test_base64invalid.<locals>.addnoise�)rJrKrrrr#rrLrT�mapr
r9)
rrMrNrOrPrDZvalidrWrErQrrVr�test_base64invalidPs(

�


zBinASCIITest.test_base64invalidcs��fdd�}|d�|d�|d�|d�|d�|d�|d	�|d
��fdd�}|d
�|d�|d�|d�|d�|d�|d�dS)NcsD��tjd��t���|��Wd�dS1swYdS)Nz(?i)Incorrect padding)�assertRaisesRegexr#r$r
r)rrrr�assertIncorrectPaddingws"�z>BinASCIITest.test_base64errors.<locals>.assertIncorrectPaddingsabsab=�abcsabcdefsabcdef=sabcdefgsa=b=sa
b=csbtt�dd|��}dt|�}��tj|��t���|��Wd�dS1s*wYdS)Ns[^A-Za-z0-9/+]rXz((?i)Invalid.+number of data characters.+)	rK�re�sub�strr[r#r$r
r)rZn_data_charsZexpected_errmsg_rerrr�assertInvalidLength�s
�"�z;BinASCIITest.test_base64errors.<locals>.assertInvalidLength�asa=sa==sa===saaaaas]aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
A	B
C ??DEr)rr\rarrr�test_base64errorsus"zBinASCIITest.test_base64errorsc	Cs�d}dD]E}g}tdt|j�|�D]}|�|j|||��}tj||d�}|�|�qt�}|D]}|�|�}t�	|�}||7}q1|�
||j�q|�
t�	d�d�|�
t�	d�d�|�
t�	d	�d�|�tjtj	d
�|�tjtj	d�|�tjtjd�|�
t�d
�d�|�
t�d�d�|�
tjddd�d�|�
t�	d�d�|�
t�	d�d�|�
t�d�d�|�
tjddd�d�|�
t�	d�t�	d��|�t
��t�dd�Wd�dS1s�wYdS)Nr0)TFr)�backtick�s��s ��s�s!!!!s.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!�xs!>   
rXs 
Ts`
sCats
$ $-A=   
s
$`$-A=```
)rJrKrrrr#r
rLr;rr9r+r$r,)	rZMAX_UUrdrNrOrPrDrErQrrr�test_uu�sD


��"�zBinASCIITest.test_uucCs�t�|�d�d�}t�|�d�|�}|�|d�|�ttj�|�ttj|�d��dD]}|�t�|�d�|�|d@�q,dS)N�Test the CRC-32 ofr�
 this string.i�7rX)rrSi4iE#ixV4���i��)r#rrr9r+r,�r�crcrrr�test_crc_hqx�s��zBinASCIITest.test_crc_hqxcCs@t�|�d��}t�|�d�|�}|�|d�|�ttj�dS)Nrjrkij�])r#rrr9r+r,rmrrr�
test_crc32�szBinASCIITest.test_crc32cCsLt�|j�}t�|�|��}t�|�|��\}}t�|�}|�||j�dSr)	r#rrrrrrr9r)rZrlerDrPrGrErrr�test_hqx�s

zBinASCIITest.test_hqxcCs4d}t�|�}|�|d�t�|�}|�||�dS)Ns�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccs
a�dbc��c�-)r#rr9r)rr�encodedZdecodedrrr�test_rle�s
�
zBinASCIITest.test_rlecCs�d}t�|�|��}t�|�|��}|�||�|�tjtj|dd��|�tjtj|dd�d�|�tjtjtddg��|�tjtjd�|�tjtjd�|�tjtjd�|�tjtjd�|�t�|�|��|�|�t�	|�|��|�dS)	N� {sworldishelloi0rl�q�s0Gs0gsG0sg0)
r#rrrr9r+r$r;rr)r�s�t�urrr�test_hex�szBinASCIITest.test_hexcCs�d}|�t�|�|��|���d��|�dd��d�}|�t�|�|�dd�|�|�d��d�}|�t�|�|�d�|�dS)z?Test that hexlify and b2a_hex are binary versions of bytes.hex.rt�ascii�.��:N)r9r#rr�hex�encoder)rrwZ	expected8Z	expected1rrr�test_hex_separator�s"zBinASCIITest.test_hex_separatorcCs�|j}tj}tj}|ddd�z|dUiddi��Wn	ty#Ynw|�d�|�||d��d�|�||d��d�|�||d��d�|�||d	��d
�|�||d��d
�|�||d��d�|�||d
��d�|�||d��d�|�||d��d�|�||d��d�|�||d��d�|�||d�dd��d�|�||d��d�|�||d�dd�d�|jt|dd�|�||d��d�|�||d��d�|�||d ��d!�|�||d"��d#�|�||d��d$�|�||d��d�|�||d�dd�d%�|�||d&�dd�d'�|�||d(�dd�d)�|�||d&�ddd*�d+�|�||d,�dd�d,�|�||d��d-�|�||d.��d/�|�||d0��d0�|�||d1��d1�|�||d0�dd��d-�|�||d1�dd��d/�|�||d2��d3�|�||d4��d5�|�||d4�dd6�d5�|�||d7��d7�|�||d7�dd6�d8�|�||d7�dd9�d7�|�||d:��d;�|�||d:�dd6�d;�|�||d:�dd9�d<�|�||d=��d=�|�||d=�dd6�d>�|�||d=�dd9�d?�|�||d@��dA�|�||d@�dd6�dA�|�||d@�dd9�dB�|�||dC�dd��dD�|�||dE�dd��dF�|�||dC�dd�dd6�dG�|�||dE�dd�dd6�dH�|�||dC�dd�dd9�dI�|�||dE�dd�dd9�dJ�|�||dK��dL�|�||dM��dN�|�||dO��dP�|�||dQ��dR�|�||dS��dS�|�||dT�dd��dL�dS)VNrXF)r�headerrSz/binascii.a2b_qp(**{1:1}) didn't raise TypeError�=s= s==s=
ABsABs=
ABs=
ABs=
AB
CDsCDs=AB��s=abs=AXs=XArls=A�_T)r�� Zbar)Zfoos=00
=00s
s�
�
�s
=FF
=FF
=FFsR000000000000000000000000000000000000000000000000000000000000000000000000000�
�
�s[000000000000000000000000000000000000000000000000000000000000000000000000000=
=FF
=FF
=FFres=7Fs=3Ds=5Fsx ysx_ysx sx=20)r��	quotetabssx=20ysx	ys=20�	s=09s xs	x�s=00s
s=00
)r�sx y	zs	x=20y=09z)�istextsx 
y	
s
x=20
y=09
s
x =0Ay	=0Asx 
y	
s
x=20
y=09
s
x =0Dy	=0Dsx 
y	
sx=20
y=09
sx =0D=0Ay	=0D=0Asx 
sx 
sx	
sx	
sx=20
sx=09
sx =0Dsx	=0D�.s=2Es.
s=2E
s.
s=2E
s.s=2E=00sa.
s.a)rX)rr#rr	r,r7r9r+)rrrr	rrr�test_qps��
������������������ zBinASCIITest.test_qpcCs||�d�}tD]4}|dkrt�|d�qtt|�}z||�Wqty;}z|�d�|||��WYd}~qd}~wwdS)NrXrrz{}({!r}) raises {!r})rr(r#rr*r%r7r8)r�empty�func�frFrrr�test_empty_stringks

 ���zBinASCIITest.test_empty_stringcCs�tt�tt�dhBD])}z|�ttt|�d�Wqty4}z|�d�	||��WYd}~qd}~ww|�ttj
dd�dS)Nr�testz{}("test") raises {!r}r)�setr(r5r+r,r*r#r%r7r8r)rr�rFrrr�test_unicode_b2azs��zBinASCIITest.test_unicode_b2acCsd}|jd|�}ttt�D]r\}}|dkrqtt|�}tt|�}z||�|��}||�}|�d�}||�}	WntyS}
z|�	d�
|||
��WYd}
~
nd}
~
ww|dkr`|	\}	}|\}}|�|	|d�
|||	|��|�|	|�|�|	t
�|�t|d�qdS)Nr0rr{r1rr2�€)rr4r5r6r*r#r�decoder%r7r8r9r:r;r+�
ValueError)rr>r?r@rArBrCrDZ
binary_resrErFrGrrr�test_unicode_a2b�s4


 ��
��zBinASCIITest.test_unicode_a2bcCsL|�d�}|�t�|�d�|�tj|dd�d�|�tj|dd�d�dS)Nshellos	aGVsbG8=
T)�newlineFsaGVsbG8=)rr9r#r)rrPrrr�test_b2a_base64_newline�s
���z$BinASCIITest.test_b2a_base64_newlinecCs�|�t��|�t�d�d�Wd�n1swY|�t��|�t�d�d�Wd�n1s7wY|�t��|�t�d�d�Wd�n1sUwY|�t��|�t�d�d�Wd�dS1stwYdS)Nr]sB@*M)r]rs
aaaaaaaaaasa�
)ZassertWarns�DeprecationWarningr9r#rrrrrrrr�test_deprecated_warnings�s���"�z%BinASCIITest.test_deprecated_warningsN)�__name__�
__module__�__qualname__r;rrrJr r&r.rZignore_warningsr�rHrRrZrcrirorprqrsrzr�r�r�r�r�r�r�rrrrrs>

%
%






f




rc@seZdZdd�ZdS)�ArrayBinASCIITestcCst�dt|��S)N�B)�array�list)rrwrrrr�szArrayBinASCIITest.type2testN)r�r�r�rrrrrr��sr�c@�eZdZeZdS)�BytearrayBinASCIITestN)r�r�r�rTrrrrrr���r�c@r�)�MemoryviewBinASCIITestN)r�r�r��
memoryviewrrrrrr��r�r�c@s*eZdZdZeedddd�dd��ZdS)	�ChecksumBigBufferTestCasez<bpo-38256 - check that inputs >=4 GiB are handled correctly.�rSF)�sizeZmemuse�dry_runcCs"dtd}|�t�|�d�dS)NsnyanrSiM"B>)rr9r#r)rr�rrrr�test_big_buffer�sz)ChecksumBigBufferTestCase.test_big_bufferN)r�r�r��__doc__rrr�rrrrr��sr��__main__)r�Zunittestr#r�r^Ztest.supportrrrrr6r5r(ZTestCaserr�r�r�r�r��mainrrrr�<module>s()	�