
    /hhX                     2   S r SSKrSSKrSSKrSSKrSSKJrJrJr  SSK	J
r
  / SQr/ SQr\\-   SS/-   r " S	 S
\R                  5      r " S S\5      r " S S\5      r " S S\5      r " S S\R                  5      r\S:X  a  \R*                  " 5         gg)zTest the binascii C module.    N)
bigmemtest_1G_4G)
hypothesis)
b2a_base64b2a_hexb2a_qpb2a_uuhexlify)
a2b_base64a2b_hexa2b_qpa2b_uu	unhexlifycrc32crc_hqxc                   (   \ rS rSr\rSr\\" \" S5      5      -  r\S-  rS rS r	S r
S rS	 rS
 rS rS rS rS r\R&                  " \R(                  R+                  SS9\R(                  R-                  5       S9S 5       rS rS rS r\R&                  " \R(                  R+                  5       S9S 5       rS rS r\R&                  " \R(                  R+                  5       \R(                  R-                  5       \R(                  R-                  5       \R(                  R-                  5       S9S 5       rS rS r S r!S r"\R&                  " \R(                  R+                  5       \R(                  R-                  5       S 9S! 5       r#S" r$S#r%g$)%BinASCIITest   s.   The quick brown fox jumps over the lazy dog.
   s   
Hello world.
c                 D    U R                  U R                  5      U l        g N)	type2testrawdatadataselfs    ;/opt/python-3.13.8/usr/lib/python3.13/test/test_binascii.pysetUpBinASCIITest.setUp   s    NN4<<0	    c                    U R                  U[        5        U R                  U[        5        U R                  U[        5        U(       a  U R                  [        U5      S5        U R	                  XSU R
                  < SU< 3S9  g )N   zself.type2test=z kwargs=)msg)assertIsInstancebytes
assertLessmaxassertEqualr   )r   original	convertedrestoredkwargss        r   assertConversionBinASCIITest.assertConversion   sl    h.i/h.OOC	NC0ODNN3DIfY1OPr!   c                     U R                  [        [        R                  [        5      5        U R                  [        [        R
                  [        5      5        g r   )
assertTrue
issubclassbinasciiError	Exception
Incompleter   s    r   test_exceptionsBinASCIITest.test_exceptions'   s2    
8>>9=>
8#6#6	BCr!   c           	          [          HP  nU R                  [        [        [        U5      S5      5        U R                  [        [        [        U5      5        MR     g )N__call__)all_functionsr1   hasattrgetattrr3   assertRaises	TypeError)r   names     r   test_functionsBinASCIITest.test_functions,   s=    !DOOGGHd$;ZHIi4)@A "r!   c                    SnU R                   S U n[        [        [        5       H  u  p4[	        [
        U5      n[	        [
        U5      n U" U R                  U5      5      nU" U R                  U5      5      nU R                  WUSR                  XCX5      5        U R                  UWU5        M     U R                  [
        R                  " US5      [        5        U R                  [
        R                  " U5      [        5        g ! [         a+  n	U R                  SR                  XCU	5      5         S n	A	NS n	A	ff = f)N-   {}/{} conversion raises {!r}{}/{} conversion: {!r} != {!r}r   )r   zipa2b_functionsb2a_functionsr=   r3   r   r5   failformatr)   r.   r%   r   intr   )
r   MAX_ALLrawfafba2bb2aareserrs
             r   test_returned_value BinASCIITest.test_returned_value2   s   ll8G$-7FB(B'C(B'CNs+,$..+, S# (,,2F23,DF!!#q#. 8 	h..sA6<hnnS137  N		8??LMMNs   .D


D?!D::D?c                    Sn/ n[        S[        U R                  5      U5       HJ  nU R                  U R                  X3U-    5      n[        R
                  " U5      nUR                  U5        ML     [        5       nU H.  nU R                  U5      n[        R                  " U5      nXd-  nM0     U R                  X`R                  5        g )N9   r   )
rangelenr   r   r3   r   appendr&   r   r)   )r   
MAX_BASE64linesibrS   rT   lines           r   test_base64validBinASCIITest.test_base64validD   s    
q#dll+Z8At||A
l;<A##A&ALLO 9 gDt$A##A&AHC  	ll+r!   c                   ^
 Sn/ n[        S[        U R                  5      U5       HJ  nU R                  U R                  X3U-    5      n[
        R                  " U5      nUR                  U5        ML     [        5       m
Sn[        S5       H  nX6;  d  M
  T
R                  U5        M     U
4S jn[        5       n[        Xr5       H.  n	U R                  U	5      n[
        R                  " U5      nX-  nM0     U R                  XR                  5        U R                  [
        R                  " U R                  T
5      5      S5        g )NrY   r   s@   abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/r   c                   > Tn[        U 5      [        U5      -  n[        5       nU (       aV  U(       aO  [        U 5      [        U5      -  U:  a
  U S   U SS  pO	US   USS  pUR                  U5        U (       a	  U(       a  MO  X1-   U -   $ )Nr      )r[   	bytearrayr\   )ra   noiseratiorT   cfillerss        r   addnoise1BinASCIITest.test_base64invalid.<locals>.addnoiseb   s    EIU+E+C5t9E
*U2"1gtABxt$Qxqru

1 55 ;%%r!   r!   )rZ   r[   r   r   r   r3   r   r\   rg   mapr   r)   )r   r]   r^   r_   r`   rS   validrl   rT   ra   rk   s             @r   test_base64invalidBinASCIITest.test_base64invalidS   s	    
q#dii.*5At||A
l;<A##A&ALLO 6
 +SsA~q! 
	& k(Dt$A##A&AHC ) 	ll+ 	,,T^^G-DEsKr!   c                   ^ ^ S[         S[        S[        4U 4S jjmS[        4U4S jjnS[        4U4S jjnS[        4U4S jjnS[        4U4S jjnS[        4U4S	 jjnU" S
S5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" S S5        U" S!S5        U" S"S#5        U" S$S%5        U" S&S%5        U" S'S%5        U" S(S%5        U" S)S%5        g )*Nassert_regexr   non_strict_mode_expected_resultc                   > TR                  [        R                  U 5         [        R                  " TR	                  U5      SS9  S S S 5        TR                  [        R                  " TR	                  U5      SS9U5        TR                  [        R                  " TR	                  U5      5      U5        g ! , (       d  f       Nx= f)NT)strict_modeF)assertRaisesRegexr3   r4   r   r   r)   )rs   r   rt   r   s      r   _assertRegexTemplateBBinASCIITest.test_base64_strict_mode.<locals>._assertRegexTemplatez   s    ''E##DNN4$8dK FX001ESXY<>X001EF<>	 FEs   %B99
Cc                    > T" SX5        g )Nz(?i)Excess data r   rt   rx   s     r   assertExcessData>BinASCIITest.test_base64_strict_mode.<locals>.assertExcessData   s     !3T[r!   c                    > T" SX5        g )Nz(?i)Only base64 datar{   r|   s     r   assertNonBase64DataABinASCIITest.test_base64_strict_mode.<locals>.assertNonBase64Data   s     !8$`r!   c                    > T" SX5        g )Nz(?i)Leading paddingr{   r|   s     r   assertLeadingPaddingBBinASCIITest.test_base64_strict_mode.<locals>.assertLeadingPadding   s     !7_r!   c                    > T" SX5        g )Nz(?i)Discontinuous paddingr{   r|   s     r   assertDiscontinuousPaddingHBinASCIITest.test_base64_strict_mode.<locals>.assertDiscontinuousPadding   s     !=ter!   c                    > T" SX5        g )Nz(?i)Excess paddingr{   r|   s     r   assertExcessPaddingABinASCIITest.test_base64_strict_mode.<locals>.assertExcessPadding   s     !6^r!   s   ab==a   is   ab===s   ab====s   ab==:s   abc=as   is   abc=:s   ab==
s   abc==s   abc===s   abc====s   abc=====s   
ab==s   ab:(){:|:&};:==s   a
b==s   a b==   =r!      ==s   ===s   ====s   =====s   ab=c=s   ab=ab==s   is   abcd=s   is   abcd==s   abcd===s   abcd====s	   abcd=====)strr&   )r   r}   r   r   r   r   rx   s   `     @r   test_base64_strict_mode$BinASCIITest.test_base64_strict_modex   sy   	>s 	>% 	>bg 	>	\E 	\	au 	a	` 	`	fe 	f	_u 	_ 	4(4(D)4(8,8,D)8,H-X.h/ 	It,.5It,K. 	T3'UC(VS)Wc*Xs+"8X6":|<Hl3I|4J5K6L,7r!   c                   ^  U 4S jnU" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S	5        U 4S
 jnU" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        g )Nc                    > TR                  [        R                  S5         [        R                  " TR	                  U 5      5        S S S 5        g ! , (       d  f       g = f)Nz(?i)Incorrect padding)rw   r3   r4   r   r   )r   r   s    r   assertIncorrectPadding>BinASCIITest.test_base64errors.<locals>.assertIncorrectPadding   s<    ''8PQ##DNN4$89 RQQs   &A
As   abs   ab=s   abcs   abcdefs   abcdef=s   abcdefgs   a=b=s   a
b=c                 "  > [        [        R                  " SSU 5      5      nS[        U5      -   nTR	                  [
        R                  U5         [
        R                  " TR                  U 5      5        S S S 5        g ! , (       d  f       g = f)Ns   [^A-Za-z0-9/+]r!   z((?i)Invalid.+number of data characters.+)	r[   resubr   rw   r3   r4   r   r   )r   n_data_charsexpected_errmsg_rer   s      r   assertInvalidLength;BinASCIITest.test_base64errors.<locals>.assertInvalidLength   sf    rvv&8$EFL;c,>OO ''8JK##DNN4$89 LKKs   &B  
B   as   a=s   a==s   a===s   aaaaas]  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
   A	B
C ??DEr{   )r   r   r   s   `  r   test_base64errorsBinASCIITest.test_base64errors   s    	: 	u%v&v&y)z*z*w'x(	: 	D!E"F#G$H%/0O,r!   c                    SnS H  n/ n[        S[        U R                  5      U5       HH  nU R                  U R                  XDU-    5      n[
        R                  " XRS9nUR                  U5        MJ     [        5       nU H.  nU R                  U5      n[
        R                  " U5      nXu-  nM0     U R                  XpR                  5        M     U R                  [
        R                  " S5      S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " S	5      S5        U R                  [
        R                  [
        R                  S
5        U R                  [
        R                  [
        R                  S5        U R                  [
        R                  [
        R                  S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " SSS9S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " S5      S5        U R                  [
        R                  " SSS9S5        U R                  [
        R                  " S5      [
        R                  " S5      5        U R                  [        5         [
        R                  " SS5        S S S 5        g ! , (       d  f       g = f)NrD   )TFr   backtick   s                                     s                                       s    s   !!!!s.   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   xs   !>   
r!   s    
Ts   `
s    Cats
   $ $-A=   
s
   $`$-A=```
)rZ   r[   r   r   r   r3   r
   r\   r&   r   r)   r>   r4   r?   )	r   MAX_UUr   r^   r_   r`   rS   rT   ra   s	            r   test_uuBinASCIITest.test_uu   sO   %HE1c$))nf5NN4<<F(#;<OOA9Q 6 'CNN4(OOA&  S,,/ & 	1:>1:>1:>(..(//;G(..(//7C(..(//7C 	.
;-v6t<fE0#60#64nEdC'	)8!8	:y)OOC& *))s   )M


MrD   )max_size)binaryr   c                     [         R                  " U R                  U5      US9n[         R                  " U R                  U5      5      nU R	                  XXBS9  g )Nr   )r3   r
   r   r   r.   )r   r   r   r+   r,   s        r   test_b2a_roundtripBinASCIITest.test_b2a_roundtrip   sG    
 OODNN6$:XN	??4>>)#<=fMr!   c                    [         R                  " U R                  S5      S5      n[         R                  " U R                  S5      U5      nU R                  US5        U R	                  [
        [         R                  5        U R	                  [
        [         R                  U R                  S5      5        S H<  nU R                  [         R                  " U R                  S5      U5      US-  5        M>     g )N   Test the CRC-32 ofr       this string.i7  r!   )r   rf   i4  iE# ixV4i  )r3   r   r   r)   r>   r?   r   crcs     r   test_crc_hqxBinASCIITest.test_crc_hqx   s    t~~.CDaHt~~.>?Ee$)X%5%56)X%5%5t~~c7JK8CX--dnnS.A3G 6\+ 9r!   c                    [         R                  " U R                  S5      5      n[         R                  " U R                  S5      U5      nU R                  US5        U R	                  [
        [         R                  5        g )Nr   r   ij])r3   r   r   r)   r>   r?   r   s     r   
test_crc32BinASCIITest.test_crc32  sX    nnT^^,ABCnnT^^,<=sCj))X^^4r!   c                 L   Sn[         R                  " U R                  U5      5      n[         R                  " U R                  U5      5      nU R	                  X5        U R                  [         R                  [         R                  US S 5        U R                  [         R                  [         R                  US S S-   5        U R                  [         R                  [         R                  [        SS/5      5        U R                  [         R                  [         R                  S5        U R                  [         R                  [         R                  S5        U R                  [         R                  [         R                  S5        U R                  [         R                  [         R                  S5        U R	                  [         R                  " U R                  U5      5      U5        U R	                  [         R                  " U R                  U5      5      U5        g )	N    {s   worldi   s   helloi   0r      q   s   0Gs   0gs   G0s   g0)
r3   r   r   r   r)   r>   r4   r&   r   r   )r   stus       r   test_hexBinASCIITest.test_hex  sn   _T^^A./T^^A./(..(*:*:AcrFC(..(*:*:AcrFTMJ(..(*:*:E3*<MN(..(*:*:EB(..(*:*:EB(..(*:*:EB(..(*:*:EB 	))$..*;<a@++DNN1,=>Br!   )r   c                     [         R                  " U R                  U5      5      n[         R                  " U R                  U5      5      nU R	                  XU5        g r   )r3   r   r   r   r.   )r   r   r+   r,   s       r   test_hex_roundtripBinASCIITest.test_hex_roundtrip%  sD    $$T^^F%;<	%%dnnY&?@f:r!   c                    SnU R                  [        R                  " U R                  U5      5      UR	                  5       R                  S5      5        UR	                  SS5      R                  S5      nU R                  [        R                  " U R                  U5      SS5      U5        UR	                  S5      R                  S5      nU R                  [        R                  " U R                  U5      S5      U5        g)z?Test that hexlify and b2a_hex are binary versions of bytes.hex.r   ascii.   :N)r)   r3   r   r   hexencoder   )r   r   	expected8	expected1s       r   test_hex_separatorBinASCIITest.test_hex_separator+  s    
 `))$..*;<aeegnnW>UVEE#qM((1	))$..*;S!DiPEE#J%%g.	))$..*;SA9Mr!   c                    U R                   n[        R                  n[        R                  nU" SSS9   U" SU0 SS0D6  U R	                  S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S	5      5      S
5        U R                  U" U" S5      5      S
5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      S S 5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S5      SS9S5        U R                  [
        USS9  U R                  U" U" S5      5      S5        U R                  U" U" S5      5      S5        U R                  U" U" S 5      5      S!5        U R                  U" U" S"5      5      S#5        U R                  U" U" S5      5      S$5        U R                  U" U" S5      5      S5        U R                  U" U" S5      SS9S%5        U R                  U" U" S&5      SS9S'5        U R                  U" U" S(5      SS9S)5        U R                  U" U" S&5      SSS*9S+5        U R                  U" U" S,5      SS9S,5        U R                  U" U" S5      5      S-5        U R                  U" U" S.5      5      S/5        U R                  U" U" S05      5      S05        U R                  U" U" S15      5      S15        U R                  U" U" S05      S S 5      S-5        U R                  U" U" S15      S S 5      S/5        U R                  U" U" S25      5      S35        U R                  U" U" S45      5      S55        U R                  U" U" S45      SS69S55        U R                  U" U" S75      5      S75        U R                  U" U" S75      SS69S85        U R                  U" U" S75      SS99S75        U R                  U" U" S:5      5      S;5        U R                  U" U" S:5      SS69S;5        U R                  U" U" S:5      SS99S<5        U R                  U" U" S=5      5      S=5        U R                  U" U" S=5      SS69S>5        U R                  U" U" S=5      SS99S?5        U R                  U" U" S@5      5      SA5        U R                  U" U" S@5      SS69SA5        U R                  U" U" S@5      SS99SB5        U R                  U" U" SC5      S S 5      SD5        U R                  U" U" SE5      S S 5      SF5        U R                  U" U" SC5      S S SS69SG5        U R                  U" U" SE5      S S SS69SH5        U R                  U" U" SC5      S S SS99SI5        U R                  U" U" SE5      S S SS99SJ5        U R                  U" U" SK5      5      SL5        U R                  U" U" SM5      5      SN5        U R                  U" U" SO5      5      SP5        U R                  U" U" SQ5      5      SR5        U R                  U" U" SS5      5      SS5        U R                  U" U" ST5      S S 5      SL5        g ! [
         a     GNf = f)VNr!   F)r   headerrf   z/binascii.a2b_qp(**{1:1}) didn't raise TypeErrorr   s   = r   s   =
ABs   ABs   =
ABs   =ABs   =AB
CDs   CDs   =AB   s   =abs   =AXs   =XAr   s   =A   _Tr       bar)foos   =00
=00s    
 s   

s   =FF
=FF
=FFsR   000000000000000000000000000000000000000000000000000000000000000000000000000

s[   000000000000000000000000000000000000000000000000000000000000000000000000000=
=FF
=FF
=FFr   s   =7Fs   =3Ds   =5Fs   x ys   x_ys   x s   x=20)r   	quotetabss   x=20ys   x	ys   =20   	s   =09s    xs   	x    s   =00s    
s   =00
)r   s   x y	zs	   x=20y=09z)istexts   x 
y	
s
   x=20
y=09
s
   x =0Ay	=0As   x y	s
   x=20y=09s
   x =0Dy	=0Ds   x 
y	
s   x=20
y=09
s   x =0D=0Ay	=0D=0As   x 
s   x s   x	
s   x	s   x=20s   x=09s   x =0Ds   x	=0D   .s   =2Es   .
s   =2E
s   .s   =2Es   . s   =2E=00s   a.
s   .a)r!   )r   r3   r   r	   rJ   r?   r)   r>   )r   r   r   r	   s       r   test_qpBinASCIITest.test_qp7  s    NN	C&	I 1Q%  IIGH	$0#6	% 0159	% 0148	( 34e<	* 56>	( 34c:	, 78%@	& 12G<	& 12G<	& 12F;	& 12F;	& 1#2 67?	$0$7	$=tD)V7	- 89?K	*? @A-	/	*I JK:	< 		' 23V<	$0&9	$0$7	$=vF	& 1$?H	% 0>H	& 1$$O!	#	' 24@'J	$0&9	% 016:	% 0159	& 12F;	% 0" 56?	& 1#2 67@	% 016:	' 23X>	' 2dCXN	) 45yA	) 4E%	'	) 4UC"	$	, 78(	*	, 74H(	*	, 7F'	)	, 78%	'	, 74H(	*	, 7F'	)	*: ;<,	.	*: ;tL,	.	*: ;EJ-	/ 		) 4Sb 9:GD	* 5cr :;XF	) 4Sb 9TJ"	$	* 5cr :dK"	$	) 4Sb 9%H!	#	* 5cr :5I"	$ 		$0&9	& 12H=	& 12H=	& 12I>	' 23W=	% 0" 56?u  		s   
\> >
]])r   r   r   r   c           	          [         R                  " U R                  U5      X#US9n[         R                  " U R                  U5      US9nU R	                  XUX#US9  g )N)r   r   r   r   )r3   r	   r   r   r.   )r   r   r   r   r   r+   r,   s          r   test_b2a_qp_a2b_qp_round_trip*BinASCIITest.test_b2a_qp_a2b_qp_round_trip  s[     OONN6"v
	 ??4>>)#<VLf(1 	 	Qr!   c           	      "   U R                  S5      n[         H;  nUS:X  a  [        R                  " US5        M"  [	        [        U5      n U" U5        M=     g ! [
         a,  nU R                  SR                  X!U5      5         S nAMq  S nAff = f)Nr!   r   r   z{}({!r}) raises {!r})r   r;   r3   r   r=   r5   rJ   rK   )r   emptyfuncfrU   s        r   test_empty_stringBinASCIITest.test_empty_string  s    s#!Dy   *$'AK% "  K		077SIJJKs   A
