
    Pi(                     `   d dl Z d dlZd dlZd dlZ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mZ d dlmZ d dlmZ e
j                            dd           e
j                            d	d
           e
j                            dde
j        j                   e
j                            ej                            dd	                     dej        d<   ej        dk    r(ej                            dd          Zer ee           ej        dk    rjej                            dd          Od dlmZ 	 ej                             ej        d          d          ej        d<   n# e $ r  e!d           Y nw xY wd Z" G d d          Z#d Z$d Z%ej&        d             Z' ej&        d          d              Z( ej&        d!"          d#             Z) ej&        d          d$             Z* ej&        d          d%             Z+d3d)Z, ej&        d          d*             Z- ej&        d          d+             Z. ej&        d          d,             Z/ ej&        d-d.gd/          d0             Z0 ej&        d          d1             Z1 ej&        d          d2             Z2dS )4    N   )groupsdefaults)set_timezone_db_pathfind_free_portcii  )max_examplesdev2   debug
   )r
   	verbosityHYPOTHESIS_PROFILEz	/dev/nullAWS_CONFIG_FILEwin32PYARROW_TZDATA_PATHTZDIR)	resourcestzdatazoneinfozCPackage "tzdata" not found. Not setting TZDIR environment variable.c           	          dd}t           D ]\} |d| t          |                   }|                     d| d|d| d           |                     d| dd	d
| d           ]d S )Nc                     t           j                            |                                           }|s|S |                                }|dv rdS |dv rdS t          |                                  d| d          )N>   1yonyestrueT>   0nnoofffalseF=z is not parsable as boolean)osenvirongetupperlower
ValueError)namedefaultvalues      j/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pyarrow/tests/conftest.pybool_envz"pytest_addoption.<locals>.bool_envL   s    
tzz||,, 	N33346665

QQuQQQRRR    PYARROW_TEST_	--enable-
store_truezEnable the z test group)actionr,   help
--disable-FzDisable the N)r   r   	addoption)parserr/   groupr,   s       r.   pytest_addoptionr;   J   s    
S 
S 
S 
S  C C(2522HUODD,U,, ,g?U??? 	 	B 	B 	B 	-e-- ,e@e@@@ 	 	C 	C 	C 	CC Cr0   c                        e Zd Zd Zd Zd ZdS )PyArrowConfigc                     i | _         d S r7   )
is_enabled)selfs    r.   __init__zPyArrowConfig.__init__c   s    r0   c                 T    |j         }|t          v r|                     |           d S d S r7   )r+   r   requires)r@   markr:   s      r.   
apply_markzPyArrowConfig.apply_markf   s1    	F??MM%      ?r0   c                 R    | j         |         st          j        | d           d S d S )Nz NOT enabled)r?   pytestskip)r@   r:   s     r.   rC   zPyArrowConfig.requiresk   s:    u% 	0K5.../////	0 	0r0   N)__name__
__module____qualname__rA   rE   rC    r0   r.   r=   r=   b   sA          ! ! !
0 0 0 0 0r0   r=   c                     t                      | _        t          D ]\}|                     d|           d| }d| }|                     |          o|                     |           }|| j        j        |<   ]d S )Nmarkersr2   r6   )r=   pyarrowr   addinivalue_line	getoptionr?   )configrD   enable_flagdisable_flagr?   s        r.   pytest_configurerU   p   s    "__FN 
5 
5t	
 	
 	
 )$((*D**&&{33 5&&|4495
*4!$''
5 
5r0   c                 r    |                                  D ]!}| j        j                            |           "d S r7   )iter_markersrR   rO   rE   )itemrD   s     r.   pytest_runtest_setuprY      sC    !!## - -&&t,,,,- -r0   c                 4    t          j        | j                  S r7   )pathlibPathstrpath)tmpdirs    r.   tempdirr_      s     <'''r0   session)scopec                  D    t          j        t                    j        dz  S )Ndata)r[   r\   __file__parentrL   r0   r.   base_datadirrf      s    <!!(611r0   T)autousec                 2    |                      dd           dS )zStop the AWS SDK from trying to contact the EC2 metadata server.

    Otherwise, this causes a 5 second delay in tests that exercise the
    S3 filesystem.
    AWS_EC2_METADATA_DISABLEDr   N)setenv)monkeypatchs    r.   disable_aws_metadatarl      s!     2F;;;;;r0   c                      t           j                            dd          } t          t           j                            dd                    }t           j                            dd          }| ||fS )NARROW_HDFS_TEST_HOSTr,   ARROW_HDFS_TEST_PORTr   ARROW_HDFS_TEST_USERhdfs)r%   r&   r'   int)hostportusers      r.   hdfs_connectionrv      sY    :>>0)<<Drz~~4a8899D:>>0&99Dtr0   c                  8    dt                      }} d\  }}| |||fS )N	127.0.0.1)arrowapachearrowr   )rs   rt   
access_key
secret_keys       r.   s3_connectionr}      s*    n..$D3J
z:--r0            ?   c                       fd}|S )aP  
    Retry decorator

    Parameters
    ----------
    attempts : int, default 3
        The number of attempts.
    delay : float, default 1
        Initial delay in seconds.
    max_delay : float, optional
        The max delay between attempts.
    backoff : float, default 1
        The multiplier to delay after each attempt.
    c                 P     t          j                    fd            }|S )Nc                      }}|dk    rX	  	| i |S # t           $ r<}|dz  }|}|z  }
rt          |
          }t          j        |           Y d }~nd }~ww xY w|dk    X|)Nr   r   )	Exceptionmintimesleep)argskwargsremaining_attempts
curr_delayerrlast_exceptionattemptsbackoffdelayfunc	max_delays         r.   wrapperz(retry.<locals>.decorate.<locals>.wrapper   s    !)J$q((+40000  + + +&!+&%(N')J  @%(Y%?%?
Jz********+ %q(( ! s    
A2AA)	functoolswraps)r   r   r   r   r   r   s   ` r.   decoratezretry.<locals>.decorate   sM    				! 	! 	! 	! 	! 	! 	! 	! 
		! r0   rL   )r   r   r   r   r   s   ```` r.   retryr      s5           " Or0   c              #   \  K   t          ddd          d             }|                                }| \  }}}}| d| }t          j                                        }	|	                    ||d           dd	d
