U
    f»{j  ã                   @   sh   d dl 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	m
Z
mZmZmZ dd„ Zdd„ Zdd	„ ZdS )
é    N)ÚPath)Ú
set_configÚ
get_configÚget_config_pathÚset_memmap_min_sizeÚ_get_stim_channelÚsys_infoÚClosingStringIOÚget_subjects_dirc           	   
   C   s`  t | ƒ}d}d}d}tdƒ}t |d¡}|tj|< t|ƒ|ksBt‚tj|= ttdƒƒdks^t‚tj	t
dd	�� t|d|d
d� W 5 Q R X t||d�dksœt‚tjtt|dd� |tjks¼t‚tj	t
dd	�� t|||dd� W 5 Q R X |tjksôt‚t||d�|k�s
t‚tj	t
dd	�� t|d|dd� W 5 Q R X |tjk�sDt‚tj	t
dd	�� t|d|dd� W 5 Q R X |tjk�s~t‚|dk	�r’|tj|< tj	t
dd	�� t|||d� W 5 Q R X d}|t|d�k�sÒt‚tj	t
dd	�� t|||d� W 5 Q R X t|d�| |k�st‚tj |¡}z&|tj|< t|d�| |k�sBt‚W 5 |dk�r`tj |d¡ n
|tj|< X t|d�}t|dƒ�}| d¡ W 5 Q R X tj	t
dd	�� |t|d�k�sºt‚W 5 Q R X tj	t
dd	�� tjtt|d|d� W 5 Q R X t ttd¡ t ttd¡ t ttd¡ t ttd¡ t ttdd¡ t ttdd¡ t ttdgd¡ dS )z$Test mne-python config file support.Z_MNE_PYTHON_CONFIG_TESTINGZ123456Z123z/foo/barNÚ é
   znon-standard)ÚmatchF)Úhome_dirZset_env)r   T)Zraise_errorZMNE_PYTHON_TESTING_KEYÚwzfoo{}znot a valid JSONÚtrueé   Úfoo)Ústrr   ÚosÚgetenvÚenvironr   ÚAssertionErrorÚlenÚpytestZwarnsÚRuntimeWarningr   ZraisesÚKeyErrorÚgetÚpopr   ÚopenÚwriteÚRuntimeErrorÚ
ValueErrorr   Ú	TypeErrorr   )	Útmp_pathÚtempdirÚkeyÚvalueZvalue2Zvalue3Zold_valZ
json_fnameÚfid© r(   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/utils/tests/test_config.pyÚtest_config   sn    





r*   c                  C   sZ   t ƒ } t| d� |  ¡ } d| ks$t‚t ¡ dkr>d| ksVt‚nt ¡ dkrVd| ksVt‚dS )zTest info-showing utility.)r'   znumpy:ÚDarwinzPlatform:         macOS-ÚLinuxzPlatform:         LinuxN)r	   r   Úgetvaluer   ÚplatformÚsystem)Úoutr(   r(   r)   Útest_sys_infoQ   s    
r1   c                 C   s    | d }|  ¡  tt|ƒƒt|ƒks(t‚t|ƒt|ƒks<t‚| dt| ƒ¡ |jddd� tƒ dksht‚| dt| ƒ¡ | dt| ƒ¡ td	ƒt|ƒksœt‚dS )
zTest get_subjects_dir().r   Z_MNE_FAKE_HOME_DIRZSUBJECTS_DIRF)ZraisingNÚHOMEÚUSERPROFILEz~/foo)Úmkdirr
   r   r   ZsetenvZdelenv)r#   ZmonkeypatchZsubjects_dirr(   r(   r)   Útest_get_subjects_dir^   s    r5   )r   r.   r   Úpathlibr   Z	mne.utilsr   r   r   r   r   r   r	   r
   r*   r1   r5   r(   r(   r(   r)   Ú<module>   s   (F