o
    ¡:´a­  ã                   @   s~   d Z 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Z	ddlm
Z
 e e¡Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ ZdS )z
Helper functions for testing.
é    N)ÚPath)ÚTemporaryDirectory)Ú_apic                   C   s"   dt jd< dt jd< dt jd< d S )NzDejaVu Sanszfont.familyZnoneztext.hintingé   ztext.hinting_factor©ÚmplZrcParams© r   r   ú=/usr/lib/python3/dist-packages/matplotlib/testing/__init__.pyÚset_font_settings_for_testing   s   

r
   c                   C   s   dt jd< d S )NÚ
matplotlibzsvg.hashsaltr   r   r   r   r	   Úset_reproducibility_for_testing   s   r   c                   C   s¤   z	t  t jd¡ W n# t jy,   z	t  t jd¡ W n t jy)   t d¡ Y nw Y nw t d¡ t 	¡  t 
¡  W d   ƒ n1 sEw   Y  tƒ  tƒ  d S )Nzen_US.UTF-8zEnglish_United States.1252zPCould not set locale to English/United States. Some date-related tests may fail.ZAgg)ÚlocaleÚ	setlocaleÚLC_ALLÚErrorÚ_logZwarningr   Zuser   Z'suppress_matplotlib_deprecation_warningZ
rcdefaultsr
   r   r   r   r   r	   Úsetup   s$   ÿÿ€ý


ÿ
r   c              
   C   sŽ   t ƒ :}t|dƒ}| d¡ ztj| dt|ƒg|tjtjd W n ttjfy3   Y W d  ƒ dS w 	 W d  ƒ dS 1 s@w   Y  dS )z
    Check if a given TeX system + pgf is available

    Parameters
    ----------
    texsystem : str
        The executable name to check
    ztest.texzÁ
            \documentclass{minimal}
            \usepackage{pgf}
            \begin{document}
            \typeout{pgfversion=\pgfversion}
            \makeatletter
            \@@end
        z-halt-on-error)ÚcwdÚstdoutÚstderrNFT)	r   r   Z
write_textÚ
subprocessZ
check_callÚstrZDEVNULLÚOSErrorZCalledProcessError)Z	texsystemZtmpdirZtex_pathr   r   r	   Ú_check_for_pgf4   s   	


þñ$ðr   c                 C   s   t tj | › d¡ƒS )Nz.sty)Úboolr   ZdvireadZfind_tex_file)Úpackager   r   r	   Ú_has_tex_packageP   s   r   )Ú__doc__r   Zloggingr   Zpathlibr   Ztempfiler   r   r   r   Z	getLoggerÚ__name__r   r
   r   r   r   r   r   r   r   r	   Ú<module>   s    
