
    z-Ph                        d dl Z d dlZd dlZd dlZd dlZd dlmZ d Zej	        
                    d          d             Zd Zd Zej	        j        d             Zd	 Zd
 Zej	        j        d             Zej	        
                    ej        dk    d          d             Zej	                            dg ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej         ej!        ej"        ej#        ej$        ej%        ej&        ej'        ej(        ej)        ej*        ej+        ej,        ej-        ej.        ej/        ej0        ej1        ej2        ej3        ej4        ej5        ej6        ej7        ej8        ej9        ej:        ej;        ej<        ej=        ej>        ej?        ej@        ejA        ejB        ejC        ejD        ejE        ejF        ejG        ejH        ejI        ejJ        ejK        ejL        ejM        ejN        ejO        ejP        ejQ        ejR        ejS        ejT        ejU        ejV        ejW        ejX        ejY        ejZ        ej[        ej\        ej]        ej^        ej_        ej`        eja        ejb        ejc        ejd        eje        ejf        ejg        ejh        eji        ejj        ejk        ejl        ejm        ejn        ejo        ejp        ejq        ejr        ejs        ejt        eju        ejv        ejw        ejx        jy        ejx        jz        ej{        ej|        ej}        ej~        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej                  d             ZdS )    N)ArrowInvalidc                      t          j                    } t          j                            t          j                            | dd                    sJ d S )Narrowzapi.h)paget_includeospathexistsjoin)include_dirs    W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyarrow/tests/test_misc.pytest_get_includer      sA    .""K7>>"',,{GWEEFFFFFFF    zsys.platform != "win32"c                  ^    t          d t          j                    D                       sJ d S )Nc              3      K   | ]A}t           j                            t           j                            |d                     V  BdS )z	arrow.libN)r   r	   r
   r   ).0	directorys     r   	<genexpr>z.test_get_library_dirs_win32.<locals>.<genexpr>#   sT       7 7 w~~bgll9kBBCC 7 7 7 7 7 7r   )anyr   get_library_dirs r   r   test_get_library_dirs_win32r   !   sM     7 7 " 3 5 57 7 7 7 7 7 7 7 7 7r   c                      t          j                    } | dk    sJ 	 t          j        | dz              t          j                    | dz   k    sJ 	 t          j        |            d S # t          j        |            w xY wNr      )r   	cpu_countset_cpu_countns    r   test_cpu_countr    '   s    
Aq5555
Q|~~Q&&&&&
   3A' 'A=c                      t          j                    } | dk    sJ 	 t          j        | dz              t          j                    | dz   k    sJ 	 t          j        |            d S # t          j        |            w xY wr   )r   io_thread_countset_io_thread_countr   s    r   test_io_thread_countr%   1   s    
Aq5555"
q1u%%%!##q1u,,,,,
q!!!!!q!!!!r!   c                      dfd}  | d          \  }}|                                 dk    sJ |dk    sJ dD ]B} | |          \  }}|                                 dk    sJ d|                                 v sJ Cd S )NzOif 1:
        import pyarrow as pa
        print(pa.io_thread_count())
        c                    t           j                                        }| |d<   t          j        t
          j        dg|d          }|                                 |j        	                                |j
        	                                fS )NARROW_IO_THREADS-cT)envcapture_output)r   environcopy
subprocessrunsys
executablecheck_returncodestdoutdecodestderr)env_varr*   rescodes      r   run_with_env_varz6test_env_var_io_thread_count.<locals>.run_with_env_varD   s~    joo")ncndD9s,02 2 2z  ""CJ$5$5$7$777r   17 )z-1z8z;ARROW_IO_THREADS does not contain a valid number of threads)strip)r9   outerrvr8   s       @r   test_env_var_io_thread_countrB   ;   s    D
8 8 8 8 8  %%HC99;;$"9999    ##A&&Syy{{c!!!!M99;;       r   c                     t          t          j        t          j                  sJ t          t          j        t          j                  sJ t          t          j        t                    sJ t          t          j        t                    sJ t          j        j	        t          j        k    sJ t          j        j
        dv sJ d S )N)debugrelease
minsizerelrelwithdebinfo)
isinstancer   cpp_build_info	BuildInfocpp_version_infoVersionInfocpp_versionstr__version__version_info
build_typer   r   r   test_build_inforR   W   s    b'66666b)2>:::::bnc*****bnc*****)R-@@@@@' ,< < < < < < <r   c                  P   t          j                    } t          | t           j                  sJ d}| j        |v sJ | j        |v sJ | j        dk    rSt          j                                        }d|d<   d| j        d}t          j
        t          j        d|g|           d S d S )N)nonesse4_2avxavx2avx512rT   ARROW_USER_SIMD_LEVELzif 1:
            import pyarrow as pa

            info = pa.runtime_info()
            assert info.simd_level == 'none', info.simd_level
            assert info.detected_simd_level == z6,                info.detected_simd_level
            r)   )r*   )r   runtime_inforH   RuntimeInfo
