U
    \	a                     @   s   d dl Z d dlZd dlZd dlZd dlZejje jdkddejje jdkoVe  d kdddd Z	dd	 Z
d
d Zdd ZdS )    Nntz%chmod() doesn't work as is on Windows)reasonzchmod() doesn't work as rootc              
   C   sj   t | j}zJt | d tjtjddgt jdt	| itj
ddd}d|jksTtW 5 t | | X dS )	zETest that a warning is emitted if a temporary configdir must be used.r   -czimport matplotlibMPLCONFIGDIRT)envstderruniversal_newlinescheckzset the MPLCONFIGDIRN)osstatst_modechmod
subprocessrunsys
executableenvironstrPIPEr   AssertionError)tmpdirmodeproc r   D/tmp/pip-unpacked-wheel-wjyw_3jo/matplotlib/tests/test_matplotlib.pytest_tmpconfigdir_warning
   s    
  r   c                 C   s*   t jtjddgtjdt| idd d S )Nr   zOimport pathlib; pathlib.Path.home = lambda *args: 1/0; import matplotlib.pyplotr   T)r   r	   )r   r   r   r   r
   r   r   )r   r   r   r   test_importable_with_no_home   s     r   c                  C   sD   dd } t | dt tjjks$tt | dt tjjks@tdS )z
    Test that the standard backends mentioned in the docstring of
    matplotlib.use() are the same as in matplotlib.rcsetup.
    c                 S   sJ   g }t jj| d dD ](}| s, qF|dd |dD 7 }q|S )N   
c                 S   s   g | ]}|r|  qS r   )strip).0er   r   r   
<listcomp>.   s      zAtest_use_doc_standard_backends.<locals>.parse.<locals>.<listcomp>,)
matplotlibZuse__doc__splitr   )keybackendsliner   r   r   parse)   s    z-test_use_doc_standard_backends.<locals>.parsez- interactive backends:
z- non-interactive backends:
N)setr$   ZrcsetupZinteractive_bkr   Znon_interactive_bk)r*   r   r   r   test_use_doc_standard_backends$   s    



r,   c                  C   s6   d} t jdd| g}tj|tjddiddks2tdS )	z
    When using -OO or export PYTHONOPTIMIZE=2, docstrings are discarded,
    this simple test may prevent something like issue #17970.
    zimport matplotlib as mpl; import matplotlib.pyplot as plt; import matplotlib.cbook as cbook; import matplotlib.patches as mpatchesz-OOr   Z
MPLBACKEND )r   r   N)r   r   r   callr
   r   r   )programcmdr   r   r   test_importable_with__OO7   s    r1   )r
   r   r   Zpytestr$   markZskipifnamegeteuidr   r   r,   r1   r   r   r   r   <module>   s    