3
+��h� � � @ sP d Z ddlmZmZmZmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZeed�s�ddlZddlZddlZddlZddlZyddl Z W n" e!k
�r ddl"m Z Y nX ddl#Z#ddl$Z%ddl&Z&ddl'Z'y.ej(�r>ddl)Z)ddl*Z*nddl+Z)ddl*Z*W n e!k
�rn dZ)dZ*Y nX yddl,Z-W n e!k
�r� dZ-Y nX yddl.Z.W n e!k
�r� dZ.Y nX yddl/Z/W n e!k
�r� dZ/Y nX yddl0Z0W n e!k
�r dZ0Y nX yddl1Z1W n e!k
�r6 dZ1Y nX dd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQgJZ2G dRd� de3�Z4G dSd � d e4�Z5G dTd
� d
ej6�Z7ej8d�dVdW��Z9d�dYd�Z:dZd[� Z;d\d]� Z<d^dL� Z=f f dXfd_dH�Z>d`d?� Z?daZ@dZAdaBdaCdXZDdZEdaFdbd� ZGdcd� ZHddd� ZIejjJde��r�d�dfdg�ZKdhdi� ZLdjdk� ZMdldm� ZNnejOZLejPZMejQZNdnd� ZOdodp� ZPdqd� ZQejjJde��rddlRZRddlSZRdrds� ZTndtds� ZTdud� ZUd�dvd�ZVdwdx� ZWdyd� ZXdzd� ZYd{d� ZZd|Z[d}Z\ej]ej^fd~d�Z_e[fdd�Z`d�d�� Zaea� Zbd�Zcd�Zdejee.d��Zfejee0d��Zgejee1d��ZhejjJd��Ziejjd�k�r�d�Zknd�Zkd�jlekejm� �Zkejn� Zoej8d�d�d!��Zpeed���rej8d�d2� �Zqerdfd�d"�Zsd�d#� Ztd�d$� Zud�d�� Zvd�d%� Zwd�d&� ZxG d�d�� d�ey�Zzd�d�d��Z{ej8d�d'� �Z|G d�d(� d(ey�Z}ej(�r�ddl~Zej�j�Z�nddl�Z�e�j�Z�G d�d)� d)e��Z�G d�d�� d�ey�Z�G d�d*� d*ey�Z�e�e�ej�d��Z�e�ej�ej�d��Z�e�e�ej�d��Z�ej8d�f fd�d3��Z�ej8d�d�� �Z�d�d+� Z�d�d-� Z�d�d,� Z�d�d�� Z�ej8d�d�� �Z�d�d�� Z�d�Z�d�Z�eed���rld�e� Z�d�Z�e�d� Z�d�d�� Z�d�d�� Z��d Z��dZ�d�d�� Z�d�d1� Z�d�dM� Z��dZ�d�e� Z�d�e� Z�d�e� Z�ej�Z�d�d4� Z�G d�d d�ey�Z��dd�d5�Z�d�d6� Z�G d�d7� d7ey�Z�d�dDŽ Z�d�dɄ Z�d�d=� Z��dd�d̄Z�d�d΄ Z�d�d>� Z�d�dф Z�d�dӄ Z�d�dՄ Z�d�dׄ Z�d�d8� Z��dd�d9�Z�d�dۄ Z�d�d݄ Z�d�d:� Z�d�d;� Z�d�d� Z�d�d<� Z�ej8d�dA� �Z�ej8d�d@� �Z�d�d� Z�d�d� Z�G d�dC� dCe%j�jÃZ�G d�dD� dDey�Z�da�d�dE� Z�d�dF� Z�da�d�d� Z�d�dG� Z�ejjJde��r6ej8d�dQ� �Z�nej8d�dQ� �Z�d�d� Z�dS ( zwSupporting definitions for the Python regression tests.
Backported for python-future from Python 3.3 test/support.py.
� )�absolute_import�division�print_function�unicode_literals)�utils)�str�range�open�int�map�listN�skip)� sysconfig�Error�
TestFailed�ResourceDenied�
import_module�verbose�
use_resources�
max_memuse�record_original_stdout�get_original_stdout�unload�unlink�rmtreeZforget�is_resource_enabled�requires�requires_freebsd_version�requires_linux_version�requires_mac_ver�find_unused_port� bind_port�IPV6_ENABLED� is_jython�TESTFN�HOST�SAVEDCWD�temp_cwd�findfile�create_empty_file�sortdict�check_syntax_error�open_urlresource�check_warnings�CleanImport�EnvironmentVarGuard�TransientResource�captured_stdout�captured_stdin�captured_stderr�time_out�socket_peer_reset�ioerror_peer_reset�run_with_locale�
temp_umask�transient_internet�set_memlimit�
bigmemtest�bigaddrspacetest�BasicTestRunner�run_unittest�run_doctest�threading_setup�threading_cleanup�
reap_children�cpython_only�check_impl_detail�
get_attribute� swap_item� swap_attrZrequires_IEEE_754�TestHandler�Matcher�can_symlink�skip_unless_symlink�skip_unless_xattr�import_fresh_module�
requires_zlib�
PIPE_MAX_SIZE�failfast�anticipate_failure�run_with_tzZ
requires_gzip�requires_bz2�
requires_lzma�suppress_crash_popupc @ s e Zd ZdZdS )r z*Base class for regression test exceptions.N)�__name__�
__module__�__qualname__�__doc__� rZ rZ �D/root/tmp/pip-build-yeh9mt8d/future/future/backports/test/support.pyr a s c @ s e Zd ZdZdS )r zTest failed.N)rV rW rX rY rZ rZ rZ r[ r d s c @ s e Zd ZdZdS )r z�Test skipped because it requested a disallowed resource.
This is raised when a test calls requires() for a resource that
has not be enabled. It is used to distinguish between expected
and unexpected skips.
N)rV rW rX rY rZ rZ rZ r[ r g s Tc c s8 | r.t j� � t jddt� dV W dQ R X ndV dS )z�Context manager to suppress package and module deprecation
warnings when importing them.
If ignore is False, this context manager has no effect.�ignorez.+ (module|package)N)�warnings�catch_warnings�filterwarnings�DeprecationWarning)r\ rZ rZ r[ �_ignore_deprecated_importso s
ra Fc C sT t |��B y
tj| �S tk
rD } ztjt|���W Y dd}~X nX W dQ R X dS )z�Import and return the module to be tested, raising SkipTest if
it is not available.
If deprecated is True, any module or package deprecation messages
will be suppressed.N)ra � importlibr �ImportError�unittest�SkipTestr )�name�
deprecated�msgrZ rZ r[ r ~ s
c C s^ | t jkrt| � t j| = x>tt j�D ]0}|| ks@|j| d �r&t j| ||< |