U
    #ºc'  ã                   @   sì   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 zd dl	Z	d dl
mZ W n ek
rl   dZ	Y n*X d dlmZ dZe e¡e e¡k r–dZ	ejje	dkddZejdd	„ ƒZd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    N)ÚIS_WASM)Úversion)Ú_pep440z0.29.30zrequires cython)Úreasonc              
   C   sÊ   t rt d¡ tj t¡}tj |dd¡}t|d ƒ}t	 
||¡ t|d ƒ}tjtjdddd	t|d
 ƒdd|g	|d t|ƒ@}|D ]$}d|kr†tj tj |¡¡  q¼q†td|› dƒ‚W 5 Q R X d S )NzNo subprocessZexamplesÚcythonÚcytestztmp_install_log.txtzsetup.pyÚbuildÚinstallz--prefixZ
installdirz#--single-version-externally-managedz--record)ÚcwdÚcheckszcould not parse "ú")r   ÚpytestÚskipÚosÚpathÚdirnameÚ__file__ÚjoinÚstrÚshutilÚcopytreeÚ
subprocessÚcheck_outputÚsysÚ
executableÚopenÚappendÚRuntimeError)ÚrequestZtmp_pathÚhereZext_dirr   Zinstall_logZfidÚline© r!   ú@/tmp/pip-unpacked-wheel-b2rbor69/numpy/core/tests/test_cython.pyÚinstall_temp   s4    
 
ø
õ
r#   c                 C   sŒ   dd l }| t d¡¡st‚| t dd¡¡s2t‚| t dd¡¡sHt‚| d¡rVt‚| d ¡rdt‚| d¡rrt‚| t dd¡¡rˆt‚d S )	Nr   éÒ  ÚnsÚNaTé   ÚfooÚnowÚs)r   Zis_td64ÚnpÚtimedelta64ÚAssertionErrorÚ
datetime64©r#   r   r!   r!   r"   Útest_is_timedelta64_objectG   s    r0   c                 C   sv   dd l }| t dd¡¡st‚| t dd¡¡s4t‚| d¡rBt‚| d ¡rPt‚| d¡r^t‚| t d¡¡rrt‚d S )Nr   r$   r%   r&   r'   r(   )r   Zis_dt64r+   r.   r-   r,   r/   r!   r!   r"   Útest_is_datetime64_objectT   s    r1   c                 C   s8   dd l }t dd¡}| |¡}| d¡}||ks4t‚d S )Nr   ú
2016-01-01r%   Úi8)r   r+   r.   Zget_dt64_valueÚviewr-   )r#   r   Údt64ÚresultÚexpectedr!   r!   r"   Útest_get_datetime64_value`   s
    

r8   c                 C   s8   dd l }t dd¡}| |¡}| d¡}||ks4t‚d S )Nr   é90  Úhr3   )r   r+   r,   Zget_td64_valuer4   r-   )r#   r   Útd64r6   r7   r!   r!   r"   Útest_get_timedelta64_valuek   s
    

r<   c                 C   sX   dd l }t dd¡}| |¡}d}||ks.t‚t dd¡}| |¡}d}||ksTt‚d S )Nr   r2   r%   é
   r9   r:   é   )r   r+   r.   Zget_dt64_unitr-   r,   )r#   r   r5   r6   r7   r;   r!   r!   r"   Útest_get_datetime64_unitv   s    

r?   c                 C   sB   dd l }| d¡st‚| t d¡¡s*t‚| t d¡¡s>t‚d S )Nr   r'   )r   Ú
is_integerr-   r+   Zint8Zuint64r/   r!   r!   r"   Útest_abstract_scalars„   s    rA   )r   r   r   r   r   Znumpyr+   Znumpy.testingr   r   ZCython.Compiler.Versionr   Zcython_versionÚImportErrorZnumpy.compatr   Zrequired_versionÚparseÚVersionÚmarkZskipifZ
pytestmarkZfixturer#   r0   r1   r8   r<   r?   rA   r!   r!   r!   r"   Ú<module>   s0   

'