dd||g}
d }	 t          j        |
|	          } ||           | ||dV  n$# t          $ r t          j
        d           Y nw xY w|*|                                 |                                 d S d S # |)|                                 |                                 w w xY w)N   r   r   )r   r   r   c                     t           j                            d|  d          }|                                dk    sJ d S )Nzhttp://z/minio/health/live   )urllibrequesturlopengetcode)addressresps     r.   minio_server_health_checkz,s3_server.<locals>.minio_server_health_check   sB    ~%%&K&K&K&KLL||~~$$$$$$r0   :)MINIO_ACCESS_KEYMINIO_SECRET_KEYminioz--compatserverz--quietz	--addressenv
connectionprocessr_   z!`minio` command cannot be located)r   getbasetempr%   r&   copyupdate
subprocessPopenOSErrorrG   rH   killwait)r}   tmpdir_factoryr   r^   rs   rt   r{   r|   r   r   r   procs               r.   	s3_serverr      s     
AQ***% % +*% ''))F)6&D$
JG
*//

CJJ&&    
 Z9kVDD#...
 	"!'*** (
 
 	
 	
 	
 	
  9 9 97888889 IIKKKIIKKKKK 4IIKKKIIKKKK s*   B, C> ,C
C> CC> >-D+c               #   B  K   t                      } t          j                                        }d}|dt	          |           g}d }	 t          j        ||          }|                                t          j	        d| d           d| f|dV  n1# t          $ r$}t          j	        d| d|            Y d }~nd }~ww xY w|*|                                 |                                 d S d S # |)|                                 |                                 w w xY w)	Nzstorage-testbenchz--portr   Command # did not start server successfully!	localhost)r   r    failed to execute: )r   r%   r&   r   strr   r   pollrG   rH   r   r   r   )rt   r   exer   r   es         r.   
gcs_serverr      sV     D
*//

C
C3t99%DD#...99;;"KL4LLLMMM
 '-
 
 	
 	
 	
 	
  > > ><t<<<<========> IIKKKIIKKKKK 4IIKKKIIKKKK s1   AB 
C1 
C B;6C1 ;C  C1 1-Dc              #     K   t                      }t          j                                        }|                                 }dd|dt          |          g}|dgz  }d }	 t          j        ||          }|                                t          j
        d| d           d|d	d
f||dV  n8# t          t          f$ r$}t          j
        d| d|            Y d }~nd }~ww xY w|*|                                 |                                 d S d S # |)|                                 |                                 w w xY w)Nzazurite-blobz
--locationz
--blobPortz--skipApiVersionCheckr   r   r   rx   devstoreaccount1zXEby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==r   r   )r   r%   r&   r   r   r   r   r   r   rG   rH   ModuleNotFoundErrorr   r   r   )r   rt   r   r^   r   r   r   s          r.   azure_serverr     s     D
*//

C''))FL&,D		JD 	$%%DD#...99;;"KL4LLLMMM '.@CD 
 
 	
 	
 	
 	
  ) > > ><t<<<<========> IIKKKIIKKKKK 4IIKKKIIKKKK s1    AB/ "D /C$ CD C$$D -Ebuiltin_picklecloudpickle)paramsra   c                 6    |                      | j                  S r7   )getfixturevalueparam)r   s    r.   pickle_moduler   4  s     ""7=111r0   c                      dd l } | S )Nr   pickler   s    r.   r   r   ?  s    MMMMr0   c                  X    t          j        d          } d| j        vr| j        | _        | S )Nr   HIGHEST_PROTOCOL)rG   importorskip__dict__DEFAULT_PROTOCOLr   )cps    r.   r   r   E  s/    		]	+	+B,, 1Ir0   )r~   r   Nr   )3r   r%   r[   r   sysr   urllib.requestr   rG   
hypothesishconftestr   r   rO   r   pyarrow.utilr   settingsregister_profile	Verbosityverboseload_profiler&   r'   platformtzdata_set_path	importlibr   pathjoinfilesr   printr;   r=   rU   rY   fixturer_   rf   rl   rv   r}   r   r   r   r   r   r   r   rL   r0   r.   <module>r      sv  $     				      



           ' ' ' ' ' ' ' ' ( ( ( ( ( ( ' ' ' ' ' ' 
  Dt  4 4 4 
  E  3 3 3 
  G"&'k&9  ; ; ; 
  
';UCC D D D !,
  <7jnn%:DAAO ._--- <7	z~~gt$$,''''''	"$',,yx/H/H*"U"UBJw" 	 	 	EU    	C C C00 0 0 0 0 0 0 05 5 5"- - - ( ( (
 i   2 2 ! 2 < < < i     !  i   . . ! .       F i   # # ! #L i     ! 2 i     ! B    2 2 2 i     ! 
 i     !   s   51E' 'E:9E: