§
    ‡Ûg   ã                   ó¨   — d Z ddlmZ ddlm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  ej        e¦  «        Zd„ Zd„ Zd„ Zdd	œd
„Zd„ Zd„ ZdS )z
Helper functions for testing.
é    )ÚPath)ÚTemporaryDirectoryN)Ú_apic                  ó`   — dt           j        d<   dt           j        d<   dt           j        d<   d S )NzDejaVu Sanszfont.familyÚnoneztext.hintingé   ztext.hinting_factor©ÚmplÚrcParams© ó    úQ/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/testing/__init__.pyÚset_font_settings_for_testingr      s-   € Ø"/…C„L�ÑØ#)…C„L�Ñ Ø*+…C„LÐ&Ñ'Ð'Ð'r   c                  ó$   — dt           j        d<   d S )NÚ
matplotlibzsvg.hashsaltr	   r   r   r   Úset_reproducibility_for_testingr      s   € Ø#/…C„L�Ñ Ð Ð r   c                  óî  — 	 t          j        t           j        d¦  «         ne# t           j        $ rS 	 t          j        t           j        d¦  «         n/# t           j        $ r t                               d¦  «         Y nw xY wY nw xY wt          j        d¦  «         t          j	        ¦   «         5  t          j
        ¦   «          d d d ¦  «         n# 1 swxY w 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.ÚAgg)ÚlocaleÚ	setlocaleÚLC_ALLÚErrorÚ_logÚwarningr
   Úuser   Ú'suppress_matplotlib_deprecation_warningÚ
rcdefaultsr   r   r   r   r   Úsetupr      s?  € ð5ÝÔ�œ¨Ñ6Ô6Ð6Ð6øÝŒ<ð 5ð 5ð 5ð	5ÝÔ�Vœ]Ð,HÑIÔIÐIÐIøÝŒ|ð 	5ð 	5ð 	5Ý�LŠLð4ñ5ô 5ð 5ð 5ð 5ð	5øøøøøð5øøøõ „GˆE�N„N€Nå	Ô	5Ñ	7Ô	7ð ð ÝŒÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 "Ñ#Ô#Ð#Ý#Ñ%Ô%Ð%Ð%Ð%sD   ‚" ¢B²AÁBÁ)A>Á;BÁ=A>Á>BÂBÂ.CÃCÃC)Ú	extra_envc                óÚ   — | j         }| j        }t          j        t          j        dd|› d|› d|› d�g|¢i t          j        ¥ddi¥|pi ¥|dt          j        t          j        d¬	¦  «        }|S )
a“  
    Run a function in a sub-process.

    Parameters
    ----------
    func : function
        The function to be run.  It must be in a module that is importable.
    *args : str
        Any additional command line arguments to be passed in
        the first argument to ``subprocess.run``.
    extra_env : dict[str, str]
        Any additional environment variables to be set for the subprocess.
    z-czfrom z import z; z()ÚSOURCE_DATE_EPOCHÚ0T)ÚenvÚtimeoutÚcheckÚstdoutÚstderrÚuniversal_newlines)	Ú__name__Ú
__module__Ú
subprocessÚrunÚsysÚ
executableÚosÚenvironÚPIPE)Úfuncr$   r   ÚargsÚtargetÚmoduleÚprocs          r   Úsubprocess_run_helperr7   5   s—   € ð Œ]€FØŒ_€FÝŒ>Ý	ŒØ	Ø	5�Ð	5Ð	5 Ð	5Ð	5¨6Ð	5Ð	5Ð	5ð	ð ð	ð J�rŒzÐIÐ.°ÐIÐI¸	¸ÀRÐIØ˜tÝŒÝŒØð	!ñ 	!ô 	!€Dð €Kr   c                 óp  — t          ¦   «         5 }t          |d¦  «        }|                     dd¬¦  «         	 t          j        | dt          |¦  «        g|t          j        t          j        ¬¦  «         n(# t          t          j        f$ r Y ddd¦  «         dS w xY w	 ddd¦  «         d	S # 1 swxY 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{article}
            \usepackage{pgf}
            \begin{document}
            \typeout{pgfversion=\pgfversion}
            \makeatletter
            \@@end
        zutf-8)Úencodingz-halt-on-error)Úcwdr&   r'   NFT)	r   r   Ú
write_textr+   Ú
check_callÚstrÚDEVNULLÚOSErrorÚCalledProcessError)Ú	texsystemÚtmpdirÚtex_paths      r   Ú_check_for_pgfrD   R   sA  € õ 
Ñ	Ô	ð  Ý˜ 
Ñ+Ô+ˆØ×Òð ð ð 	ñ 	ô 	ð 	ð	ÝÔ!ØÐ,­c°(©m¬mÐ<À&Ý!Ô)µ*Ô2DðFñ Fô Fð Fð Føõ �Ô6Ð7ð 	ð 	ð 	Øðð ð ñ ô ð ð ð ð	øøøàð!ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s4   �(B+¸<A5Á4B+Á5BÂB+ÂBÂB+Â+B/Â2B/c                 ón   — 	 t           j                             | › d�¦  «         dS # t          $ r Y dS w xY w)Nz.styTF)r
   ÚdvireadÚ_find_tex_fileÚFileNotFoundError)Úpackages    r   Ú_has_tex_packagerJ   n   sM   € ðÝŒ×"Ò" gÐ#3Ð#3Ð#3Ñ4Ô4Ð4ØˆtøÝð ð ð Øˆuˆuðøøøs   ‚"& ¦
4³4)Ú__doc__Úpathlibr   Útempfiler   r   Úloggingr/   r+   r-   r   r
   r   Ú	getLoggerr)   r   r   r   r   r7   rD   rJ   r   r   r   ú<module>rP      s  ððð ð Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
à Ð Ð Ð Ø Ð Ð Ð Ð Ð à€wÔ˜Ñ"Ô"€ð,ð ,ð ,ð0ð 0ð 0ð&ð &ð &ð2 ;?ð ð ð ð ð ð:ð ð ð8ð ð ð ð r   