
    ei                        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                  j                  d      d        Zd Zd Zej                  j                  d        Zd	 Zd
 Zej                  j                  d        Zej                  j                  ej&                  dk(  d      d        Zej                  j+                  dg ej,                  ej.                  ej0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  ej>                  ej@                  ejB                  ejD                  ejF                  ejH                  ejJ                  ejL                  ejN                  ejP                  ejR                  ejT                  ejV                  ejX                  ejZ                  ej\                  ej^                  ej`                  ejb                  ejd                  ejf                  ejh                  ejj                  ejl                  ejn                  ejp                  ejr                  ejt                  ejv                  ejx                  e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                  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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                  j                  ej                  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                        d        Zy)    N)ArrowInvalidc                      t        j                         } t        j                  j	                  t        j                  j                  | dd            sJ y )Narrowzapi.h)paget_includeospathexistsjoin)include_dirs    Y/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/pyarrow/tests/test_misc.pytest_get_includer      s5    .."K77>>"'',,{GWEFFF    zsys.platform != "win32"c                  P    t        d t        j                         D              sJ y )Nc              3      K   | ]A  }t         j                  j                  t         j                  j                  |d              C yw)z	arrow.libN)r   r	   r
   r   ).0	directorys     r   	<genexpr>z.test_get_library_dirs_win32.<locals>.<genexpr>#   s4      7 ww~~bggll9kBC 7s   AA	)anyr   get_library_dirs r   r   test_get_library_dirs_win32r   !   s*     7 " 3 3 57 7 7 7r   c                     t        j                         } | dkD  sJ 	 t        j                  | dz          t        j                         | dz   k(  sJ 	 t        j                  |        y # t        j                  |        w xY wNr      )r   	cpu_countset_cpu_countns    r   test_cpu_countr    '   sd    
Aq5L5
Q||~Q&&&
   4A( (A?c                     t        j                         } | dkD  sJ 	 t        j                  | dz          t        j                         | dz   k(  sJ 	 t        j                  |        y # t        j                  |        w xY wr   )r   io_thread_countset_io_thread_countr   s    r   test_io_thread_countr%   1   sj    
Aq5L5"
q1u%!!#q1u,,,
q!q!r!   c                      dfd}  | d      \  }}|j                         dk(  sJ |dk(  sJ dD ]6  } | |      \  }}|j                         dk(  sJ d|j                         v r6J  y )NzOif 1:
        import pyarrow as pa
        print(pa.io_thread_count())
        c                 $   t         j                  j                         }| |d<   t        j                  t
        j                  dg|d      }|j                          |j                  j                         |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   so    jjoo")nncnndD9s,02zz  "CJJ$5$5$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  %HC99;$"99  #A&Syy{c!!!M99; 	   r   c                  T   t        t        j                  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                  j                  t        j                  k(  sJ t        j                  j                  j                  t        j
                  k(  sJ t        j                  j                  t        j                  u sJ t        j                  j                  j                  dv sJ t        t        j                  t        j                        sJ t        j                  j                  dv sJ y )N)debugrelease
minsizerelrelwithdebinfo)
isinstancer   
build_infocpp_build_infoCppBuildInfocpp_version_infoVersionInfocpp_versionstr__version__versionversion_info
build_type	BuildInfor   r   r   test_build_inforU   W   s(   bmm22BOODDDb))2>>:::bnnc***bnnc***==''//2>>AAA==''448K8KKKK==''2+<+<<<<==''22 7< < < < bmmR\\222==## (< < < <r   c                  ~   t        j                         } t        | t         j                        sJ d}| j                  |v sJ | j
                  |v sJ | j                  dk7  r\t        j                  j                         }d|d<   d| j
                  d}t        j                  t        j                  d|g|       y y )N)nonesse4_2avxavx2avx512rW   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_inford   j   s    ??DdBNN+++F??2222##';;;;& jjoo'-#$0
 150H0H/K L 	s~~tT:D !r   c                  T    d} t        j                  t        j                  d| g       y )Nzif 1:
        import atexit

        def import_arrow():
            import pyarrow

        atexit.register(import_arrow)
        r)   )r.   ra   r0   r1   )r8   s    r   test_import_at_shutdownrf      s$    D 3>>467r   win32zFPath to timezone database is not configurable on non-Windows platforms)reasonc                      t        j                  t        d      5  t        j                  d       d d d        y # 1 sw Y   y xY w)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_windowsro      s<    
 
|8
9 ( 	'( ( (s	   ;Aklassc                     d| j                    d}t        j                  t        |      5   |         d d d        y # 1 sw Y   y xY w)NzDo not call z('s constructor directly, use .* instead.rj   )__name__rl   rm   	TypeError)rp   msgs     r   &test_extension_type_constructor_errorsru      sA    l ((P
QC	y	,   s	   =A)r   r.   r0   rl   pyarrowr   pyarrow.libr   r   markskipifr   r    r%   	processesrB   rU   rd   rf   platformro   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JsonTyperu   r   r   r   <module>r      s  $ 
  
   $G
 -.7 /7
"    6<&E* 
8 
8 CLLG+6  7(7(  s#HHs#IIs# OOs# NN	s#
 HHs# IIs# HHs# IIs# KKs# KKs# s# s# OOs# s# LLs#  !s#" #s#$ MM%s#& MM's#( MM)s#* +s#, -s#. /s#0 1s#2 3s#4 5s#6 7s#8 LL9s#: OO;s#< OO=s#> ?s#@ OOAs#B LLCs#D MMEs#F MMGs#H MMIs#J MMKs#L NNMs#N NNOs#P NNQs#R LLSs#T Us#V KKWs#X Ys#Z MM[s#\ NN]s#^ NN_s#` as#b cs#d es#f gs#h NNis#j NNks#l ms#n NNos#p NNqs#r ss#t us#v ws#x NNys#z {s#| II}s#~ s#@ MMAs#B NNCs#D NNEs#F NNGs#H NNIs#J OOKs#L OOMs#N OOOs#P Qs#R NNSs#T OOUs#V Ws#X Ys#Z OO[s#\ OO]s#^ OO_s#` OOas#b cs#d es#f OOgs#h OOis#j ks#l ms#n os#p MMqs#r ss#t us#v ws#x LLys#z {s#| NN}s#~ OOs#@ As#B Cs#D Es#F FFNNGs#H FFIs#J MMKs#L Ms#N Os#P IIQs#R Ss#T NNUs#V OOWs#X MMYs#Z MM[s#\ NN]s#^ LL_s#` LLas#b MMcs#d KKes# shishr   