U
    f»{jç  ã                   @   s€   d dl Z d dlmZ d dlZd dlZd dlmZ d dl	m
Z
mZmZmZ dd„ Zdd„ Zdd	„ Zd
d„ Zej d¡dd„ ƒZdS )é    N)Útesting)Ú_TempDirÚ_url_to_local_pathÚbuggy_mkl_svdÚmodified_envc               
   C   st   ddl m}  tdd„ ƒ}tjtdd��& t | ¡� |ddƒ W 5 Q R X W 5 Q R X td	d
„ ƒ}t t|ddd¡ dS )z$Test decorator for buggy MKL issues.r   )ÚSkipTestc                 S   s   t j d¡‚d S ©NzSVD did not converge)ÚnpZlinalgZLinAlgError)ÚaÚb© r   ú[/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/utils/tests/test_testing.pyÚfoo   s    ztest_buggy_mkl.<locals>.foozconvergence error)Úmatché   é   c                 S   s   t dƒ‚d S r   )ÚRuntimeError)ÚcÚdÚer   r   r   Úbar   s    ztest_buggy_mkl.<locals>.baré   N)Zunittestr   r   ÚpytestZwarnsÚRuntimeWarningZraisesr   )r   r   r   r   r   r   Útest_buggy_mkl   s    

r   c                  C   s0   t ƒ } t | ¡st‚t| ƒ}~ t |¡r,t‚dS )zTest TempDir.N)r   ÚopÚisdirÚAssertionErrorÚstr)Ztempdir2Úxr   r   r   Útest_tempdir"   s
    r    c              	   C   sz   |d }|  ¡  t|d dƒ�}| d¡ W 5 Q R X |  dt|ƒ¡ |  dt|ƒ¡ ttjddd	�ƒ}|t|ƒksvt‚d
S )zTest dataset config.zMNE-testing-datazversion.txtÚwz	9999.9999Z_MNE_FAKE_HOME_DIRZMNE_DATASETS_TESTING_PATHFÚdebug)ÚdownloadÚverboseN)ÚmkdirÚopenÚwriteÚsetenvr   r   Z	data_pathr   )ÚmonkeypatchZtmp_pathZ	fake_pathZfidZgot_pathr   r   r   Útest_datasets+   s    r*   c                   C   s    t ddƒt ddd¡kst‚dS )zTest URL to local path.zhttp://google.com/home/why.htmlÚ.Úhomezwhy.htmlN)r   r   Újoinr   r   r   r   r   Útest_url_to_local_path8   s    ÿr.   z)ignore:.*monkeypatch.*:DeprecationWarningc              	   C   sØ   |   dd¡ |   dd¡ t d¡dks*t‚t d¡dks<t‚t d¡dksNt‚tdddd	��< t d¡dkspt‚t d¡dks‚t‚t d¡dks”t‚W 5 Q R X t d¡dks°t‚t d¡dksÂt‚t d¡dksÔt‚dS )
zTest modified_env.Ú_MNE_1ÚtrueÚ_MNE_2ZtruerÚ_MNE_3NÚfalseZfalsest)r/   r1   r2   )r(   ÚosÚgetenvr   r   )r)   r   r   r   Útest_modified_env>   s    r6   )r4   Úos.pathÚpathr   Únumpyr	   r   Zmne.datasetsr   Z	mne.utilsr   r   r   r   r   r    r*   r.   ÚmarkÚfilterwarningsr6   r   r   r   r   Ú<module>   s   	