simd_leveldetected_simd_levelr   r,   r-   r.   
check_callr0   r1   )infopossible_simd_levelsr*   r8   s       r   test_runtime_infora   d   s    ?DdBN+++++F?22222#';;;;;&  joo'-#$
 150H   	s~tT:DDDDDD ! r   c                  L    d} t          j        t          j        d| g           d S )Nzif 1:
        import atexit

        def import_arrow():
            import pyarrow

        atexit.register(import_arrow)
        r)   )r.   r^   r0   r1   )r8   s    r   test_import_at_shutdownrc   y   s+    D 3>4677777r   win32zFPath to timezone database is not configurable on non-Windows platforms)reasonc                      t          j        t          d          5  t          j        d           d d d            d S # 1 swxY w Y   d S )Nz9Arrow was set to use OS timezone database at compile timematchr	   )pytestraisesr   r   set_timezone_db_pathr   r   r   %test_set_timezone_db_path_non_windowsrl      s    
 
|8
9 
9 
9 ( ( 	'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   >AAklassc                     d}t          j        t          |                    | j                            5   |              d d d            d S # 1 swxY w Y   d S )Nz9Do not call {cls}'s constructor directly, use .* instead.)clsrg   )ri   rj   	TypeErrorformat__name__)rm   msgs     r   &test_extension_type_constructor_errorsrt      s    l FC	y

u~
(F(F	G	G	G                   s   AAA)r   r.   r0   ri   pyarrowr   pyarrow.libr   r   markskipifr   r    r%   	processesrB   rR   ra   rc   platformrl   parametrizeFieldSchemaChunkedArrayRecordBatchTableBufferArrayTensorDataTypeListTypeLargeListTypeFixedSizeListTypeListViewTypeLargeListViewType	UnionTypeSparseUnionTypeDenseUnionType
StructType
Time32Type
Time64TypeTimestampTypeDecimal32TypeDecimal64TypeDecimal128TypeDecimal256TypeDictionaryTypeFixedSizeBinaryType	NullArrayNumericArrayIntegerArrayFloatingPointArrayBooleanArray	Int8Array
Int16Array
Int32Array
Int64Array
UInt8ArrayUInt16ArrayUInt32ArrayUInt64Array	ListArrayLargeListArrayMapArrayFixedSizeListArray
UnionArrayBinaryArrayStringArrayBinaryViewArrayStringViewArrayFixedSizeBinaryArrayDictionaryArrayDate32ArrayDate64ArrayTimestampArrayTime32ArrayTime64ArrayDurationArrayDecimal128ArrayDecimal256ArrayStructArrayRunEndEncodedArrayScalarBooleanScalar
Int8ScalarInt16ScalarInt32ScalarInt64ScalarUInt8ScalarUInt16ScalarUInt32ScalarUInt64ScalarHalfFloatScalarFloatScalarDoubleScalarDecimal128ScalarDecimal256ScalarDate32ScalarDate64ScalarTime32ScalarTime64ScalarTimestampScalarDurationScalarStringScalarBinaryScalarFixedSizeBinaryScalarBinaryViewScalarStringViewScalar
ListScalarLargeListScalarListViewScalarLargeListViewScalar	MapScalarFixedSizeListScalarUnionScalarStructScalarDictionaryScalarRunEndEncodedScalarRecordBatchReaderipcMessageMessageReader
MemoryPoolLoggingMemoryPoolProxyMemoryPoolDeviceMemoryManagerOpaqueArrayOpaqueScalar
OpaqueType
Bool8ArrayBool8Scalar	Bool8Type	JsonArray
JsonScalarJsonTypert   r   r   r   <module>r      s4  $ 
			     



      $ $ $ $ $ $G G G
 -..7 7 /.7
  " " "      6< < <E E E* 
8 
8 
8 CLG+6  7 7( (7 7(  s#Hs#Is# Os# N	s#
 Hs# Is# Hs# Is# Ks# Ks# s# s# Os# s# Ls#  !s#" #s#$ M%s#& M's#( M)s#* +s#, -s#. /s#0 1s#2 3s#4 5s#6 7s#8 L9s#: O;s#< O=s#> ?s#@ OAs#B LCs#D MEs#F MGs#H MIs#J MKs#L NMs#N NOs#P NQs#R LSs#T Us#V KWs#X Ys#Z M[s#\ N]s#^ N_s#` as#b cs#d es#f gs#h Nis#j Nks#l ms#n Nos#p Nqs#r ss#t us#v ws#x Nys#z {s#| I}s#~ s#@ MAs#B NCs#D NEs#F NGs#H NIs#J OKs#L OMs#N OOs#P Qs#R NSs#T OUs#V Ws#X Ys#Z O[s#\ O]s#^ O_s#` Oas#b cs#d es#f Ogs#h Ois#j ks#l ms#n os#p Mqs#r ss#t us#v ws#x Lys#z {s#| N}s#~ Os#@ As#B Cs#D Es#F FNGs#H FIs#J MKs#L Ms#N Os#P IQs#R Ss#T NUs#V OWs#X MYs#Z M[s#\ N]s#^ L_s#` Las#b Mcs#d Kes# s sh is sh  r   