U
    )3g%                  "   @   s  d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
Z
d dlZdddd	d
dddddddddddddddddddddd d!d"d#d$d%g Zd&d&eded	d&d&d&d&d&d&d'edd&d&d&edd&d&d&d&d&d&d'd'd&d&ed d'd&e d'ed%d( Ze
jd)kr,d&ed< d&ed< d&ed!< e
jd*krDe	 ed$< ne
jd)kr`ejd+ed$< zd dlZd'ed
< W n ek
r   Y nX zd dlZd'ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r:   Y nX z.d dlZe
jd*kr\d'ed< ned$ ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r   d'ed< Y nX zd dlZd'ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r   Y nX zd dlZd'ed< W n ek
r8   Y nX zd d,lmZ d'ed< W n ek
rh   Y nX zd d-lm Z  d'ed< W n ek
r   Y nX zd d.lm!Z! d'ed< W n ek
r   Y nX zd d/lm"Z" d'ed< W n ek
r   Y nX zd dl#Zd'ed"< W n ek
r$   Y nX d0d1 Z$e j%d'd2d3d4 Z&e j%d'd2d5d6 Z'e j%d7d8d9d: Z(e j%d7d8d;d< Z)e j%d7d8d=d> Z*dS )?    N)Codec)fs)is_threading_enabled)windows_has_tzdataaceroazurebrotlibz2cythondataset
hypothesisfastparquetflightgandivagcsgdbgziphdfslarge_memorylz4memory_leaknopandasorcpandasparquetparquet_encryption	processesrequires_testing_datas3slowsnappysockets	substrait	threadingtimezone_datazstdFT) 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%   Z
emscriptenwin32z/usr/share/zoneinfo)AzureFileSystem)GcsFileSystemS3FileSystem)HadoopFileSystemc                 C   s  |j jrdt| krdS dddddg}|D ]$}d|t| kr*t| s* dS q*d	t| krhtd
 shdS dt| krzdd l}W dS  tk
r   Y dS X dt| krzddlm} W dS  tk
r   Y dS X t	|j ddrdt| k rdS dt| krdS dS )Nz/pyarrow/tests/Tr   r   r   r   r"   z
pyarrow/{}zpyarrow/parquet/encryptionr   zpyarrow/cudar   Fz
pyarrow/fsr)   doctest_cythonz/pyarrow/_parquet_encryption)
optiondoctestmodulesstrformatdefaultsZpyarrow.cudaImportError
pyarrow.fsr*   getattr)pathconfigZdoctest_groupsgrouppyarrowr*    r9   4/tmp/pip-unpacked-wheel-0fuzq0j6/pyarrow/conftest.pypytest_ignore_collect   sD    	r;   )Zautousec              	   c   sR   | j jj}t| j jdd}|s"|rH| d}|  d V  W 5 Q R X nd V  d S )Nr,   Ftmpdir)r6   r-   r.   r4   ZgetfixturevalueZas_cwd)request	doctest_m	doctest_cr<   r9   r9   r:   _docdir  s    


r@   c              	   c   s   |j jj}t|j jdd}|s"|r~t| d< t }|d }|t|}|d W 5 Q R X || d< t|| d< t|| d< d V  d S )	Nr,   Fr   zpyarrow-fs-example.dats   datalocal
local_pathr5   )	r6   r-   r.   r4   r   ZLocalFileSystemZopen_output_streamr/   write)Zdoctest_namespacer=   Ztmp_pathr>   r?   rA   r5   streamr9   r9   r:   add_fs  s    
rE   session)Zscopec                     sL   ddl m   fdd} d}ddd} | ||d	t it  | |fS )
z+
    Register a unary scalar function.
    r   computec                    s    j d|dg| jdS )Nadd   )memory_pool)call_functionrK   ctxxpcr9   r:   unary_function6  s    z*unary_func_fixture.<locals>.unary_functionzy=x+1zadd functionztest add functionsummarydescriptionarray)r8   rH   Zregister_scalar_functionpaint64)rR   	func_nameZ	unary_docr9   rP   r:   unary_func_fixture/  s    
rZ   c                  C   sH   ddl m}  dd }d}ddd}| |||d	t it  ||fS )
z4
    Register a unary aggregate function (mean)
    r   rG   c                 S   s   t t|S )N)rW   scalarnpnanmeanrM   r9   r9   r:   funcK  s    z$unary_agg_func_fixture.<locals>.funcZmean_udfzy=avg(x)zfind mean of xrS   rO   )r8   rH   register_aggregate_functionrW   float64rQ   r^   rY   Zfunc_docr9   r9   r:   unary_agg_func_fixtureD  s     rb   c                  C   sN   ddl m}  dd }d}ddd}| |||t t dt  ||fS )	z-
    Register a unary aggregate function
    r   rG   c                 W   s&   d}|D ]}|t |7 }qt|S )Ng        )r\   r]   rW   r[   )rN   argssumargr9   r9   r:   r^   d  s    z&varargs_agg_func_fixture.<locals>.funcZsum_meanzVarargs aggregaterS   )rO   y)r8   rH   r_   rW   rX   r`   ra   r9   r9   r:   varargs_agg_func_fixture]  s    	rg   )+Zpytestosr8   rW   r   r   Zpyarrow.libr   Zpyarrow.tests.utilr   sysZnumpyr\   groupsZis_availabler1   platformr5   existsr
   r2   r   Zpyarrow.gandivaZpyarrow.aceroZpyarrow.datasetZpyarrow.orcr   Zpyarrow.parquetZpyarrow.parquet.encryptionZpyarrow.flightr3   r'   r(   r*   r+   Zpyarrow.substraitr;   Zfixturer@   rE   rZ   rb   rg   r9   r9   r9   r:   <module>   sT  $#
0








