python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_binascii.cpython-311.pyc

ezM4dZddlZddlZddlZddlZddlmZmZmZm	Z	gdZ
gdZee
zddgzZGdd	ej
ZGd
deZGdd
eZGddeZGddej
ZedkrejdSdS)zTest the binascii C module.N)
bigmemtest_1G_4Gwarnings_helper)
b2a_base64b2a_hexb2a_qpb2a_uuhexlify)
a2b_base64a2b_hexa2b_qpa2b_uu	unhexlifycrc32crc_hqxceZdZeZdZeeedz
Zedz
ZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdS)BinASCIITests.The quick brown fox jumps over the lazy dog.
s
Hello world.
cD||j|_dSN)	type2testrawdatadataselfs F/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_binascii.pysetUpzBinASCIITest.setUpsNN4<00			c|ttjt|ttjtdSr)
assertTrue
issubclassbinasciiError	Exception
Incompleters rtest_exceptionszBinASCIITest.test_exceptionssE
8>9==>>>
8#6	BBCCCCCrc	tD]f}|ttt|d|ttt|gdS)N__call__)
all_functionsr!hasattrgetattrr#assertRaises	TypeError)rnames  rtest_functionszBinASCIITest.test_functions#sh!	B	BDOOGGHd$;$;ZHHIIIi4)@)@AAAA	B	Brcd}|jd|}tttD]5\}}t	t
|}t	t
|}	|||}|||}nA#t$r4}	|d	|||	Yd}	~	nd}	~	wwxYw|
||d	||||||t||t|
t|d7|tj|dt |tj|t dS)N-{}/{} conversion raises {!r}{}/{} conversion: {!r} != {!r}r)rzip
a2b_functions
b2a_functionsr,r#rr%failformatassertEqualassertIsInstancebytes
assertLessmaxrintr)
rMAX_ALLrawfafba2bb2aareserrs
          rtest_returned_valuez BinASCIITest.test_returned_value)sl8G8$-77	)	)FB(B''C(B''C
NCs++,,c$..++,,
N
N
N		8??BLLMMMMMMMM
NS#(,,2F2r3,D,D
F
F
F!!#u---!!!U+++OOCFFC((((h.sA66<<<hnS11377777s<B
C$*CCcd}g}tdt|j|D]P}||j|||z}t	j|}||Qt}|D]0}||}t	j|}||z
}1|	||jdS)N9r)
rangelenrrr#rappendr=rr;)r
MAX_BASE64linesibrGrHlines        rtest_base64validzBinASCIITest.test_base64valid=s
q#dl++Z88		At|Aa
lN;<<A#A&&ALLOOOOgg		Dt$$A#A&&A1HCCdl+++++rc
d}g}tdt|j|D]P}||j|||z}tj|}||Qt
d}tdD]}||vr
|
fd}t}t||D]0}	||	}tj
|}||z
}1|||j|tj
|
ddS)NrLrs@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/rc<}t|t|z}t}|rc|rat|t|z|kr|d|dd}}n|d|dd}}|||r|a||z|zS)Nr)rN	bytearrayrO)rTnoiseratiorHcfillerss     raddnoisez1BinASCIITest.test_base64invalid.<locals>.addnoise[sEIIU+E++C
5
t99E

*U22"1gtABBxtAA$QxqrruA

1



5
;%%rr)rMrNrrrr#rrOrYmaprr;)rrPrQrRrSrGvalidr^rHrTr]s          @rtest_base64invalidzBinASCIITest.test_base64invalidLsh
q#di..*55		At|Aa
lN;<<A#A&&ALLOOOO++Ss	"	"A~~q!!!
	&
	&
	&
	&
	&kk%((		Dt$$A#A&&A1HCCdl+++	
,T^^G-D-DEEsKKKKKrcdtdtdtffddtffd}dtffd}dtffd}dtffd}|d	d
|dd
|dd
|d
d|dd|dd
|dd
|dd
|dd
|dd
|dd|dd|dd|dd|dddS)Nassert_regexrnon_strict_mode_expected_resultctj|5tj|ddddn#1swxYwYtj|d|tj||dS)NT)strict_modeF)assertRaisesRegexr#r$rrr;)rcrrdrs   r_assertRegexTemplatezBBinASCIITest.test_base64_strict_mode.<locals>._assertRegexTemplatess''EE
L
L#DNN4$8$8dKKKK
L
L
L
L
L
L
L
L
L
L
L
L
L
L
LX01E1ESXYYY<
>
>
>X01E1EFF<
>
>
>
>
>s*AAAc"d||dS)Nz(?i)Excess datarrdrhs  rassertExcessDataz>BinASCIITest.test_base64_strict_mode.<locals>.assertExcessData{s   !3T;Z[[[[[rc"d||dS)Nz(?i)Only base64 datarjrks  rassertNonBase64DatazABinASCIITest.test_base64_strict_mode.<locals>.assertNonBase64Data~s   !8$@_`````rc"d||dS)Nz(?i)Leading paddingrjrks  rassertLeadingPaddingzBBinASCIITest.test_base64_strict_mode.<locals>.assertLeadingPaddings   !7?^_____rc"d||dS)Nz(?i)Discontinuous paddingrjrks  rassertDiscontinuousPaddingzHBinASCIITest.test_base64_strict_mode.<locals>.assertDiscontinuousPaddings   !=tEdeeeeersab==aisab===sab==:sabc=asisabc=:sab==
s
ab==sab:(){:|:&};:==sa
b==sab===r==s===sab=c=sab=ab==si)strr=)rrlrnrprrrhs`    @rtest_base64_strict_modez$BinASCIITest.test_base64_strict_modeqs	>s	>%	>bg	>	>	>	>	>	>	\E	\	\	\	\	\	\	au	a	a	a	a	a	a	`	`	`	`	`	`	`	fe	f	f	f	f	f	f	4(((4(((4(((8,,,8,,,D)))	It,,,.555It,,,K...	T3'''UC(((VS)))""8X666"":|<<<<<rcffd}|d|d|d|d|d|d|d|d	fd
}|d|d|d
|d|d|d|ddS)Nctjd5tj|ddddS#1swxYwYdS)Nz(?i)Incorrect padding)rgr#r$rr)rrs rassertIncorrectPaddingz>BinASCIITest.test_base64errors.<locals>.assertIncorrectPaddings''8PQQ
:
:#DNN4$8$8999
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:s(AAAsabsab=sabcsabcdefsabcdef=sabcdefgsa=b=sa
b=c2ttjdd|}dt|z}t
j|5tj|ddddS#1swxYwYdS)Ns[^A-Za-z0-9/+]rz((?i)Invalid.+number of data characters.+)	rNresubrvrgr#r$rr)rn_data_charsexpected_errmsg_rers   rassertInvalidLengthz;BinASCIITest.test_base64errors.<locals>.assertInvalidLengthsrv&8$EEFFL;c,>O>OO
''8JKK
:
:#DNN4$8$8999
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:s(BBBasa=sa==sa===saaaaas]aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
A	B
C ??DErj)rrzrs`  rtest_base64errorszBinASCIITest.test_base64errorss?	:	:	:	:	:	u%%%v&&&v&&&y)))z***z***w'''x(((	:	:	:	:	:	D!!!E"""F###G$$$H%%%/000O,,,,,rcd}dD]}g}tdt|j|D]R}||j|||z}tj||}||St}|D]0}||}tj	|}||z
}1|
||j|
tj	dd|
tj	dd|
tj	d	d|t
jt
j	d
|t
jt
j	d|t
jt
jd|
tjd
d|
tjdd|
tjddd|
tj	dd|
tj	dd|
tjdd|
tjddd|
tj	dtj	d|t5tjddddddS#1swxYwYdS)Nr2)TFr)backtickss ss!!!!s.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xs!>   
rs 
Ts`
sCats
$ $-A=   
s
$`$-A=```
)rMrNrrrr#r
rOr=rr;r-r$r.)	rMAX_UUrrQrRrSrGrHrTs	         rtest_uuzBinASCIITest.test_uusC%	0	0HE1c$)nnf55
 
 NN4<!F(
#;<<OA999Q''C

NN4((OA&&qS$,////11:>>>11:>>>11:>>>(.(/;GGG(.(/7CCC(.(/7CCC	
..
;;;--v666t<<<fEEE00#66600#66644nEEEdCCC'	)	)	)88!88	:	:	:


y
)
)	'	'OC&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'sM((M,/M,ctj|dd}tj|d|}||d|t
tj|t
tj|ddD]A}|tj|d||dzBdS)NTest the CRC-32 ofr
 this string.i7r)rrXi4iE#ixV4i)r#rrr;r-r.rcrcs  rtest_crc_hqxzBinASCIITest.test_crc_hqxst~~.CDDaHHt~~.>??EEe$$$)X%5666)X%5t~~c7J7JKKK8	+	+CX-dnnS.A.A3GG 6\
+
+
+
+	+	+rctj|d}tj|d|}||d|t
tjdS)Nrrij])r#rrr;r-r.rs  r
test_crc32zBinASCIITest.test_crc32spnT^^,ABBCCnT^^,<==sCCj))))X^44444rc\d}tj||}tj||}||||tjtj|dd|tjtj|dddz|tjtjtddg|tjtjd|tjtjd|tjtjd|tjtjd|tj||||tj	|||dS)	N {sworldishelloi0rqs0Gs0gsG0sg0)
r#rrr
r;r-r$r=rr)rstus    rtest_hexzBinASCIITest.test_hexs_T^^A..//T^^A..//A(.(*:AcrcFCCC(.(*:AcrcFTMJJJ(.(*:E3*<M<MNNN(.(*:EBBB(.(*:EBBB(.(*:EBBB(.(*:EBBB	
)$..*;*;<<a@@@+DNN1,=,=>>BBBBBrc^d}|tj|||d|ddd}|tj||dd||dd}|tj||d|dS)z?Test that hexlify and b2a_hex are binary versions of bytes.hex.rascii.:N)r;r#rrhexencoder)rr	expected8	expected1s    rtest_hex_separatorzBinASCIITest.test_hex_separators

`)$..*;*;<<aeeggnnW>U>UVVVEE#qMM((11	)$..*;*;S!DDiPPPEE#JJ%%g..	)$..*;*;SAA9MMMMMrc|j}tj}tj}|dd	|dUiddi|dn#t
$rYnwxYw|||dd|||dd|||dd|||d	d
|||dd
|||dd|||d
d|||dd|||dd|||dd|||dd|||dddd|||dd|||ddd|t
|d|||dd|||dd|||d d!|||d"d#|||dd$|||dd|||ddd%|||d&dd'|||d(dd)|||d&dd*d+|||d,dd,|||dd-|||d.d/|||d0d0|||d1d1|||d0ddd-|||d1ddd/|||d2d3|||d4d5|||d4d6d5|||d7d7|||d7d6d8|||d7d9d7|||d:d;|||d:d6d;|||d:d9d<|||d=d=|||d=d6d>|||d=d9d?|||d@dA|||d@d6dA|||d@d9dB|||dCdddD|||dEdddF|||dCddd6dG|||dEddd6dH|||dCddd9dI|||dEddd9dJ|||dKdL|||dMdN|||dOdP|||dQdR|||dSdS|||dTdddLdS)VNrF)rheaderrXz/binascii.a2b_qp(**{1:1}) didn't raise TypeErrorrts= rus=
ABsABs=
ABs=
ABs=
AB
CDsCDs=ABs=abs=AXs=XArs=A_T)r bar)foos=00
=00s
s

s
=FF
=FF
=FFsR000000000000000000000000000000000000000000000000000000000000000000000000000

s[000000000000000000000000000000000000000000000000000000000000000000000000000=
=FF
=FF
=FFrs=7Fs=3Ds=5Fsx ysx_ysx sx=20)r	quotetabssx=20ysx	ys=20	s=09s xs	xs=00s
s=00
)rsx 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)r)rr#rr	r9r.r;r-)rrrr	s    rtest_qpzBinASCIITest.test_qpsaN	C&&&&	IF  1Q%   
IIGHHHH			D	
	
		$00#666		% 0 0115999		% 0 0114888		( 3 344e<<<		* 5 566>>>		( 3 344c:::		, 7 788%@@@		& 1 122G<<<		& 1 122G<<<		& 1 122F;;;		& 1 122F;;;		& 1 1#2# 677???		$00$777		$===tDDD)V777		- 8 899?KKK		*? @ @AA-	/	/	/		*I J JKK:	<	<	<	
		' 2 233V<<<		$00&999		$00$777		$===vFFF		& 1 1$???HHH		% 0 0>>>HHH		& 1 1$$OOO!	#	#	#		' 2 24@@@'JJJ		$00&999		% 0 0116:::		% 0 0115999		& 1 122F;;;		% 0 0" 566???		& 1 1#2# 677@@@		% 0 0116:::		' 2 233X>>>		' 2 2dCCCXNNN		) 4 455yAAA		) 4 4EEE%	'	'	'		) 4 4UCCC"	$	$	$		, 7 788(	*	*	*		, 7 74HHH(	*	*	*		, 7 7FFF'	)	)	)		, 7 788%	'	'	'		, 7 74HHH(	*	*	*		, 7 7FFF'	)	)	)		*: ; ;<<,	.	.	.		*: ; ;tLLL,	.	.	.		*: ; ;EJJJ-	/	/	/	
		) 4 4SbS 9::GDDD		* 5 5crc :;;XFFF		) 4 4SbS 9TJJJ"	$	$	$		* 5 5crc :dKKK"	$	$	$		) 4 4SbS 9%HHH!	#	#	#		* 5 5crc :5III"	$	$	$	
		$00&999		& 1 122H===		& 1 122H===		& 1 122I>>>		' 2 233W===		% 0 0" 566?????s
A
AAc	@|d}tD]}|dkrtj|dt	t|}	||@#t
$r4}|d|||Yd}~yd}~wwxYwdS)Nrrrz{}({!r}) raises {!r})rr*r#rr,r%r9r:)remptyfuncfrIs     rtest_empty_stringzBinASCIITest.test_empty_stringxss##!		K		KDy   ***$''A
K%
K
K
K		077eSIIJJJJJJJJ
K		K		KsA
B'*BBcttttz
D]r}	|ttt|d3#t$r3}|d	||Yd}~kd}~wwxYw|ttj
dddS)Ntestz{}("test") raises {!r}r)setr*r7r-r.r,r#r%r9r:r)rrrIs   rtest_unicode_b2azBinASCIITest.test_unicode_b2as
&&]););;	F	FD
F!!)WXt-D-DfMMMM
F
F
F		299$DDEEEEEEEE
F	
)X%5vqAAAAAs/A
B')BBcd}|jd|}tttD]6\}}t	t
|}t	t
|}	|||}||}|d}||}	nA#t$r4}
|	d
|||
Yd}
~
nd}
~
wwxYw||	|d
|||	|||	|||	t|t|d8dS)Nr2rr3r4€)rr6r7r8r,r#rdecoder%r9r:r;r<r=r-
ValueError)rrArBrCrDrErFrG
binary_resrHrIs           rtest_unicode_a2bzBinASCIITest.test_unicode_a2bsl8G8$-77	7	7FB(B''C(B''C
NCs++,, SVV
HHW%%c!ff
N
N
N		8??BLLMMMMMMMM
NS#(,,2F2r3,D,D
F
F
FS*---!!#u---j#v6666	7	7sA	B''
C%1*C  C%c(|d}|tj|d|tj|dd|tj|dddS)Nshellos	aGVsbG8=
T)newlineFsaGVsbG8=)rr;r#r)rrSs  rtest_b2a_base64_newlinez$BinASCIITest.test_b2a_base64_newlinesNN8$$,Q//&	(	(	(,Q===&	(	(	(,Q>>>$	&	&	&	&	&rcttd}|ddd}|t5t	j|ddddS#1swxYwYdS)Ns	noncontig)
memoryviewrYr-BufferErrorr#r)rmnoncontig_writables   rtest_c_contiguityzBinASCIITest.test_c_contiguitysy..//tttW


{
+
+	1	1/000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1sA$$A(+A(N)__name__
__module____qualname__r=rrrMrr'r0rJrUrarwrrrrrrrrrrrrrjrrrrsIAGuuUU3ZZ   G$$G111DDD
BBB888(
,
,
,#L#L#LJ)=)=)=X--->#'#'#'J
+
+
+555CCC$
N
N
Nd@d@d@LKKKBBB777*&&&11111rrceZdZdZdS)ArrayBinASCIITestcFtjdt|S)NB)arraylist)rrs  rrzArrayBinASCIITest.type2tests{3Q(((rN)rrrrrjrrrrs#)))))rrceZdZeZdS)BytearrayBinASCIITestN)rrrrYrrjrrrrsIIIrrceZdZeZdS)MemoryviewBinASCIITestN)rrrrrrjrrrrsIIIrrcFeZdZdZeedzdddZdS)ChecksumBigBufferTestCasez<bpo-38256 - check that inputs >=4 GiB are handled correctly.rXF)sizememusedry_runcpdtdzz}|tj|ddS)NsnyanrXiM"B>)rr;r#r)rrrs   rtest_big_bufferz)ChecksumBigBufferTestCase.test_big_buffers6#'"--z:::::rN)rrr__doc__rrrrjrrrrsIFFZS1WQ666;;76;;;rr__main__)runittestr#rr|test.supportrrrrr8r7r*TestCaserrrrrrmainrjrr<module>rs!!				>>>>>>>>>>>>


-)0DD
a1a1a1a1a18$a1a1a1H
))))))))
L\;;;;; 1;;;zHMOOOOOr