B"!B		Bc                 X   [        [        5      [        [        5      -
   H)  n U R                  [        [        [        U5      S5        M+     U R                  [        [        R                  SS5        g ! [         a+  nU R                  SR                  X5      5         S nAM  S nAff = f)Ntestz{}("test") raises {!r}r   )setr;   rH   r>   r?   r=   r3   r5   rJ   rK   r   )r   r   rU   s      r   test_unicode_b2aBinASCIITest.test_unicode_b2a  s    &]);;DF!!)WXt-DfM < 	)X%5%5vqA  F		299$DEEFs   %A44
B)> B$$B)c                 F   SnU R                   S U n[        [        [        5       H  u  p4[	        [
        U5      n[	        [
        U5      n U" U R                  U5      5      nU" U5      nUR                  S5      nU" U5      n	U R                  W	USR                  XCX5      5        U R                  U	W5        U R                  U	[        5        U R                  [        US5        M     g ! [         a+  n
U R                  SR                  XCU
5      5         S n
A
NS n
A
ff = f)NrD   r   rE   rF      )r   rG   rH   rI   r=   r3   r   decoder5   rJ   rK   r)   r%   r&   r>   
ValueError)r   rM   rN   rO   rP   rQ   rR   rS   
binary_resrT   rU   s              r   test_unicode_a2bBinASCIITest.test_unicode_a2b  s   ll8G$-7FB(B'C(B'CNs+, V
HHW%!f S# (,,2F23,DFS*-!!#u-j#v6 8  N		8??LMMNs   8C++
D 5!DD c                    U R                  S5      nU R                  [        R                  " U5      S5        U R                  [        R                  " USS9S5        U R                  [        R                  " USS9S5        g )Ns   hellos	   aGVsbG8=
TnewlineFs   aGVsbG8=)r   r)   r3   r   )r   r`   s     r   test_b2a_base64_newline$BinASCIITest.test_b2a_base64_newline  sn    NN8$,,Q/&	(,,Q=&	(,,Q>$	&r!   )r   r   c                     [         R                  " U R                  U5      US9n[         R                  " U R                  U5      5      nU R	                  XXBS9  g )Nr   )r3   r   r   r   r.   )r   r   r   r+   r,   s        r   test_base64_roundtrip"BinASCIITest.test_base64_roundtrip  sK    
 ''v(>P	&&t~~i'@AfKr!   c                     [        [        S5      5      nUS S S2   nU R                  [        5         [        R
                  " U5        S S S 5        g ! , (       d  f       g = f)Ns	   noncontig)
memoryviewrg   r>   BufferErrorr3   r   )r   mnoncontig_writables      r   test_c_contiguityBinASCIITest.test_c_contiguity  sH    y./ttW{+/0 ,++s   A
A )r   N)&__name__
__module____qualname____firstlineno__r&   r   r   rZ   r   r.   r7   rA   rV   rb   rp   r   r   r   r   given
strategiesr   booleansr   r   r   r   r   r   r   r   r   r   r   r   r   r  __static_attributes__r{   r!   r   r   r      s   IAGuU3Z  G$$G1QD
B8$,#LJ88v->#'J $$++R+8&&//1N	N

+5C$ Z2299;<; =;

Nd@L $$++-''002$$--/$$--/	QQKB7*& $$++-%%..0L	L
1r!   r   c                       \ rS rSrS rSrg)ArrayBinASCIITesti  c                 B    [         R                   " S[        U5      5      $ )NB)arraylist)r   r   s     r   r   ArrayBinASCIITest.type2test  s    {{3Q((r!   r{   N)r  r  r  r  r   r  r{   r!   r   r  r    s    )r!   r  c                       \ rS rSr\rSrg)BytearrayBinASCIITesti  r{   N)r  r  r  r  rg   r   r  r{   r!   r   r  r    s    Ir!   r  c                       \ rS rSr\rSrg)MemoryviewBinASCIITesti  r{   N)r  r  r  r  r   r   r  r{   r!   r   r  r    s    Ir!   r  c                   :    \ rS rSrSr\" \S-   SSS9S 5       rSrg	)
ChecksumBigBufferTestCasei  z<bpo-38256 - check that inputs >=4 GiB are handled correctly.   rf   F)sizememusedry_runc                 h    S[         S-   -  nU R                  [        R                  " U5      S5        g )Ns   nyanrf   iM"B>)r   r)   r3   r   )r   r  r   s      r   test_big_buffer)ChecksumBigBufferTestCase.test_big_buffer  s)    #'"-z:r!   r{   N)	r  r  r  r  __doc__r   r   r  r  r{   r!   r   r  r    s$    FS1WQ6; 7;r!   r  __main__)r   unittestr3   r  r   test.supportr   r   r   test.support.hypothesis_helperr   rI   rH   r;   TestCaser   r  r  r  r  r  mainr{   r!   r   <module>r'     s    !    	 - - 5-)0DD]18$$ ]1@) )
L \ ; 1 1 ; zMMO r!   