OwlCyberSecurity - MANAGER
Edit File: test_backends_interactive.cpython-38.pyc
U ��]� � @ s� d dl Z d dlZ d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Zdd� ZdZ dZe j�de� �e jjdd�d d � ��Ze jjdejkdd �e jjejdkdd �dd� ��ZdS )� Nc C s� g } ddgdfddgdfdgdfddgdfd gd fdgdfdgdffD ]Z\}}d }t j�d �sdd}ntdd� |D ��rzd}|r�tj|tjj|d�d�}| �|� qF| S )NZcairoZgiZgtk3aggZ gtk3cairoZPyQt5Zqt5aggZ cairocffiZqt5cairoZtkinterZtkaggZwxZwxaggZDISPLAYzNo $DISPLAYc s s | ]}t j�|�d kV qd S )N)� importlib�util� find_spec)�.0Zdep� r �L/usr/lib/python3/dist-packages/matplotlib/tests/test_backends_interactive.py� <genexpr>! s z5_get_testable_interactive_backends.<locals>.<genexpr>zMissing dependency��reason)Zmarks) �os�environ�get�any�pytestZparam�mark�skip�append)ZbackendsZdeps�backendr r r r �"_get_testable_interactive_backends s* � �r a_ import importlib import importlib.util import sys from unittest import TestCase import matplotlib as mpl from matplotlib import pyplot as plt, rcParams from matplotlib.backend_bases import FigureCanvasBase rcParams.update({ "webagg.open_in_browser": False, "webagg.port_retries": 1, }) backend = plt.rcParams["backend"].lower() assert_equal = TestCase().assertEqual assert_raises = TestCase().assertRaises if backend.endswith("agg") and not backend.startswith(("gtk3", "web")): # Force interactive framework setup. plt.figure() # Check that we cannot switch to a backend using another interactive # framework, but can switch to a backend using cairo instead of agg, or a # non-interactive backend. In the first case, we use tkagg as the "other" # interactive backend as it is (essentially) guaranteed to be present. # Moreover, don't test switching away from gtk3 (as Gtk.main_level() is # not set up at this point yet) and webagg (which uses no interactive # framework). if backend != "tkagg": with assert_raises(ImportError): mpl.use("tkagg", force=True) def check_alt_backend(alt_backend): mpl.use(alt_backend, force=True) fig = plt.figure() assert_equal( type(fig.canvas).__module__, "matplotlib.backends.backend_{}".format(alt_backend)) if importlib.util.find_spec("cairocffi"): check_alt_backend(backend[:-3] + "cairo") check_alt_backend("svg") mpl.use(backend, force=True) fig, ax = plt.subplots() assert_equal( type(fig.canvas).__module__, "matplotlib.backends.backend_{}".format(backend)) ax.plot([0, 1], [2, 3]) timer = fig.canvas.new_timer(1) timer.add_callback(FigureCanvasBase.key_press_event, fig.canvas, "q") # Trigger quitting upon draw. fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) plt.show() � r � )Zrerunsc C s@ t jtjdtgtjd| i�td�}|jr<t � d|j� d�� d S )N�-c� MPLBACKEND)�env�timeoutz2The subprocess returned with non-zero exit status �.)� subprocess�run�sys� executable�_test_scriptr r � _test_timeout� returncoder �fail)r �procr r r �test_interactive_backendn s �r% Z"SYSTEM_TEAMFOUNDATIONCOLLECTIONURIz,this test fails an azure for unknown reasonsr �ntzCannot send SIGINT on Windows.c C s� t �d� tjtjdtgtjddi�d�} d� t jd t jd �}t� � t }z(| �� }|d ksdt�tj�|�}W q�W qN tjjk r� t� � |kr�t �d � nY qNY qNX qN|�� | �tj� | jtd �dks�t�d S )NZtornador r Zwebagg)r zhttp://{}:{}zwebagg.addresszwebagg.portz'Failed to connect to the webagg server.)r r )r Zimportorskipr �Popenr r r r r �format�mplZrcParams�time�perf_counterr! Zpoll�AssertionError�urllibZrequestZurlopen�errorZURLErrorr# �closeZsend_signal�signal�SIGINT�wait)r$ Zurlr ZretcodeZconnr r r �test_webaggy s* � �r3 )r �importlib.utilr r0 r r r* Zurllib.requestr- r Z matplotlibr) r r r! r ZparametrizeZflakyr% Zskipifr �namer3 r r r r �<module> s( < �