U
    7c9                     @   s   d dl Z d dlZd dlZd dlmZmZ dd Zdd Ze jddd	d
 Ze jej	ddddd Z
e jdd Ze jdd ZdS )    N)_apicbookc                 C   s:   dD ]\}}|  || qtjddd dt_t  d S )N)	)markersz*flaky: (Provided by pytest-rerunfailures.))r   z&timeout: (Provided by pytest-timeout.))r   z6backend: Set alternate Matplotlib backend temporarily.)r   z?style: Set alternate Matplotlib style temporarily (deprecated).)r   z3baseline_images: Compare output against references.)r   z.pytz: Tests that require pytz to be installed.)filterwarningserror)r   z?ignore:.*The py23 module has been deprecated:DeprecationWarning)r   z]ignore:DynamicImporter.find_spec\(\) not found; falling back to find_module\(\):ImportWarningZaggT)force)Zaddinivalue_line
matplotlibuse_called_from_pytestZ_init_tests)configkeyvalue r   ?/tmp/pip-unpacked-wheel-bcsgmve3/matplotlib/testing/conftest.pypytest_configure   s
    r   c                 C   s
   dt _d S )NF)r   r
   )r   r   r   r   pytest_unconfigure"   s    r   T)Zautousec           
      c   s  ddl m} | ~ d }| jd}t }|d k	rt|jdksLtd|j\}|j	
dd}| drtd	d
 dD rtd ddg}| jd}|d k	rt|jdkstdtjddddd |j\}tj  t  |d k	r`dd lm} z|| W nN tk
r^ }	 z.d| ks8|rLtd||	 n W 5 d }	~	X Y nX tj| W 5 Q R X z
d V  W 5 t| X W 5 Q R X d S )Nr   )_cleanup_cmbackend   z(Marker 'backend' must specify 1 backend.skip_on_importerrorFZqt5c                 s   s   | ]}t j|V  qd S )N)sysmodulesget).0kr   r   r   	<genexpr>8   s     z$mpl_test_settings.<locals>.<genexpr>)ZPyQt4ZPySidezQt4 binding already importedZclassicZ_classic_test_patchstylez$Marker 'style' must specify 1 style.3.5zpytest markerz@mpl.style.context(...))nameZobj_typealternativeZcairoz$Failed to switch to backend {} ({}).)Zmatplotlib.testing.decoratorsr   nodeget_closest_markerr   get_backendlenargsAssertionErrorkwargsr   lower
startswithanypytestskipr   Zwarn_deprecatedZtestingsetupZ'suppress_matplotlib_deprecation_warningZmatplotlib.pyplotZpyplotZswitch_backendImportErrorformatr   r	   )
requestr   r   Zbackend_markerZprev_backendr   r   Zstyle_markerZpltexcr   r   r   mpl_test_settings&   sX    
 




 
r1   r   none)r   c              	   c   sR   | j dj\}|d kr"| d}| j}tj|j||fd d V  W 5 Q R X d S )Nbaseline_images)
parameters)r    r!   r$   Zgetfixturevaluefunctionr   Z_setattr_cm__wrapped__)r/   	extensionr3   funcr   r   r   mpl_image_comparison_parameters\   s    
r9   c                  C   s:   t d} zddlm} |  W n tk
r4   Y nX | S )z'Fixture to import and configure pandas.Zpandasr   ) deregister_matplotlib_converters)r*   importorskipZpandas.plottingr:   r-   )pdZ
deregisterr   r   r   r<   s   s    

r<   c                  C   s   t d} | S )zFixture to import xarray.Zxarray)r*   r;   )xrr   r   r   r=      s    
r=   )r*   r   r   r   r   r   r   Zfixturer1   
deprecatedr9   r<   r=   r   r   r   r   <module>   s   

5
