
    <>i                        S SK r S SKJr  S SKJrJrJrJrJr  S SK	r	S SK
r
S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKr S SKrS SKJr  S SKJr  S SKrSS jr\S 5       rS rS	 r\R@                  RC                  S
S5      \R@                  RC                  SS5      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-S r.S r/S r0S r1S r2S r3S  r4S! r5S" r6\R@                  RC                  S#/ S$Q5      S% 5       r7\R@                  R(                  S& 5       r8\R@                  R(                  S' 5       r9\R@                  R(                  S( 5       r:\R@                  R(                  S) 5       r;S* r<S+ r=S, r>S- r?\R@                  R(                  S. 5       r@\R@                  R(                  S/ 5       rAS0 rBS1 rC\R@                  R(                  S2 5       rDS3 rES4 rF\R@                  R(                  \R@                  RC                  S5\R                  " S6\R@                  R                  \R                  R                  S79S89S9S:S;S<S=/5      S> 5       5       rK\R@                  R(                  \R@                  RC                  S5\R                  " S6\R@                  R                  \R                  R                  S79S89S9S:S;S<S=/5      S? 5       5       rLS@ rMSA rNSB rOSC rPSD rQ\R@                  R(                  SE 5       rRSF rS\R                  SG 5       rU SSH jrVSI rWSJ rXSK rYSL rZSM r[SN r\SO r]SP r^SQ r_SR r`SS raST rbSU rcSV rd\R@                  R                  \R                  SW:H  SXSY9SZ 5       rfS[ rgS\ rhS] riS^ rj\R@                  R                  S_ 5       rlS` rmSa rnSb roSc rp\R@                  R(                  Sd 5       rq\R@                  R(                  Se 5       rrSf rs\R@                  R                  Sg 5       rtSh ru\R@                  R                  Si 5       rvSj rw\R@                  R                  Sk 5       rx\R@                  R                  Sl 5       rySm rz\R@                  R                  Sn 5       r{So r|Sp r}\R@                  RC                  SqSrSs\R                  " St5      S:4\R                  " Su5      S<4/5      Sv 5       rSw r\R@                  RC                  S5S6S9S:S;S<\R                  " S=\R@                  R                  \R                  R                  S79S89/5      Sx 5       r\R@                  RC                  S5/ SyQ5      Sz 5       rS{rS| r\R@                  RC                  S}/ S~Q5      S 5       r\R@                  RC                  S}SS/5      S 5       r\R@                  RC                  S}SS/5      S 5       r\R@                  RC                  S}SS/5      S 5       r\R@                  R                  S 5       rS rS r\R@                  R                  S 5       rS r\R@                  R                  S 5       r\R@                  R                  S 5       r\R@                  R                  S 5       rS rS rS rS r\R@                  R                  S 5       rS r\R@                  R                  S 5       rS r\R@                  R                  S 5       rS rg! \ a    Sr GNf = f)    N)contextmanager)BytesIOStringIOTextIOWrapperBufferedIOBaseIOBase)guid)Codecc                    [         R                  S;   a  [        R                  " S5         [        R
                  " SS9n[        US5       nUR                  S5        UR                  S5        UR                  S5        S S S 5        U(       a  U   U " U5        S S S 5        OU " U5       nUR                  5       S:X  d   eUR                  S5      S:X  d   eUR                  5       S:X  d   eUR                  S	5      S:X  d   eUR                  5       S:X  d   e S S S 5        [        R                  " U5        g ! , (       d  f       N= f! , (       d  f       N6= f! , (       d  f       NG= f! [        R                  " W5        f = f)
N)win32darwin
emscriptenzneed sparse file supporttest_io)prefixwbl   
    l       s   mark
   )sysplatformpytestskiptempfilemktempopentruncateseekwritesizetellreadosunlink)file_factoryexpected_errorfilenamefs       T/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pyarrow/tests/test_io.pycheck_large_seeksr'   +   s,   
||88./??)4(D!QJJ|$FF;GGI " X&   h'1vvx<///vvk*k999vvx;...vvayI---vvx</// ( 			( "!
   (' 			(sT    E/ 4D< E/ 	EE/ +A1EE/ <
E
E/ 
EE/ 
E,(E/ /Fc               #   |   #    [         R                  " [        5         S v   S S S 5        g ! , (       d  f       g = f7fN)r   raisesFileNotFoundError     r&   assert_file_not_foundr.   B   s      	(	) 
*	)	)s   <+	<
9<c                  >   [        5       n [        R                  " U 5      nUR                  5       S:X  d   eSnSnUR	                  U5        UR                  5       [        U5      :X  d   eUR	                  U5        X#-   nU R                  5       nXT:X  d   eUR                  (       a   eUR                  5         UR                  (       d   e[        R                  " [        SS9   [        R                  " [        5       5        S S S 5        g ! , (       d  f       g = f)Nr   s	   engañados   foobarbinary file expectedmatch)r   pa
PythonFiler   r   lengetvalueclosedcloser   r*   	TypeErrorr   )bufr%   s1s2expectedresults         r&   test_python_file_writer?   L   s    
)C
cA668q==	B	BGGBK668s2wGGBKwH\\^Fxx<GGI88O8	y(>	?
hj! 
@	?	?s   &D
Dc                  F   Sn [        U 5      n[        R                  " USS9nUR                  5       [	        U 5      :X  d   eUR                  5       S:X  d   eUR                  S5      S:X  d   eUR                  5       S:X  d   eUR                  S5        UR                  5       S:X  d   eUR                  S5        UR                  5       S:X  d   eUR                  S5      nUS	:X  d   e[	        U5      S
:X  d   eUR                  5       [	        U 5      :X  d   eUR                  (       a   eUR                  5         UR                  (       d   e[        R                  " [        SS9   [        R                  " [        5       SS9  S S S 5        g ! , (       d  f       g = f)N   some sample datarmoder         somer   2      sample data   r0   r1   )r   r3   r4   r   r5   r   r   r   r7   r8   r   r*   r9   r   )datar:   r%   vs       r&   test_python_file_readrL   h   s;   D
$-C
c$A668s4y   668q==66!9668q==FF1I668q==FF1I668q==	r
Aq6R<<668s4y   xx<GGI88O8	y(>	?
hjs+ 
@	?	?s   +F
F nbytes)r      r   d   file_offset)rN   r   r   rP   c                    Sn[         R                  " [        U5      SS9nU S:  d  US:  aL  [        R                  " [         R
                  SS9   UR                  XS9  S S S 5        UR                  5         g UR                  XS9n[        U[        U5      5      n[        X-   [        U5      5      n[        X%U 5      nUR                  SS	9UR                  S5      :X  d   eUR                  S
S	9UR                  S
5      :X  d   eUR                  5       UR                  5       :X  d   e[        U5      S-  nUR                  U5      UR                  U5      :X  d   e[        R                  " [        SS9   UR                  S5        S S S 5        UR                  5         UR                  (       d   eg ! , (       d  f       GN_= f! , (       d  f       ND= f)Ns   data1data2data3data4data5rB   rC   r   zshould be a positive valuer1   )rQ   rM   rE   )rM         seekable)r3   r4   r   r   r*   ArrowInvalid
get_streamr8   minr5   r   OSErrorr   r7   )	rM   rQ   rJ   r%   streamstartendr:   ns	            r&   test_python_file_get_streamr^      s}    (D
gdm#.A z[1_]]2??!=?LL[L@? 	
	+E
 SY'E
k"CI
.C
$S/
"C ;;a; CHHQK///;;a; CHHQK/// ;;=CHHJ&&& 	D	AA;;q>SXXa[((( 
wj	1A 
2 LLN===?? ?6 
2	1s   F8:G
8
G

Gc                      Sn [        U 5      n[        R                  " USS9nUR                  SSS9nUS:X  d   e[	        U5      S:X  d   eUR                  SS	S9nX@:X  d   e[	        U5      S
:X  d   eg )NrA   rB   rC   r      )rM   offsets   e samrG   r      )r   r3   r4   read_atr5   )rJ   r:   r%   rK   ws        r&   test_python_file_read_atre      s~    D
$-C
c$A 	
		1	%A==q6Q;; 	
		A	&A99q6R<<r-   c                      Sn [        U 5      n[        R                  " USS9 nUR                  5       U :X  d   e S S S 5        g ! , (       d  f       g = f)NrA   rB   rC   )r   r3   r4   readall)rJ   r:   r%   s      r&   test_python_file_readallrh      s@    D
$-C	s	%yy{d""" 
&	%	%s   A
Ac                     Sn Sn[        U 5      n[        U5      n[        R                  " USS9 nUR	                  U5      S:X  d   eUS U  US U  :X  d   e[        U5      U :X  d   e S S S 5        g ! , (       d  f       g = f)N
   s   some sample data longer than 10rB   rC   )	bytearrayr   r3   r4   readintor5   )lengthrJ   dst_bufsrc_bufr%   s        r&   test_python_file_readintorp      s    F-DGdmG	wS	)Qzz'"b(((w4=0007|v%%%	 
*	)	)s   7A11
A?c                    ^^ SmSn [        U 5      m " UU4S jS5      nU" 5       n[        R                  " USS9 nUR                  T5      n[	        U5      T:X  d   e[        U5      R                  5       TS T :X  d   e[        S5      [        U5      S'   TS   [        S5      :X  d   e S S S 5        g ! , (       d  f       g = f)	Nrj   s
   0123456798c                   :   > \ rS rSrS r\S 5       rU U4S jrSrg)0test_python_file_read_buffer.<locals>.DuckReader   c                     g r)   r,   selfs    r&   r8   6test_python_file_read_buffer.<locals>.DuckReader.close       r-   c                     gNFr,   rv   s    r&   r7   7test_python_file_read_buffer.<locals>.DuckReader.closed       r-   c                 0   > UT:X  d   e[        T5      S U $ r)   )
memoryview)rw   rM   rn   rm   s     r&   read_buffer<test_python_file_read_buffer.<locals>.DuckReader.read_buffer   s#    V###g&w//r-   r,   N)	__name__
__module____qualname____firstlineno__r8   propertyr7   r   __static_attributes__)rn   rm   s   r&   
DuckReaderrs      s&    	 
	 
		0 	0r-   r   rB   rC      xr   )rk   r3   r4   r   r5   r   tobytesord)rJ   r   duck_readerr%   r:   rn   rm   s        @@r&   test_python_file_read_bufferr      s    FDoG
0 
0 ,K	{	-mmF#3x6!!!#&&(GGV,<<<< Y
3qzSY&&& 
.	-	-s   A0B66
Cc                      [         R                  " [        S5      SS9 n [        U [        5      (       d   e[        U [
        5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr-   rB   rC   )r3   r4   r   
isinstancer   r   r%   s    r&   test_python_file_correct_abcr      sH    	ws|#	.!!^,,,,!V$$$$ 
/	.	.s   /A
A&c                      Sn [        U 5      n[        U 5      n[        R                  " USS9 n[        X25       H  u  pEXE:X  a  M   e   S S S 5        g ! , (       d  f       g = f)Ns   line1
    line2
    line3
    rB   rC   )r   r3   r4   zip)rJ   r:   buf2r%   r   r=   s         r&   test_python_file_iterabler      sU    D
 $-C4=D	s	%!!lND### + 
&	%	%s   AA
A!c                       S n [        U 5        g )Nc                 B    [         R                  " [        U S5      5      $ Nrb)r3   r4   r   )r$   s    r&   factory-test_python_file_large_seeks.<locals>.factory  s    }}T(D122r-   )r'   )r   s    r&   test_python_file_large_seeksr     s    3 gr-   c                     Sn [         R                  " U 5      nUR                  5       S:X  d   eUR                  5       [	        U 5      :X  d   eUR                  S5      S:X  d   eUR                  5       S:X  d   eUR                  S5        UR                  5       S:X  d   eUR                  SS5        UR                  5       [	        U 5      :X  d   eUR                  S5        UR                  5       S:X  d   eUR                  S5      S:X  d   eUR                  (       a   eUR                  5         UR                  (       d   eg )	NrA   r   rE   rF   rT   r   rG   rH   )	r3   BufferReaderr   r   r5   r   r   r7   r8   )rJ   r%   s     r&   test_bytes_readerr     s    D
A668q==668s4y   66!9668q==FF1I668q==FF1aL668s4y   FF1I668q==66":'''xx<GGI88O8r-   c                      [         R                  " [        5         [        R                  " S5        S S S 5        g ! , (       d  f       g = f)Nzsome sample data)r   r*   r9   r3   r   r,   r-   r&   test_bytes_reader_non_bytesr   -  s'    	y	!
*+ 
"	!	!s	   ;
A	c                      SS K n S nU" 5       nU R                  " 5         UR                  5       S:X  d   eUR                  c   eg )Nr   c                  |    SS-  n [         R                  " U 5      nUR                  S5        UR                  S5      $ )NrA     r   rS   )r3   r   r   r   )rJ   readers     r&   
get_buffer>test_bytes_reader_retains_parent_reference.<locals>.get_buffer6  s6    "T)&A!!!$$r-   s   sample)gccollect
to_pybytesparent)r   r   r:   s      r&   *test_bytes_reader_retains_parent_referencer   2  sA    % ,CJJL>>y(((::!!!r-   c                    [         R                  R                  [        U 5      S5      n[	        US5       n[
        R                  " U5      nUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       a   eUR                  S5        S S S 5        [	        US5       n[
        R                  " U5      nUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       S:X  d   e S S S 5        [        5       n[
        R                  " U5      nUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       a   eUR                  S5        UR                  5       S:X  d   eg ! , (       d  f       GN#= f! , (       d  f       N= f)Nfoo.txtr   s   foobar
r   )r    pathjoinstrr   r3   r4   writablereadablerU   r   r   r   r6   )tmpdirr   r%   pfbios        r&   test_python_file_implicit_moder   B  sX   77<<FY/D	dD	Q]]1{{}}};;==  ;;==  	 
 
dD	Q]]1{{}}};;==  {{}}}wwyK''' 
 )C	s	B;;==={{}}{{}}HH[<<>[((() 
	 
	s   A-F?7A2G?
G
Gc                    SS/n[         R                  R                  [        U 5      S5      n[	        US5       n [
        R                  " USS9nUR                  5       (       d   eUR                  U5        UR                  5          S S S 5        [	        US5       n [
        R                  " USS9nUR                  5       (       d   eUR                  5       S	R                  U5      :X  d   e UR                  5          S S S 5        g ! UR                  5         f = f! , (       d  f       N= f! UR                  5         f = f! , (       d  f       g = f)
Ns   line1
s   line2
line3r   r   rd   rC   r   rB   r-   )r    r   r   r   r   r3   r4   r   
writelinesr8   r   r   )r   linesr   r%   s       r&   test_python_file_writelinesr   [  s    ,-E77<<FY/D	dD	Q	ac*A::<<<LLGGI 
 
dD	Q	ac*A::<<<668sxx...GGI 
	 GGI 
	 GGI 
	sG   D!=D9D!E AD22EDD!!
D/2EE
Ec                     [        5       n [        R                  " U 5      n[        R                  " U5      nAU" 5       b   eU R
                  (       a   e[        R                  " U 5      nUR                  5         U R
                  (       d   eg r)   )r   r3   r4   weakrefrefr7   r8   )r   r   wrs      r&   test_python_file_closingr   o  sb    
)C	s	B	RB
4<<zz>	s	BHHJ:::r-   c                 h   [        SUR                  S-   5       H  nUR                  UR                  XS95      n[	        U5      [	        U 5      :X  d   e[        U5      [        U 5      :X  d   eUR                  5       U R                  5       :X  d   eUR                  U R                  :X  a  M   e   g )Nr   rO   protocol)rangeHIGHEST_PROTOCOLloadsdumpsr5   r   r   
is_mutable)r:   picklerr   r>   s       r&   check_buffer_picklingr     s    !W559:w}}S}DE6{c#h&&&&!Z_444  "cnn&6666  CNN222 ;r-   c                    Sn[         R                  " U5      n[        U[         R                  5      (       d   eUR                  (       a   eUR
                  (       d   eUR                  5       nX1:X  d   e[        X 5        g N	   some data)r3   	py_bufferr   Bufferr   is_cpur   r   pickle_modulevalr:   r>   s       r&   test_buffer_bytesr     sc    
C
,,s
Cc299%%%%~~:::^^F==#-r-   c                 "   [         R                  " SSS9nUR                  5       S:X  d   eUR                  S:X  d   e[	        U5      nUR                  5       S:X  d   e[         R                  " U5      R                  S:w  d   e[        X5        g )Nr   )addressr   r-   )r3   foreign_bufferr   r   r   r   r   r   )r   	null_buffms      r&   test_buffer_null_datar     s    !!!!4I!S(((!!! 	9A99;#<<?""a''')3r-   c                     Sn[         R                  " U5      n[        U[         R                  5      (       d   eUR                  (       a   eUR
                  (       d   e[        U5      nX1:X  d   e[        X 5        g r   )r3   r   r   r   r   r   r   r   r   s       r&   test_buffer_memoryviewr     s`    
C
,,s
Cc299%%%%~~:::_F==#-r-   c                    [        S5      n[        R                  " U5      n[        U[        R                  5      (       d   eUR
                  (       d   eUR                  (       d   e[        U5      nX1:X  d   e[        X 5        g r   )rk   r3   r   r   r   r   r   r   r   s       r&   test_buffer_bytearrayr     sd    
L
!C
,,s
Cc299%%%%>>>:::s^F==#-r-   c                      [         R                  " [        SS9   [        R                  " S 5        S S S 5        g ! , (       d  f       g = f)Nz$(bytes-like object|buffer interface)r1   )r   r*   r9   r3   r   r,   r-   r&   test_buffer_invalidr     s3    	yC
E
T
E 
E 
Es	   :
Ac                      [         R                  " S5      n [        R                  " U 5      nU" 5       c   eA U" 5       b   eg r   )r3   r   r   r   )r:   r   s     r&   test_buffer_weakrefr     s;    
,,|
$C	S	B44<<r-   zval, expected_hex_buffer))s   checks
   636865636B)s   0s   0730)r-   r-   c                 \    [         R                  " U 5      nUR                  5       U:X  d   eg r)   )r3   r   hex)r   expected_hex_bufferr:   s      r&   test_buffer_hexr     s'    
 ,,s
C779++++r-   c                      [        S5      n SU S'   [        R                  " U 5      n[        R                  " USS9nUS   U S   :X  d   eU S==   S-  ss'   US   U S   :X  d   eUR
                  U:X  d   eg )N   *   r   uint8dtyperO   )rk   r3   r   np
frombufferbase)
byte_arrayr:   arrays      r&   test_buffer_to_numpyr     s     2JJqM
,,z
"CMM#W-E8z!}$$$qMQM8z!}$$$::r-   c                     [         R                  " S[         R                  S9R                  S5      n [        R
                  " U 5      nUR                  (       d   eUR                  (       d   eUR                  5       U R                  5       :X  d   e[        R
                  " U R                  5      nUR                  (       d   eUR                  (       d   eUR                  5       U R                  5       :X  d   e[        R                  " [        SS9   [        R
                  " U R                  S S S2   5      nS S S 5        g ! , (       d  f       g = f)N   r   )r`   rE   znot contiguousr1   rT   )r   arangeint8reshaper3   r   r   r   r   r   Tr   r*   
ValueError)arrr:   s     r&   test_buffer_from_numpyr     s     ))Bbgg
&
.
.v
6C
,,s
C:::>>>>>s{{},,,
,,suu
C:::>>>>>s{{},,,	z)9	:ll3551:& 
;	:	:s   'E
Ec                  T   Sn [        U 5      n[        U 5      n[        R                  " U 5      n[        R                  " U 5      n[        R                  " U5      n[        R                  " U5      nUR                  S:  d   eUR                  UR                  :X  d   eUR                  UR                  :w  d   eUR                  UR                  :w  d   e[        R
                  " S5      n[        R                  " U5      nUR                  UR                  R                  :X  d   eg )N
   some data!r   r   )rk   r3   r   r   r   r   ctypesrJ   )	b1b2b3buf1r   buf3buf4r   r:   s	            r&   test_buffer_addressr    s    	B	2B	2B<<D<<D<<D<<D<<!<<4<<'''<<4<<'''<<4<<'''
))A,C
,,s
C;;#**//)))r-   c                     S n S nSn[        U5      n[        U5      nSUS'   [        R                  " U5      n[        R                  " U5      n[        R                  " U5      n[        R                  " U5      n[        R                  " [        R                  " U[        R
                  S95      n	U " XU5        U " XV5        U " Xg5        U" Xh5        U " Xi5        g )Nc                 P    U R                  U5      (       d   eX:X  d   eX:w  a   eg r)   equalsabs     r&   eqtest_buffer_equals.<locals>.eq  s)    xx{{{vvF|Fr-   c                 P    U R                  U5      (       a   eX:X  a   eX:w  d   eg r)   r  r
  s     r&   netest_buffer_equals.<locals>.ne  s'    88A;;F|vvr-   r   r   r   r   )rk   r3   r   r   r   int16)
r  r  r   r   r  r  r   r  r  buf5s
             r&   test_buffer_equalsr    s    

 
B	2B	2BBqE<<D<<D<<D<<D<<b9:DtNtNtNtNtNr-   c                      [         R                  " S5      n U S:X  d   eU [        S5      :X  d   eU S:w  d   e[        R                  " [
        5         U S:H    S S S 5        g ! , (       d  f       g = f)Nr   s	   some dat1z	some data)r3   r   rk   r   r*   r9   r:   s    r&   test_buffer_eq_bytesr  )  s_    
,,|
$C,)L)))),	y	!{ 
"	!	!s   A!!
A/c                     [        S5      n [        R                  " U 5      n[        U 5      n[	        U* US-
  5       H  nX   X   :X  a  M   e   [
        R                  " [        5         X     S S S 5        [
        R                  " [        5         X* S-
       S S S 5        g ! , (       d  f       N:= f! , (       d  f       g = f)Nr   rO   )rk   r3   r   r5   r   r   r*   
IndexError)rJ   r:   r]   ixs       r&   test_buffer_getitemr  3  s    ]#D
,,t
CD	AQBAw$("""  
z	" 
# 
z	"BF 
#	" 
#	" 
#	"s   *B#	B4#
B14
Cc                     Sn [         R                  " U 5      nUR                  S5      n[         R                  " S5      nUR                  U5      (       d   eUR                  SS5      n[         R                  " S5      nUR                  U5      (       d   eUR                  S5      R                  U5      (       d   e[	        UR                  [	        U5      5      5      S:X  d   e[
        R                  " [        5         UR                  S5        S S S 5        [
        R                  " [        5         UR                  [	        U5      S-   5        S S S 5        US	S  R                  5       S
:X  d   e[
        R                  " [        5         UR                  S[	        U5      5        S S S 5        USS	 R                  5       UR                  5       SS  :X  d   e[
        R                  " [        5         UR                  SS5        S S S 5        USS  R                  UR                  S5      5      (       d   eUSS R                  UR                  SS5      5      (       d   eUSS  R                  UR                  [	        U5      S-
  5      5      (       d   eUSS R                  UR                  [	        U5      S-
  S5      5      (       d   e[
        R                  " [        5         US S S2     S S S 5        [
        R                  " [        5         US S S2     S S S 5        [	        U5      n[        U* S-  US-  5       HE  n[        U* S-  US-  5       H+  nXU R                  5       UR                  5       Xx :X  a  M+   e   MG     g ! , (       d  f       GN= f! , (       d  f       GNW= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)Nr   rT   s   me data!rE   s   me dr   rN   rO   rI   r-   r   r`   )
r3   r   slicer	  r5   r   r*   r  r   r   )	rJ   r:   slicedr=   sliced2	expected2r]   r[   stops	            r&   test_buffer_slicingr$  B  s   D
,,t
CYYq\F||K(H==""""ii1oGW%I>>)$$$$ 99Q<s#### syyS"#q(((	z	"		" 
# 
z	"		#c(Q, 
#rs8 C''' 
z	"		!SX 
#q9!S^^%5ab%9999 
z	"		!R 
# qr7>>#))A,''''q8??399Q?++++rs8??399SX\23333r":SYYs3x!|Q78888	z	"DbD	 
#	z	"CaC 
# 	CArAvq1u%1"q&!a%(DT?--/3>>3CE3OOOO ) &9 
#	" 
#	"
 
#	"
 
#	" 
#	"	"	"sH   N6N$N67O.	O	O+
N!$
N36
O
O
O(+
O9c                      [         R                  " [        SS9   [        [        R
                  " S5      5        S S S 5        g ! , (       d  f       g = f)N
unhashabler1   s   123)r   r*   r9   hashr3   r   r,   r-   r&   test_buffer_hashingr(  u  s-    	y	5R\\&!" 
6	5	5s    A
Ac                      Sn [         R                  " U 5      n[        R                  " U[        R                  S9nUR
                  R                  (       a   eg )Ns   12345r   )r3   r   r   r   r   flags	writeable)r  	arrow_ref	numpy_refs      r&   *test_buffer_protocol_respects_immutabilityr.  {  s@     	AQIirxx8I(((((r-   c                     [         R                  " SS/[         R                  S9n U R                  S   S   nU R                  n[
        R                  " XU 5      n[        R                  " U 5      nA [         R                  " U[         R                  S9R                  5       SS/:X  d   eU" 5       c   eAU" 5       b   eg )NrO   rT   r   rJ   r   )r   r   int32__array_interface__rM   r3   r   r   r   r   tolist)objaddrr   r:   r   s        r&   test_foreign_bufferr5    s    
((Aq6
*C""6*1-D::D


D
,C	S	B==BHH-4461a&@@@44<<r-   c                     [         R                  " S5      n U R                  S:X  d   eU R                  (       d   eU R                  b   eSn[         R
                  " U 5      nUR                  U5        U R                  5       S S U:X  d   eg )NrP   s   abcder   )r3   allocate_bufferr   r   r   FixedSizeBufferWriterr   r   )r:   bitwriters      r&   test_allocate_bufferr;    s{    


S
!C88s??>>>::
C%%c*F
LL>>BQ3&&&r-   c                      [         R                  " SSS9n [        U [         R                  5      (       d   eU R	                  S5        U R
                  S:X  d   eg )NrP   T)	resizable   )r3   r7  r   ResizableBufferresizer   r  s    r&   test_allocate_buffer_resizablerA    sH    


SD
1Cc2--....JJsO88s??r-   c                 	   [         R                  " S5      nUR                  S5      n[        R                  " S/5      nUR                  U5      n[        R                  R                  [        R                  " S5      SS U/5      nUR                  5       S   nUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  (       d   eSnSnU[        U5      ;   d   eU[        U5      ;   d   eUR!                  S5      n	UR"                  R%                  U	5      n
U
R'                  5       S	:X  d   eUSS
 n	UR"                  R%                  U	5      n
U
R'                  5       S:X  d   eU	R)                  USS
 5      (       d   eSn[         R*                  " [,        US9   UR)                  [        R.                  " U5      5        S S S 5        Sn[        R                  " S	/5      nUR                  U5      n[         R*                  " [0        US9   U	R)                  U5        S S S 5        [        R                  R                  [        R                  " S5      SS U/5      nUR                  5       S   n[         R*                  " [0        US9   U	R)                  U5        S S S 5        [         R*                  " [0        US9   UR3                  5         S S S 5        [         R*                  " [0        US9   UR3                  5         S S S 5        [         R*                  " [0        US9   US     S S S 5        [         R*                  " [0        US9   UR'                  5         S S S 5        [         R*                  " [0        US9   U R5                  US
S9  S S S 5        [         R*                  " [0        US9   U R5                  US
S9  S S S 5        [         R*                  " [0        US9   [7        U5        S S S 5        g ! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNb= f! , (       d  f       GNB= f! , (       d  f       GN-= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzpyarrow.cudar   s   testing   rO   z<pyarrow.Buffer address=z$size=7 is_cpu=False is_mutable=True>rT   s   stingrE   s   stz8Device on which the data resides differs between buffersr1   z'Implemented only for data on CPU devicer   r   )r   importorskipContextr   r   buffer_from_datar3   FixedSizeBinaryArrayfrom_buffersbinarybuffersr   r   r   r   reprr  
CudaBufferfrom_bufferr   r	  r*   r   r   NotImplementedErrorr   r   r   )r   cudactxrJ   cuda_bufr   
buf_on_gpurepr1repr2buf_on_gpu_slicedcuda_sliced
msg_devicemsg	arr_shortcuda_buf_shortbuf_on_gpu_shorts                   r&   test_non_cpu_bufferr\    s   ~.D
,,q/C88ZL!D##D)H

!
!
.
.ryy|Qx@P
QCq!J??hmm+++!1!1111///    &E2ED$$$$D$$$$"((+//--.?@K!!#x///"1Q//--.?@K!!#u,,, ##HQqM2222 LJ	z	4",,t,- 
5 4C($I)))4N	*#	6  0 
7''44
		!a$/I !((*1-	*#	6  !12 
7 
*#	6 
7 
*#	6 
7 
*#	61 
7 
*#	6 
7 
*#	6J3 
7 
*#	6Hq1 
7 
*#	6: 
7	6E 
5	4 
7	6 
7	6 
7	6 
7	6 
7	6 
7	6 
7	6 
7	6 
7	6sx   &P,P>Q6Q"(Q4RR3R*%R;S,
P;>
Q
Q"
Q14
R
R
R'*
R8;
S	
Sc                  T   [         R                  " 5       n [         R                  " SS9n[         R                  " SSS9n[         R                  " SSSS9n[         R                  " SSSS	9n[         R                  R                  S
SSSS9nU R                  S:X  d   eU R                  S:X  d   eU R
                  SL d   eU R                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR
                  SL d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR
                  SL d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR
                  SL d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR
                  SL d   eUR                  S:X  d   eUR
                  SL d   eX :X  d   eX:w  d   eX:w  d   eX#:w  d   eX4:w  d   eXP:w  d   eg )N   )hole_size_limit       )r_  range_size_limitr   )r_  rb  prefetch_limitF)r_  rb  lazyrP   r>  g?@   )time_to_first_byte_millistransfer_bandwidth_mib_per_sec ideal_bandwidth_utilization_fracmax_ideal_request_size_mibi   Tr   )r3   CacheOptionsfrom_network_metricsr_  rb  rd  rc  )opts1opts2opts3opts4opts5opts6s         r&   test_cache_optionsrr    sT   OOEOOD1EOOD4HEOOD-1!EEOOD-1?EOO003PSRULN 1 PE
   D(((!!%5555::1$$$  D(((!!%5555::1$$$  D(((!!T)))::1$$$  D(((!!T)))::1$$$  D(((!!T)))::1$$$::>>>>>>>>>>>>r-   c                     [         R                  " 5       [         R                  " SSSSS9/nU H)  nU R                  U R                  U5      5      U:X  a  M)   e   g )Nr`  ra  Tr   )r_  rb  rd  rc  )r3   rj  r   r   )r   optionsoptions      r&   test_cache_options_picklingrv  !  sX    

t!!	5G ""=#6#6v#>?6III r-   compressionbz2)r*   )marksbrotligziplz4zstdsnappyc                    [         R                  " U 5      (       d  [        R                  " U  S35        Sn[        R
                  R                  SSUS9R                  [        R                  5      R                  5       n[        R                  " U5      n[        R                  " X0S9n[        R                  " X SS9n[        U[        5      (       d   e[        R                  " XAU S9n[        R                  " XQU SS9n[        U[        5      (       d   eUR!                  U5      (       d   eXr:X  d   e[        R"                  " [$        5         [        R                  " XPS9  S S S 5        g ! , (       d  f       g = f)	N support is not built'  r      r   )codecT)r  asbytes)r
   is_availabler   r   r   randomrandintastyper   r   r3   r   compressr   bytes
decompressr	  r*   r   )rw  
INPUT_SIZE	test_datatest_bufcompressed_bufcompressed_bytesdecompressed_bufdecompressed_bytess           r&   test_compress_decompressr  ,  s3    k**{m#89:J""1c
";&"')  ||I&H[[=N{{9+/1 &....}}^+68'7-8$H (%0000""8,,,,***	z	"
&: 
#	"	"s   E00
E>c                    [         R                  " U 5      (       d  [        R                  " U  S35        [        U 5      nUR                  S:X  a  UR
                  b   eO![        UR
                  [        5      (       d   eS/nX;   a  [         R                  " U 5      (       a   e[        R                  " [        5         [        U S5        S S S 5        [        R                  " [        5         [         R                  " U 5        S S S 5        [        R                  " [        5         [         R                  " U 5        S S S 5        [        R                  " [        5         [         R                  " U 5        S S S 5        g Sn[        R                  R!                  SSUS9R#                  [        R$                  5      R'                  5       n[(        R*                  " U5      n[         R                  " U 5      n[         R                  " U 5      n[         R                  " U 5      nXg:  d   eX:  d   eX::  d   e[-        XgS-   5       H  n	[        X	5      nUR/                  U5      n
UR/                  USS	9n[        U[0        5      (       d   eUR3                  X5      nUR3                  XSS	9n[        U[0        5      (       d   eUR5                  U5      (       d   eX:X  d   e[        R                  " [        5         UR3                  U5        S S S 5        M     [7        [        R                  S
5      (       d  [        R                  " S5        [        R                  R9                  SS9nUR;                  SSS5      n[(        R<                  " U5      nUR?                  5       S   n[        X5      nUR/                  U5      n[        X5      nUR/                  U5      n[A        U5      [A        U5      :  d   eg ! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f! , (       d  f       GM  = f)Nr  r~  r   r  r  r  rO   T)r  default_rngzRequires newer version of numpyr   )seedrP   r   )!r
   r  r   r   namecompression_levelr   intsupports_compression_levelr*   r   minimum_compression_levelmaximum_compression_leveldefault_compression_levelr   r  r  r  r   r   r3   r   r   r  r  r  r	  hasattrr  integersr   rJ  r5   )rw  r  no_levelr  r  r  	min_level	max_leveldefault_levelr  r  r  r  r  rngvaluesr   hard_to_compress_buffer
weak_codecweakly_compressed_bufstrong_codecstrongly_compressed_bufs                         r&   test_compression_levelr  U  sh    k**{m#89:+EzzX&&...%1137777 zH33K@@@@]]:&+q! ']]:&++K8 ']]:&++K8 ']]:&++K8 'J""1c
";&"')  ||I&H//<I//<I33K@M   %%%%%%"9k:k51 >>)T>B*E2222 ++NG"--.>6: . < ,e4444&&x0000!...]]:&-. '& ;2 299m,,56
))

R

(C\\!S$'F
((6
C!kkmA.{.J&//0GH0L*334KL$%,C(DDDD} '&&&&&&&< '&s<    O>/P(P"!P4?Q>
P
P"
P14
Q
Q	c                  B   Sn [         R                  " U 5      nUR                  (       a   e[        U[         R                  5      (       d   e[        U5      nUR                  (       d   e[        R                  " [        5       nSUS'   S[        UR                  5      ;   d   e S S S 5        [        U5      n[        R                  " [        5       nSUS'   S[        UR                  5      ;   d   e S S S 5        g ! , (       d  f       N^= f! , (       d  f       g = f)Nr      hr   zcannot modify read-only)r3   r   r   r   r   r   readonlyr   r*   r9   r   valuer  )r   r:   r>   excr  s        r&   #test_buffer_memoryview_is_immutabler    s    
C
,,s
C~~c299%%%%_F???	y	!Sq	(C		N::: 
" 	c
A	y	!S!(C		N::: 
"	! 
"	!
 
"	!s   !C?!D?
D
Dc                      [         R                  " [        5         [        R                  " 5         S S S 5        g ! , (       d  f       g = fr)   )r   r*   r9   r3   r   r,   r-   r&   test_uninitialized_bufferr    s%     
y	!
		 
"	!	!s	   :
Ac                     Sn [         R                  " 5       nSn[        U5       H  nUR                  U 5        M     UR	                  5       n[        U5      [        U 5      U-  :X  d   eUR                  5       X-  :X  d   eg )N
   dataabcdefr   )r3   BufferOutputStreamr   r   r6   r5   r   )r   r%   Kir:   s        r&   test_memory_output_streamr    sq    
C
AA1X	  **,Cs8s3x!|###>>sw&&&r-   c                  F   [         R                  " 5       n U R                  S5        U R                  (       a   eU R	                  5         U R                  (       d   e[
        R                  " [        5         U R                  S5        S S S 5        g ! , (       d  f       g = f)N   oks   not ok)r3   r  r   r7   r6   r   r*   r   r   s    r&    test_inmemory_write_after_closedr    s_    
AGGENxx<JJL88O8	z	"		 
#	"	"s   7B
B c                     S n U " S5      n[         R                  " 5         US:X  d   eSn[        R                  " U5      n[	        S5       H  nU " U5        M     [         R                  " 5         U[        R                  " U5      :X  d   eg )Nc                 @    [        [        R                  " U 5      5      $ r)   )rk   r3   r   )	bytes_objs    r&   make_buffer6test_buffer_protocol_ref_counting.<locals>.make_buffer  s    i011r-      foorj   )r   r   r   getrefcountr   )r  r:   r   refcount_beforer  s        r&   !test_buffer_protocol_ref_countingr    ss    2 f
CJJL&== Cooc*O2YC JJLcooc2222r-   c                     [         R                  " 5       n Sn[        R                  " USS9nU R	                  U5        U R	                  [        U5      5        U R	                  [         R                  " U5      5        [        R                  " [        5         U R	                  UR                  S5      5        S S S 5        U R                  5       nUR                  5       US-  :X  d   eg ! , (       d  f       N8= f)Nr  S1r   utf8r`   )r3   r  r   r   r   rk   r   r   r*   r9   decoder6   r   )r%   rJ   r   r:   s       r&    test_nativefile_write_memoryviewr    s    
AD
--D
)CGGCLGGIdOGGBLL	y	!	F#$ 
" **,C>>tax''' 
"	!s   !C**
C8c                  D   Sn [         R                  " 5       n[         R                  " 5       nSn[        U5       H%  nUR	                  U 5        UR	                  U 5        M'     UR                  5       [        UR                  5       5      :X  d   e[         R                  R                  [         R                  " / SQ5      /S/5      n[         R                  " 5       n[         R                  " 5       n[         R                  " XR                  5      n[         R                  " X%R                  5      nUR                  U5        UR                  U5        UR                  5         UR                  5         UR                  5       [        UR                  5       5      :X  d   eg )Nr  r   )rO   rT   r`   r  )r3   MockOutputStreamr  r   r   r   r5   r6   RecordBatchfrom_arraysr   RecordBatchStreamWriterschemawrite_batchr8   )r   f1f2r  r  record_batchstream_writer1stream_writer2s           r&   test_mock_output_streamr  
  s0   
 C				B				 BA1X

  779BKKM**** >>--rxx	/B.CcUKL				B				 B//4G4GHN//4G4GHN|,|,779BKKM****r-   c                   ^ Sn[        U5       Vs/ s H  n[        R                  " SS5      PM     nn[        US U 5      n[        R
                  R                  [        U5      [        5       5      m[        TS5       nUR                  U5        S S S 5        U4S jnU R                  U5        TU4$ s  snf ! , (       d  f       N.= f)Nr`  r   r  r   c                     > [        T 5        g r)   )_try_deleter   s   r&   teardown"sample_disk_data.<locals>.teardown;  s    Dr-   )r   r  r  r  r    r   r   r   r	   r   r   addfinalizer)	requestr   SIZE_r   rJ   r%   r  r   s	           @r&   sample_disk_datar  0  s    D+0;
7;a6>>!S!;C
7UdD77<<FTV,D	dD	Q	 
 ": 8
 
	s   !B4?B99
Cc                 Z   Uu  p4U " USS9nUR                  S5      US S :X  d   eUR                  S5      S:X  d   eUR                  5       S:X  d   eUR                  5       USS  :X  d   eUR                  5       [        U5      :X  d   eUR	                  S5        UR                  5       S:X  d   eU(       aV  UR	                  [        U5      S-   5        UR                  5       [        U5      S-   :X  d   eUR                  S5      S:X  d   eUR	                  S5      S:X  d   eUR	                  S[
        R                  5      S	:X  d   eUR                  5       S	:X  d   e[        U5      S
-
  nUR	                  S[
        R                  5      U:X  d   eUR                  5       U:X  d   eg )NrB   rC   rj   r   r-   rO   r   r`   rS   rT   r  )r   r   r   r5   r   r    SEEK_CURSEEK_END)FACTORYsample_dataallow_read_out_of_boundsr   rJ   r%   	ex_lengths          r&   _check_native_file_readerr  B  sv   JD3A66":cr"""66!9668r>>668tBCy   668s4y   FF1I668q==  	s4y1}vvx3t9q=(((vvayC 66!9>>66!R[[!Q&&&668q==D	AI66"bkk"i///668y   r-   c                 6    [        [        R                  U SS9  g )NF)r  )r  r3   
memory_mapr  s    r&   test_memory_map_readerr  c  s    bmm-=7<>r-   c                    U u  p/ n[         R                  " US5       nUR                  UR                  S5      US S 45        UR                  UR                  S5      USS 45        UR                  UR                  S5      USS 45        S S S 5        [        R
                  " 5         U H  u  pVUR                  5       U:X  a  M   e   g ! , (       d  f       NE= f)Nr   rP   r>  i,  )r3   r  appendr   r   r   r   )r  r   rJ   casesr%   r:   r=   s          r&   'test_memory_map_retain_buffer_referencer  h  s    !JDE	tT	"aammC($t*56ammC($s3-89ammC($s3-89 
# JJL~~8+++  
#	"s   A0C
Cc                 8    [        [        R                  U 5        g r)   )r  r3   OSFiler  s    r&   test_os_file_readerr  x  s    bii)9:r-   c                  6    [        [        R                  5        g r)   )r'   r3   r  r,   r-   r&   test_os_file_large_seeksr  |  s    bii r-   c                 f     [         R                  " U 5        g ! [         R                   a     g f = fr)   )r    removeerrorr  s    r&   r  r    s(    
		$88 s    00c                 2   [         R                  S:X  a  [        R                  " S5        Sn[	        U5       Vs/ s H  n[
        R                  " SS5      PM     nn[        US U 5      n[        R                  R                  [        U 5      [        5       5      n[        US5       nUR                  U5        S S S 5        [        R                   " USS9nUR#                  S	5        UR                  S
5        UR%                  5       S:X  d   eUR#                  S	5        UR'                  S5      S
:X  d   e[        R                   " USS9nUR#                  S	5        UR                  S5        UR#                  S	5        UR#                  S	5        UR'                  S5      S:X  d   e[        R                   " USS9nUR                  S5        [        R                   " U5       n	U	R)                  5       U:X  d   e S S S 5        [        R*                  " [,        5         UR'                  S5        S S S 5        UR#                  S5        UR'                  S5      S:X  d   eg s  snf ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N_= f)Nr   z:Multiple memory maps to same file don't work on emscriptenr`  r   r  r   r+brC   rj   s   peekaboo      s   booapeakrd   r  r   r`   )r   r   r   xfailr   r  r  r  r    r   r   r   r	   r   r   r3   r  r   r   r   r   r*   IOError)
r   r  r  r   rJ   r   r%   r  f3f4s
             r&   test_memory_map_writerr    s   
|||#QRD+0;
7;a6>>!S!;C
7UdD77<<FTV,D	dD	Q	 
 	d'AFF2JGGK668r>>FF2J66!9###	t%	(BGGBKHH[GGBKFF2J66!9### 
t#	&BHHV	t	wwyD    
 
w	

 
  FF1I66!9I 8 
	2 
	 
 	s)   !I (I%#I7J%
I47
J
Jc                 `   Sn[        U5       Vs/ s H  n[        R                  " SS5      PM     nn[        US US-   5      n[        X1S-  S  5      n[        R
                  R                  [        U 5      [        5       5      n[        R                  " XaS-  5      nUR                  U5        UR                  U5        UR                  U5        UR                  5         [        US5       nUR                  5       [        US U 5      :X  d   e S S S 5        g s  snf ! , (       d  f       g = f)Nr`  r   r  rT   r   )r   r  r  r  r    r   r   r   r	   r3   create_memory_mapr   r@  r8   r   r   )	r   r  r  r   data1data2r   mmapr%   s	            r&   test_memory_map_resizer
    s    D+0;
7;a6>>!S!;C
7#l	#$E#qyl#$E77<<FTV,DQh/DJJuKKJJuJJL	dD	Qvvx5Ud,,,, 
	 8 
	s   !D-#D
D-c                 *   [         R                  R                  [        U 5      [	        5       5      n[        US5      nUR                  5         [        R                  " USS9 nUR                  5       S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   r  rC   r   )
r    r   r   r   r	   r   r8   r3   r  r   )r   r   r%   r  s       r&   test_memory_zero_lengthr    sb    77<<FTV,DT4AGGI	t%	(J A%%% 
)	(	(s   #B
Bc                      [         R                  S:  a  S n O#[        R                  " [        R
                  SS9n [        [        R                  U S9  g )Nl        zARequested memory map length 4294967306 does not fit in a C size_tr1   r#   )r   maxsizer   r*   r3   ArrowCapacityErrorr'   r  r  s    r&   test_memory_map_large_seeksr    s?    
{{e!!/0 bmmNCr-   c                    [         R                  R                  [        U 5      [	        5       5      n[
        R                  " US5      nUR                  5         UR                  (       d   e[         R                  " U5        g Nr`  )
r    r   r   r   r	   r3   r  r8   r7   r  )r   r   r	  s      r&   test_memory_map_close_remover    sN    77<<FTV,Dd+DJJL;;;IIdOr-   c                     [         R                  R                  [        U 5      [	        5       5      n[
        R                  " US5        [         R                  " U5        g r  )r    r   r   r   r	   r3   r  r  )r   r   s     r&   test_memory_map_deref_remover    s7    77<<FTV,Dt$IIdOr-   c                    Sn[        U5       Vs/ s H  n[        R                  " SS5      PM     nn[        US U 5      n[        R
                  R                  [        U 5      [        5       5      n[        US5       nUR                  U5        S S S 5        [        R                  " USS9nUR                  S5        [        R                  " U5       nUR                  5       S:X  d   e S S S 5        [        R                  " [         5         UR#                  S	5        S S S 5        UR%                  5         [        R                  " US
S9 n	U	R                  S5        S S S 5        [        R                  " U5       n
U
R                  5       S:X  d   e S S S 5        g s  snf ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N~= f! , (       d  f       g = f)Nr`  r   r  r   rd   rC   r  r`   r   abs   barrS   )r   r  r  r  r    r   r   r   r	   r   r   r3   r  r   r   r*   r  r   r8   )r   r  r  r   rJ   r   r%   r  r  r  f5s              r&   test_os_file_writerr    sP   D+0;
7;a6>>!S!;C
7UdD77<<FTV,D	dD	Q	 
 
4c	"BHHV	4BwwyA~~ 
 
w	

 
 HHJ 
4d	#r
 
$	4BwwyA~~ 
+ 8 
	 
 
 	
 
$	#	sA   !F>F#F5GG=G(#
F25
G
G
G%(
G6c                      [         R                  " 5       n [        R                  " [        5         U R                  S5        S S S 5        g ! , (       d  f       g = f)Nfoo)r3   r  r   r*   r9   r   )nfs    r&   %test_native_file_write_reject_unicoder    s3    				 B	y	!
 
"	!	!s   A
Ac                 
   [         R                  R                  [        U 5      [	        5       5      n[        US5       nUR                  S5        S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       d   e S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       d   e S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   e S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   e S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   e S S S 5        [        R                  " USS9 nUR                  S:X  d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   e S S S 5        [        US5       nUR                  S5        S S S 5        [        R                  " US5       nUR                  S:X  d   eUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       d   e S S S 5        [        R                  " US	5       nUR                  S
:X  d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   e S S S 5        [        R                  " US5       nUR                  S
:X  d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   e S S S 5        g ! , (       d  f       GNb= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN6= f! , (       d  f       GN= f! , (       d  f       GNn= f! , (       d  f       GN
= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN*= f! , (       d  f       g = f)Nr      foooorB   rC   r   rd   r  r  zr+zrb+r  )r    r   r   r   r	   r   r   r3   r  rD   r   r   rU   r  )r   r   r%   s      r&   test_native_file_modesr!  
  s   77<<FTV,D	dD	Q	 
 
4c	"avv~~zz|||::<<zz|||	 
# 
4d	#qvv~~zz|||::<<zz|||	 
$ 
4c	"avv~~::<<zz|||::<<<	 
# 
4d	#qvv~~::<<zz|||::<<<	 
$ 
4d	#qvv~~::<<zz|||::<<<	 
$ 
4c	"avv~~::<<zz|||::<<<	 
# 
dD	Q	 
 
tS	!Qvv~~zz|||::<<zz|||	 
" 
tT	"avvzz|||zz|||zz|||	 
# 
tU	#qvvzz|||zz|||zz|||	 
$	#m 
	 
#	" 
$	# 
#	" 
$	# 
$	# 
#	" 
	 
"	! 
#	" 
$	#s   R+-AR=#ASAS!AS3AT;AT(T)AT;AU	AU+
R:=
S
S!
S03
T
T
T&)
T8;
U

U
U-r   z umask doesn't work on Emscripten)reasonc                    [         R                  " S5      n[         R                  " U5        [         R                  R                  [	        U 5      [        5       5      n[        R                  " USS9    S S S 5        [         R                  " U5      R                  S-  SU) -  :X  d   e[         R                  R                  [	        U 5      [        5       5      n[        R                  " US5          S S S 5        [         R                  " U5      R                  S-  SU) -  :X  d   eg ! , (       d  f       N= f! , (       d  f       NM= f)NrT   rd   rC   i  i  )r    umaskr   r   r   r	   r3   r  statst_moder  )r   	cur_umaskr   s      r&   test_native_file_permissionsr(  I  s    
 IHHY77<<FTV,D	4c	" 
#774=  5(EYJ,>>>>77<<FTV,D	tS	! 
"774=  5(EYJ,>>>> 
#	"
 
"	!s   3D*2D;*
D8;
E	c                    [         R                  R                  [        U 5      [	        5       5      n[        US5       nUR                  S5        S S S 5        [        R                  " USS9 nUR                  (       a   e S S S 5        WR                  (       d   e[        R                  " USS9 nUR                  (       a   e S S S 5        WR                  (       d   eUU/n/ SQnU H?  nU H6  u  px[        R                  " [        5         [        X'5      " U6   S S S 5        M8     MA     g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       M  = f)Nr   r   r   rC   ))r   r,   )r   )r   )r   r,   )flushr,   )r   r,   )r   r,   )rU   r,   )r    r   r   r   r	   r   r   r3   r  r7   r  r   r*   r   getattr)	r   r   r%   os_file	mmap_filefilesmethodsmethodargss	            r&   .test_native_file_raises_ValueError_after_closer2  \  s   77<<FTV,D	dD	Q	 
 
4d	#w>>!!> 
$>>>	t$	'9##### 
(E!G #LFz*"D) +* $ - 
	 
$	# 
(	'" +*s/   D0-E2EE#0
D>
E
E #
E2c                 f   Sn[         R                  R                  [        U 5      [	        5       5      n[        US5       nUR                  UR                  S5      5        S S S 5        [        [        R                  " USS95       nUR                  5       (       d   eUR                  5       nXQ:X  d   e S S S 5        WR                  (       d   e[        [        R                  " USS95       n[        U5      nSR                  U5      U:X  d   e S S S 5        [         R                  R                  [        U 5      [	        5       5      n[        [        R                  " USS95       nUR                  5       (       d   eUR                  U5        S S S 5        [        [        R                  " USS95       nUR                  5       nXQ:X  d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN>= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzfoooo
barrr
bazzz
r   utf-8r   rC    )r    r   r   r   r	   r   r   encoder   r3   r  r   r   r7   listr   )r   rJ   r   r%   filresr   path2s           r&   test_native_file_TextIOWrapperr;  z  s   D 77<<FTV,D	dD	Q	G$% 
 
ryyD1	2c||~~~hhj{{ 
3 :::	ryyD1	2cS	wwu~%%% 
3 GGLLVdf-E	ryyT2	3s||~~~		$ 
4 
ryyT2	3shhj{{ 
4	3) 
	 
3	2 
3	2 
4	3 
4	3s<    !G/G.0#H +)H:H"
G+.
G= 
H
H"
H0c                    Sn[        U S-  5      n[        US5       nUR                  US-  5        S S S 5        [        R                  " USS9n[        U5       nUR                  5       S:X  d   eSnUR                  U5      n[        U5      [        R                  " S	U-  [        U5      -  5      :X  d   eXTR                  5       s=::  a
  US	-  ::  d   e   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
Ns	   foo
quux
largefile.txtr   i r   rC   r   i N  rT   )r   r   r   r3   r  r   r   	readlinesr5   mathceil)r   rJ   r   r%   binary_filerM   r   s          r&   #test_native_file_TextIOWrapper_perfrB    s     Dv'(D	dD	Q	w 
 ))Dt,K	{	#q!Q&&&F#5zTYYq6zCI'=>>>>))+9vz99999 
$	#	 
	 
$	#s   C$B C5$
C25
Dc                    SS-  n[        U S-  5      n[        US5       nUR                  U5        S S S 5        / n[        R                  " USS9 n UR                  5       n[        U5      [        U5      :  d   eUR                  U5        UR                  S5      n[        U5      S::  d   eUR                  U5        U(       d  OMx  S S S 5        SR                  U5      U:X  d   eg ! , (       d  f       N= f! , (       d  f       N7= f)	Ns   123
i@B r=  r   r   rC   i0u  r-   )	r   r   r   r3   r  read1r5   r  r   )r   rJ   r   r%   chunksr  s         r&   test_native_file_read1rF    s     iDv'(D	dD	Q	 
 F	4d	#q	Aq6CI%%%MM!Aq6V###MM!  
$ 88Ft### 
	 
$	#s   C+A:C<+
C9<
D
c                    SS K nSS KJn  SS-  n[        U S-  5      n[	        US5       nUR                  U5        S S S 5        [        R                  " USS9 nUR                  USS	9nUR                  S
/S-  S/S-  S.5      nUR                  Xg5        UR                  5       S::  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   s   a,b
i r=  r   r   rC   rj   )nrowsr  r  r
  i   )pandaspandas.testingtestingr   r   r   r3   r  read_csv	DataFrameassert_frame_equalr   )r   pdtmrJ   r   r%   dfr=   s           r&   #test_native_file_pandas_text_readerrR    s     j Dv'(D	dD	Q	 
 
4d	#q[["[%<<sebjurz BC
b+vvx:%%% 
$	# 
	 
$	#s   B7AC7
C
Cc                      [        5          [        R                  " SS5        S S S 5        [        5          [        R                  " SS5        S S S 5        g ! , (       d  f       N9= f! , (       d  f       g = f)Nnon_existent_filer   )r.   r3   r  r  r,   r-   r&   test_native_file_open_errorrU    sI    		 
		%t, 
!		 
)40 
!	  
!	 	 	 s   AA'
A$'
A5c                      [         R                  " S5      n [         R                  " U SS9nUR                  S5      S:X  d   eU R	                  5       S:X  d   eUR                  5         UR                  (       d   eU R                  (       d   eg )N	   123456789rE   buffer_sizerT      12)r3   r   BufferedInputStreamr   r   r8   r7   )rawr%   s     r&   test_buffered_input_streamr]    sj    
//,
'C
s2A66!988:??GGI88O8:::r-   c                     [         R                  " [         R                  " S5      SS9n U R                  S5      S:X  d   eU R	                  5       nU R
                  (       d   eUR
                  (       a   eUR                  5       (       d   eUR                  S5      S:X  d   eUR                  S5        UR                  S5      S:X  d   eg )NrW  rE   rX  rT   rZ     5678s   3456)r3   r[  r   r   detachr7   rU   r   r%   r\  s     r&   *test_buffered_input_stream_detach_seekablerb    s    
r|<!LA66!9
((*C88O8zz><<>>>88A;'!!!HHQK88A;'!!!r-   c                     [         R                  " [         R                  " [         R                  " S5      SS9SS9n U R                  S5      S:X  d   eU R	                  5       nU R
                  (       d   eUR
                  (       a   eUR                  5       (       a   eUR                  S5      S:X  d   e[        R                  " [        5         UR                  S5        S S S 5        g ! , (       d  f       g = f)NrW  rE   rX  rT   rZ  r_  )r3   r[  r   r   r`  r7   rU   r   r*   EnvironmentErrorr   ra  s     r&   .test_buffered_input_stream_detach_non_seekablere    s    

r|<!L	A 66!9
((*C88O8zz>||~~88A;'!!!	'	( 
)	(	(s   C--
C;c                  2   [         R                  " S[         R                  S9n [        R                  " U 5      n[        R
                  " U5      n[        R                  " USS9nUR                  S5        U S S R                  5       S:X  d   eUR                  5         U S S R                  5       S:X  d   eUR                  S5        UR                  5         UR                  (       d   eUR                  (       d   eU S S	 R                  5       S
:X  d   eg )NrP   r   rE   rX  rZ            12  s   3456789rj   s
   123456789 )r   zerosr   r3   r   r8  BufferedOutputStreamr   r   r*  r8   r7   )np_bufr:   r\  r%   s       r&   test_buffered_output_streamrl    s    XXc)F
,,v
C

"
"3
'C
3AGGEN"1:;...GGI"1:9,,,GGJGGI88O8:::#2; N222r-   c                     [         R                  " S[         R                  S9n [        R                  " U 5      n[        R
                  " [        R                  " U5      SS9nUR                  S5        U S S R                  5       S:X  d   eUR                  5       nUR                  (       d   eUR                  (       a   eU S S R                  5       S:X  d   eg )NrP   r   rE   rX  rZ  rg  rh  )r   ri  r   r3   r   rj  r8  r   r   r`  r7   )rk  r:   r%   r\  s       r&   "test_buffered_output_stream_detachrn    s    XXc)F
,,v
C
 8 8 =1MAGGEN"1:;...
((*C88O8zz>"1:9,,,r-   c                    [         R                  " USS9n[         R                  " X25       nUR                  (       a   eUR	                  5       (       d   eUR                  5       (       a   eUR                  5       (       a   eUR                  5       nXP:X  d   e S S S 5        WR                  (       d   eUR                  (       d   e[         R                  " USS9n[         R                  " X25       nUR                  5       n[        U[         R                  5      (       d   eUR                  5       U :X  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fNr   rC   )r3   r  CompressedInputStreamr7   r   r   rU   r   r   r   r   r   )rJ   fnrw  r\  
compressedgotr:   s          r&   check_compressed_inputru  '  s   
))BT
"C		!	!#	3z$$$$""$$$$&&((((&&((((oo{{ 
4 ::: ))BT
"C		!	!#	3z$$&#ryy))))~~4''' 
4	3 
4	3 
4	3s   A0E6AE
E
E'c                     Sn[        U S-  5      n[        R                  " US5       nUR                  U5        S S S 5        [	        XS5        g ! , (       d  f       N= f)N   some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
eof
zcompressed_input_test.gzr   r{  )r   r{  r   r   ru  r   rJ   rr  r%   s       r&   test_compressed_input_gzipry  ;  sJ    .D	V00	1B	2t		 
4V, 
	s   A
Ac                 .   Sn[        U S-  5      n[        R                  " US5       nUR                  U5        S S S 5         [	        XS5        g ! , (       d  f       N= f! [
         a)  n[        R                  " [        U5      5         S nAg S nAff = f)Nrw  zcompressed_input_test.bz2rd   rx  )r   rx  BZ2Filer   ru  rN  r   r   )r   rJ   rr  r%   es        r&   test_compressed_input_bz2r}  D  ss    .D	V11	2B	R		 
t/ 
	  CFs#   AA! 
A!
B+BBc                    [         R                  " S5      (       d  [        R                  " S5        Sn[	        U S-  5      n[
        R                  " US5       nUR                  U5        S S S 5        [        R                  " US5       nUR                  5       nUR                  5       U:X  d   e S S S 5        WR                  (       d   e[        R                  " [        R                  " U5      S5       nUR                  5       nUR                  5       U:X  d   e S S S 5        UR                  (       d   e[        US5      n[        R                  " US5       nUR                  5       nUR                  5       U:X  d   e S S S 5        UR                  (       d   eg ! , (       d  f       GN>= f! , (       d  f       GN	= f! , (       d  f       N= f! , (       d  f       NW= f)Nr{  gzip support is not builtrw  z!test_compressed_input_openfile.gzr   r   )r
   r  r   r   r   r{  r   r   r3   rq  r   r   r7   pathlibPath)r   rJ   rr  r%   rs  r:   s         r&   test_compressed_input_openfiler  O  sl   f%%/0.D	V99	:B	2t		 
 
	!	!"f	-$$&~~4''' 
. 		!	!',,r"2F	;z$$&~~4''' 
< RA		!	!!V	,
$$&~~4''' 
- 88O8# 
	 
.	-
 
<	; 
-	,s0   F"
'F48'G'G"
F14
G
G
G%c                     [         R                  " USS9n[         R                  " X25       nUR                  5       nXP:X  d   e S S S 5        g ! , (       d  f       g = frp  )r3   r  rq  r   )rJ   rr  rw  r\  rs  rt  s         r&   check_compressed_concatenatedr  j  sD    
))BT
"C		!	!#	3zoo{{ 
4	3	3s   A
Ac                 P   Sn[        U S-  5      n[        R                  " US5       nUR                  US S 5        S S S 5        [        R                  " US5       nUR                  USS  5        S S S 5        [	        XS5        g ! , (       d  f       NO= f! , (       d  f       N,= f)Nrw  zcompressed_input_test2.gzr   rG   r  r{  )r   r{  r   r   r  rx  s       r&   !test_compressed_concatenated_gzipr  q  s    .D	V11	2B	2t		Sb	 
	2t		RS	 
!$F3	 
			s   BB
B
B%c                  H   Sn [         R                  " U 5      n[        R                  " [        5         [         R
                  " US5        S S S 5        [        R                  " [        5         [         R
                  " US 5        S S S 5        [         R
                  " US5       n[        R                  " [        SS9   UR                  5         S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nr= f! , (       d  f       N9= f! , (       d  f       g = f)Ns   foofoofoofoofoofoofoofoofoofoounknown_compressionr{  zzlib inflate failedr1   )	r3   r   r   r*   r   rq  r9   r  r   )rJ   r\  rs  s      r&   test_compressed_input_invalidr  |  s    D
//$
C	z	"
  &;< 
#	y	!
  d+ 
" 
	!	!#v	.*]]7*?@OO A 
/	. 
#	"	!	! A@ 
/	.s;   C -C1$D>DD 
C.1
C?
D	D
D!c                 6   [         R                  " 5       n[         R                  " X25       nUR                  (       a   eUR	                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   eUR                  U 5        S S S 5        WR                  (       d   eUR                  (       d   e[        US5       nUR                  UR                  5       5        S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = f)Nr   )
r3   r  CompressedOutputStreamr7   r   r   rU   r   r   r6   )rJ   rr  rw  r\  rs  r%   s         r&   make_compressed_outputr    s    



!C		"	"3	4
$$$$&&((((""$$$$&&(((( 
5 :::	b$1	 
 
5	4 
s   A*C9 D
9
D

Dc                     Sn[        U S-  5      n[        XS5        [        R                  " US5       nUR	                  5       nXA:X  d   e S S S 5        g ! , (       d  f       g = f)Nrw  zcompressed_output_test.gzr{  r   )r   r  r{  r   r   )r   rJ   rr  r%   rt  s        r&   test_compressed_output_gzipr    sR    .D	V11	2B4V,	2t	ffh{{ 
		s   A
A$c                 <   Sn[        U S-  5      n [        XS5        [
        R                  " US5       nUR                  5       nXQ:X  d   e S S S 5        g ! [         a)  n[        R                  " [        U5      5         S nANgS nAff = f! , (       d  f       g = f)Nrw  zcompressed_output_test.bz2rx  rB   )r   r  rN  r   r   rx  r{  r   )r   rJ   rr  r|  r%   rt  s         r&   test_compressed_output_bz2r    s    .D	V22	3Bt/ 
R	ffh{{ 
	  CF		s"   A B
B
!BB

Bc                    [         R                  " S5      (       d  [        R                  " S5        [        R
                  " U S-  S5       nUR                  S5        S S S 5        U S-  R                  S5       n[        R
                  " US5       nUR                  S5        S S S 5        S S S 5        g ! , (       d  f       N]= f! , (       d  f       N(= f! , (       d  f       g = f)Nr{  r  zctor.gzs   testzctor2.gzr   )r
   r  r   r   r3   r  r   r   )r   rZ   r%   s      r&   test_output_stream_constructorr    s    f%%/0		"	"6I#5v	>&W 
?
:
	#	#D	)Q&&q&1VLL! 2 
*	) 
?	> 21 
*	)s0   B5:CC$C5
C
C	C
C%)r   expected_compression)zfile.bz2rx  )zfile.lz4r|  zfile.gzzpath/to/file.zstc                 v   [         R                  " U5      (       dN  [        R                  " [        R
                  R                  5         [         R                  " U 5        S S S 5        g [         R                  " U 5      n[        U[         5      (       d   eUR                  U:X  d   eg ! , (       d  f       g = fr)   )
r
   r  r   r*   r3   libArrowNotImplementedErrordetectr   r  )r   r  r  s      r&   test_compression_detectionr    s     233]]266::;LL <; T"%''''zz1111 <;s   
B**
B8c                     [         R                  " [        5         [        R                  " S5        S S S 5        [         R                  " [
        5         [        S 5        S S S 5        [         R                  " [        5         [        S5        S S S 5        g ! , (       d  f       Nk= f! , (       d  f       NN= f! , (       d  f       g = f)Nunknown)r   r*   r   r
   r  r9   r,   r-   r&   test_unknown_compression_raisesr    sl    	z	"9% 
#	y	!d 
"	z	"i 
#	"	 
#	"	!	!	"	"s#   BB(B9
B%(
B69
Cc                 ,   [         R                  " U 5      (       d  [        R                  " U  S35        Sn[        R
                  " 5       n[        R                  " X 5       nUR                  U5        S S S 5        UR                  5       n[        U5      [        U5      :  d   e[        R                  " U5      n[        R                  " X 5       nUR                  5       nXQ:X  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr  rw  )r
   r  r   r   r3   r  r  r   r6   r5   r   rq  r   )rw  rJ   r\  rs  cdatart  s         r&   test_compressed_roundtripr    s     k**{m#89:.D



!C		"	"3	4
 
5 LLNEu:D	!!!
//%
 C		!	!#	3zoo{{ 
4	3 
5	4 
4	3s   "C4D4
D
D)rx  rz  r{  r|  r}  c                    [         R                  " U 5      (       d  [        R                  " U  S35        [        R
                  R                  [        R                  " / SQ5      /S/5      n[        R                  " 5       n[        R                  " X 5      n[        R                  " X1R                  5      nUR                  USS9  UR                  5         UR                  5         UR                  5       n[        R                  " [        R                   " U5      U 5      n[        R"                  " U5      R%                  5       nXa:X  d   eg )Nr  )rO   rT   r`   rE   r   r  r`   )max_chunksize)r
   r  r   r   r3   Tabler  r   r  r  r  r  write_tabler8   r6   rq  r   RecordBatchStreamReaderread_all)rw  tabler\  rZ   r:  r:   	got_tables          r&   "test_compressed_recordbatch_streamr    s    
 k**{m#89: HH  "((?";!<seDE



!C&&s8F''=F
uA.
LLN
LLN
,,.C%%booc&:KHF**62;;=Ir-   u   Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera !c                 N   [        U5      n[        R                  " [        R                  " U R	                  U5      5      X5      n/ n UR                  [        U5      5      nUR                  U5        U(       d  OM5  SR                  U5      nUR                  U5      U :X  d   eg )Nr-   )
iterr3   transcoding_input_streamr   r6  r   nextr  r   r  )rJ   src_encodingdest_encodingchunk_sizesrZ   outr:   s          r&   check_transcodingr    s    {#K((
L12%F C
kk${+,

3	 
 ((3-C::m$,,,r-   zsrc_encoding, dest_encoding)r4  utf-16r  r4  )r4  z	utf-32-le)r4  z	utf-32-bec           	      x    [        [        XSS/5        [        [        X[        R                  " / SQ5      5        g )Nr   r   )rO   rT   r`   r   )r  unicode_transcoding_example	itertoolscycle)r  r  s     r&   test_transcoding_input_streamr    s4     1"D!9> 1"ool35r-   )r4  r4  )r4  UTF8c                 h    [         R                  " S5      n[         R                  " X U5      UL d   eg )Ns   abc123)r3   r   r  r  r  rZ   s      r&   test_transcoding_no_opsr  +  s7    
 __Y'F&&m-067 7 7r-   )r4  ascii)r4  zlatin-1c                    [         R                  " [         R                  " SR                  U 5      5      U U5      n[        R
                  " [        5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Nu   ĀrO   )r3   r  r   r6  r   r*   UnicodeEncodeErrorr   r  s      r&   test_transcoding_encoding_errorr  5  sU     ((
56F 
)	*A 
+	*	*s   A11
A?r  r  c                     [         R                  " [         R                  " S5      U U5      n[        R                  " [
        5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Ns   rO   )r3   r  r   r   r*   UnicodeErrorr   r  s      r&   test_transcoding_decoding_errorr  C  sL     ((
+,F 
|	$A 
%	$	$s   A""
A0c                     Sn [         R                  " U 5      [        U 5      4 H/  n[         R                  " U5      nUR	                  5       U :X  a  M/   e   [
        R                  " U 5      n[         R                  " [        U5      5      nUR	                  5       U:X  d   e[         R                  " [        U5      SS9nUR	                  5       U :X  d   eg Nrw  r{  rw  )r3   r   r   input_streamr   r{  r  )rJ   argrZ   gz_datas       r&   test_input_stream_bufferr  T  s    .DT"Jt$45%{{}$$$ 6 mmD!G__Z01F;;=G###__Z0fEF;;=D   r-   c                  |     " S S5      n [         R                  " U " 5       5      nUR                  S5      S:X  d   eg )Nc                   4    \ rS rSrS r\S 5       rSS jrSrg)1test_input_stream_duck_typing.<locals>.DuckReaderid  c                     g r)   r,   rv   s    r&   r8   7test_input_stream_duck_typing.<locals>.DuckReader.closef  ry   r-   c                     gr{   r,   rv   s    r&   r7   8test_input_stream_duck_typing.<locals>.DuckReader.closedi  r}   r-   Nc                     g)N   hellor,   )rw   rM   s     r&   r   6test_input_stream_duck_typing.<locals>.DuckReader.readm  s    r-   r,   r)   )	r   r   r   r   r8   r   r7   r   r   r,   r-   r&   r   r  d  s     	 
	 
		r-   r   r   r  )r3   r  r   )r   rZ   s     r&   test_input_stream_duck_typingr  b  s4    
 
 __Z\*F;;q>X%%%r-   c                    SnU S-  n[        [        U5      S5       nUR                  U5        S S S 5        [        R                  " U5      nUR                  5       U:X  d   e[        R                  " [        U5      5      nUR                  5       U:X  d   e[        R                  " [        R                  " [        U5      5      5      nUR                  5       U:X  d   eg ! , (       d  f       N= f)Nrw  r  r   )r   r   r   r3   r  r   r  r  )r   rJ   	file_pathr%   rZ   s        r&   test_input_stream_file_pathr  t  s    .D'I	c)nd	#q	 
$ __Y'F;;=D   __S^,F;;=D   __W\\#i.9:F;;=D    
$	#s   C""
C0c                    Sn[         R                  " U5      nU S-  n[        [        U5      S5       nUR	                  U5        S S S 5        [
        R                  " U5      nUR                  5       U:X  d   e[
        R                  " [        U5      5      nUR                  5       U:X  d   e[
        R                  " [        R                  " [        U5      5      5      nUR                  5       U:X  d   e[
        R                  " USS9nUR                  5       U:X  d   e[
        R                  " US S9nUR                  5       U:X  d   eg ! , (       d  f       GN= f)Nrw  zinput_stream.gzr   r{  r  
r{  r  r   r   r   r3   r  r   r  r  r   rJ   r  r  r%   rZ   s         r&   &test_input_stream_file_path_compressedr    s   .DmmD!G**I	c)nd	#q	 
$ __Y'F;;=D   __S^,F;;=D   __W\\#i.9:F;;=D   __YF;F;;=D   __YD9F;;=G### 
$	#s   E
Ec                 :   SnU S-  n[        [        U5      S5       nUR                  U5        S S S 5        [        R                  " USS9n[        U[        R                  5      (       d   eUR                  5       U:X  d   e[        R                  " [        U5      SS9n[        U[        R                  5      (       d   eUR                  5       U:X  d   e[        R                  " [        R                  " [        U5      5      SS9n[        U[        R                  5      (       d   eUR                  5       U:X  d   e[        R                  " USS9n[        U[        R                  5      (       d   eS	n[        R                  " [        US
9   [        R                  " USS9  S S S 5        [        R                  " [        5         [        R                  " USS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       NY= f! , (       d  f       g = f)Nrw  zinput_stream.bufferedr       rX  re  r^  r   $Buffer size must be larger than zeror1   rN   million)r   r   r   r3   r  r   r[  r   r  r  r  r   r*   r   r9   )r   rJ   r  r%   rZ   unbuffered_streamrX  s          r&   $test_input_stream_file_path_bufferedr    s   .D00I	c)nd	#q	 
$ __YB7Ffb445555;;=D   __S^<Ffb445555;;=D   __W\\#i.9tLFfb445555;;=D   	qA'3333
0C	z	-
	r2 
.	y	!
	y9 
"	!' 
$	#" 
.	-	!	!s#   G)G;
H)
G8;
H	
Hc                    Sn[         R                  " U5      nU S-  n[        [        U5      S5       nUR	                  U5        S S S 5        [
        R                  " USSS9nUR                  5       U:X  d   e[
        R                  " [        U5      SS9nUR                  5       U:X  d   e[
        R                  " [        R                  " [        U5      5      S	S9nUR                  5       U:X  d   eg ! , (       d  f       N= f)
N  some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
eof
z'input_stream_compressed_and_buffered.gzr   r  r{  rY  rw  re  rX  r^  r  r  s         r&   3test_input_stream_file_path_compressed_and_bufferedr    s    /DmmD!GBBI	c)nd	#q	 
$ __YBFKF;;=D   __S^<F;;=D   __W\\#i.9tLF;;=D    
$	#s   C66
Dc                    Sn[        U5      n[        R                  " U5      nUR                  5       U:X  d   e[        R
                  " U5      n[        U5      n[        R                  " U5      nUR                  5       U:X  d   eUR                  S5        [        R                  " USS9nUR                  5       U:X  d   eU S-  n[        [        U5      S5       nUR                  U5        S S S 5        [        [        U5      S5       n[        R                  " U5      nUR                  5       U:X  d   e S S S 5        g ! , (       d  f       NZ= f! , (       d  f       g = f)Nrw  r   r{  r  r  r   r   )
r   r3   r  r   r{  r  r   r   r   r   )r   rJ   r   rZ   r  r  r%   s          r&   test_input_stream_python_filer    s   .D
$-C__S!F;;=D   mmD!G
'
C__S!F;;=G###HHQK__Sf5F;;=D   'I	c)nd	#q	 
$	c)nd	#q#{{}$$$ 
$	# 
$	#	#	#s   E-E
E
E"c                     Sn [         R                  " U 5      n[        R                  " U5      n[        R                  " U5      nX2L d   e[        R                  " U5      n[        R                  " USS9nUR                  5       U :X  d   eg r  )r{  r  r3   r   r  r   )rJ   r  r   rZ   s       r&   test_input_stream_native_filer    so    .DmmD!G__W%F__V$F__W%F__V8F;;=D   r-   c                    [        S5      n[        R                  " [        5         [        R
                  " USS9  S S S 5        [        5       [        5       4 H<  n[        R                  " [        5         [        R
                  " U5        S S S 5        M>     [        5          [        R
                  " S5        S S S 5        [        [        U S-  5      S5       n[        R                  " [        SS9   [        R
                  " U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       M  = f! , (       d  f       N= f! , (       d  f       NK= f! , (       d  f       g = f)	Nr-   r  r  rT  new_filer   zreadable file expectedr1   )r   r   r*   r   r3   r  rk   r   r9   r.   r   r   )r   r:   r  r%   s       r&   test_input_stream_errorsr    s    
S/C	z	"
/ 
# XZ(]]9%OOC  &% ) 
	 
+, 
! 
c&:%&	-]]9,DEOOA F 
.	- 
#	" &% 
!	  FE 
.	-sG   D5D,"D>E 3E
E 
D),
D;	>
E
E	E  
E.c                  J   Sn [        [        U 5      5      n[        R                  " [        R                  " U5      5      nUR                  U 5        X:X  d   e[        [        U 5      5      n[        R                  " [        U5      5      nUR                  U 5        X:X  d   eg )Nrw  )rk   r5   r3   output_streamr   r   r   )rJ   r:   rZ   s      r&   test_output_stream_bufferr    s|    .D
CI
Cbll3/0F
LL;;
CI
Cjo.F
LL;;r-   c                       " S S5      n U " 5       n[         R                  " U5      nUR                  S5      (       d   eUR                  R	                  5       R                  5       S:X  d   eg )Nc                   6    \ rS rSrS rS r\S 5       rS rSr	g)2test_output_stream_duck_typing.<locals>.DuckWriteri  c                 8    [         R                  " 5       U l        g r)   )r3   r  r:   rv   s    r&   __init__;test_output_stream_duck_typing.<locals>.DuckWriter.__init__  s    ,,.DHr-   c                     g r)   r,   rv   s    r&   r8   8test_output_stream_duck_typing.<locals>.DuckWriter.close	  ry   r-   c                     gr{   r,   rv   s    r&   r7   9test_output_stream_duck_typing.<locals>.DuckWriter.closed  r}   r-   c                 :    U R                   R                  U5        g r)   )r:   r   )rw   rJ   s     r&   r   8test_output_stream_duck_typing.<locals>.DuckWriter.write  s    HHNN4 r-   r  N)
r   r   r   r   r  r8   r   r7   r   r   r,   r-   r&   
DuckWriterr    s%    	/	 
	 
		!r-   r  r  )r3   r  r   r:   r6   r   )r  duck_writerrZ   s      r&   test_output_stream_duck_typingr    s^    ! ! ,Kk*F<<!!!!??##%002h>>>r-   c                     SnU S-  nS nU" X!5        U" [        U5      U5        U" [        R                  " [        U5      5      U5        g )Nrw  r  c                    [         R                  " U 5       nUR                  U5        S S S 5        [        [	        U 5      S5       nUR                  5       U:X  d   e S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = fr   r3   r  r   r   r   r   )r  rJ   rZ   r%   s       r&   
check_data0test_output_stream_file_path.<locals>.check_data  s_    i(FLL )#i.$'1668t### (' )(''s   A'A8'
A58
B)r   r  r  r   rJ   r  r  s       r&   test_output_stream_file_pathr    sE    .D(I$ ys9~t$w||C	N+T2r-   c           	         SnU S-  nS n[         R                  " U" X!5      5      U:X  d   e[         R                  " U" [        U5      U5      5      U:X  d   e[         R                  " U" [        R                  " [        U5      5      U5      5      U:X  d   e[         R                  " U" X!SS95      U:X  d   eU" X!S S9U:X  d   e[
        R                  " [        SS9   U" X!SS9U:X  d   e S S S 5        g ! , (       d  f       g = f)	Nrw  zoutput_stream.gzc                    [         R                  " U 40 UD6 nUR                  U5        S S S 5        [        [	        U 5      S5       nUR                  5       sS S S 5        $ ! , (       d  f       N== f! , (       d  f       g = fr   r  r  rJ   kwargsrZ   r%   s        r&   r  ;test_output_stream_file_path_compressed.<locals>.check_data-  Y    i262fLL 3#i.$'1668 (' 32''   A!A2!
A/2
B r{  r  zInvalid value for compressionr1   rabbit)r{  r  r   r  r  r   r*   r   r  s       r&   'test_output_stream_file_path_compressedr  (  s   .D++I ??:i674?????:c)nd;<DDD??7<<I/68;?@ @ @ ??979<@A A Ai48D@@@	z)H	I)x@DHHH 
J	I	Is    C88
Dc                    SnU S-  nS n[         R                  " USS9n[        U[         R                  5      (       d   eSn[        R
                  " [        US9   U" X!SS9U:X  d   e S S S 5        U" X!S	S9U:X  d   eU" X!S
S9U:X  d   eU" [        U5      US	S9U:X  d   eU" [        R                  " [        U5      5      US	S9nXa:X  d   eg ! , (       d  f       Nl= f)Nrw  output_stream.bufferedc                 t   [         R                  " U 40 UD6 nUR                  SS5      S:  a!  [        U[         R                  5      (       d   eUR                  U5        S S S 5        [        [        U 5      S5       nUR                  5       sS S S 5        $ ! , (       d  f       N== f! , (       d  f       g = f)NrY  r   r   )	r3   r  getr   rj  r   r   r   r   r	  s        r&   r  9test_output_stream_file_path_buffered.<locals>.check_dataD  s    i262fzz-+a/!&"*A*ABBBBLL 3 #i.$'1668 ('	 32 ('s   A	B>B)
B&)
B7r   rX  r  r1   ir  r^  )
r3   r  r   r  r   r*   r   r   r  r  )r   rJ   r  r  r  rX  r>   s          r&   %test_output_stream_file_path_bufferedr  @  s    .D11I ((B'3333
0C	z	-)t<DDD 
. i26$>>>i48D@@@c)nd;tCCCS^4dKF>> 
.	-s   C
Cc                     SnU S-  nS nU" X!SS9n[         R                  " U5      U:X  d   eU" X!SS9n[         R                  " U5      U:X  d   eU" X!SSS9n[         R                  " U5      U:X  d   eg )	Nr  z(output_stream_compressed_and_buffered.gzc                    [         R                  " U 40 UD6 nUR                  U5        S S S 5        [        [	        U 5      S5       nUR                  5       sS S S 5        $ ! , (       d  f       N== f! , (       d  f       g = fr   r  r	  s        r&   r  Htest_output_stream_file_path_compressed_and_buffered.<locals>.check_data`  r  r  r  rX  r^  r{  r  r{  r  )r   rJ   r  r  r>   s        r&   4test_output_stream_file_path_compressed_and_bufferedr  [  s    /DCCI 	R8F??6"d***	T:F??6"d***	TvNF??6"d***r-   c                 L    SnU S-  nS nU" X!SS9U:X  d   eU" X!SS9U:X  d   eg )Ns   some test data
r  c                     [         R                  " U 40 UD6nUR                  U5        A[        R                  " 5         [        [        U 5      S5       nUR                  5       sS S S 5        $ ! , (       d  f       g = fr   )r3   r  r   r   r   r   r   r   r	  s        r&   r  1test_output_stream_destructor.<locals>.check_dataw  sT    !!)6v6T


#i.$'1668 (''s   A..
A<r   rX  r^  r,   r  s       r&   test_output_stream_destructorr  p  sE     D11I i15===i48D@@@r-   c                 t   ^  SnU 4S jnU" U5      U:X  d   e[         R                  " U" USS95      U:X  d   eg )Nrw  c                 ^  > [        TS-  5      n[        US5       n[        R                  " U40 UD6 nUR	                  U 5        S S S 5        S S S 5        [        US5       nUR                  5       sS S S 5        $ ! , (       d  f       N<= f! , (       d  f       NE= f! , (       d  f       g = f)Noutput_stream_filer   r   )r   r   r3   r  r   r   )rJ   r
  rr  r%   rZ   r   s        r&   r  2test_output_stream_python_file.<locals>.check_data  s     ../"d^q!!!.v.&T" /  "d^q668 ^ /. ^ ^s.   BA<B"B<
B
	B
B
B,r{  r  r  )r   rJ   r  s   `  r&   test_output_stream_python_filer#    s@    .D	 dt###??:d?@DHHHr-   c                    [        [        5       5      n[        R                  " [        5         [
        R                  " USS9  S S S 5        [        5       [        5       4 H<  n[        R                  " [        5         [
        R                  " U5        S S S 5        M>     [        U S-  5      n[        US5       n S S S 5        [        US5       n[        R                  " [        SS9   [
        R                  " U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       M  = f! , (       d  f       N= f! , (       d  f       NK= f! , (       d  f       g = f)Nr  r  r  r   r   zwritable file expectedr1   )r   rk   r   r*   r   r3   r  r   r9   r   r   )r   r:   r  rr  r%   s        r&   test_output_stream_errorsr%    s    
Y[
!C	z	"
%0 
# XZ(]]9%S! &% ) 
Vj 	!B	b$1 
	b$1]]9,DEQ F 
 
#	" &% 
 FE 
sG   D=D#:D5E*EE
D #
D2	5
E
E	E
E%r)   )T)rx  
contextlibr   ior   r   r   r   r   r  r   r{  r?  r    r  r   r  r   r   r   numpyr   ImportErrorpyarrow.utilr	   pyarrowr
   r3   r'   r.   r?   rL   markparametrizer^   re   rh   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r$  r(  r.  r5  r;  rA  r\  rr  rv  paramr   r  r  r  r  r  r  r  r  r  r  r  fixturer  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r!  r   r(  r2  r;  rB  rF  rI  rR  rU  r]  rb  re  rl  rn  ru  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r%  r,   r-   r&   <module>r0     s@  $  % I I  	   	    
     .  "8,B #568' 9 7'T"#
&'8%$6,
" )2(	 3.
4.. 3&',	',
 	 	 ' '" * *(  :0Pf# ) ) 
 

' C CL-`J 
LLV[[&&bff.M.M&N 
	
	) 	;	 ;< 
LLV[[&&bff.M.M&N 
	
	) 	LE	 LE^;('3" ( (*+L  $ 8<!B>
, ;!(V-(&D6<~ LLL )K  ?? *<>:"$. & &$1
" 3 3" 
- 
- (( - -  4 4 4 
 
   	" 9\\)f%\\$%v.	< 22 	
	

LLkkrvv'F'FG
) 

" ,	,V - 655 6,+-.7.7 6,.	 6--	 
! 
!&$! $ $(:4 ! ! % %. ! !"
?,3 I I.6 + +(A& I I$ gC  	Bs   [. .[:9[: