File: //lib64/python3.6/unittest/__pycache__/mock.cpython-36.opt-1.pyc
3
  \�7 �               @   sF  d�Z d
ZddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
 dd� ee�D �Ze
fZdejkrzddlZe
ejjfZdZeZdd� Zdd� Zdd� Zd�dd�Zdd � Zd!d"� Zd#d$� Zd%d&� Zd�d'd(�Zd)d*� Zd+d,� Z G d-d.� d.e!�Z"G d/d0� d0e!�Z#e#� Z$e$j%Z%e$j&Z'e$j(Z)d1d2� Z*d3d4d5d6d7d8d9d:hZ+d;d<� Z,G d=d>� d>e-�Z.d?d@� Z/G dAdB� dBe!�Z0G dCdD� dDe!�Z1G dEd	� d	e1�Z2dFdG� Z3G dHdI� dIe1�Z4G dJd � d e4e2�Z5dKdL� Z6dMdN� Z7dOdP� Z8G dQdR� dRe!�Z9dSdT� Z:e%dddddfdUdV�Z;d�dWdX�Z<e%dddddfdYd�Z=G dZd[� d[e!�Z>d\d]� Z?d^d_� Z@e;e=_!e>e=_Ae<e=_Be@e=_Cd`e=_DdaZEdbZFdcjGddde� eFjH� D ��ZIdcjGdfde� eFjH� D ��ZJdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxhZKdydz� ZLd{d� dcjGeEeFeIeJg�jH� D �ZMeMeKB ZNd|d}d~dd�d�d�d�hZOd�d�� d�d�� d�d�� d��ZPeQeQeQeQd�dddd�d�dd�d��ZRd�d�� ZSd�d�� ZTd�d�� ZUeSeTeUd��ZVd�d�� ZWG d�d�� d�e!�ZXG d�d
� d
eXe2�ZYG d�d� deXe5�ZZG d�d�� d�e!�Z[G d�d�� d�e!�Z\e\� Z]d�d�� Z^G d�d�� d�e_�Z`e`dd��Zad�d�d�Zbd�d�� Zcd�d�� ZdG d�d�� d�e!�Zeefeb�efe]jg�fZhefe]jgji�fZjdakd�d�� Zld�d�d�ZmG d�d� de5�ZndS )��Mock�	MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec�
FILTER_DIR�NonCallableMock�NonCallableMagicMock�	mock_open�PropertyMockz1.0�    N)�
ModuleType)�wraps�partialc             C   s   h | ]}|j d �s|�qS )�_)�
startswith)�.0�name� r   �%/usr/lib64/python3.6/unittest/mock.py�	<setcomp>#   s    r   �javaTc             C   s   t t| �t�S )N)�
issubclass�typer
   )�objr   r   r   �_is_instance_mock2   s    r   c             C   s   t | t�pt | t�ot| t�S )N)�
isinstance�BaseExceptionsr   r   )r   r   r   r   �
_is_exception8   s    
r    c             C   s�   t | t�r6| r6y
| j} W n tk
r.   dS X d}n*t | t�s`y
| j} W n tk
r^   dS X |rpt| d�}n| }y| tj|�fS  t	k
r�   dS X dS )z�
    Given an arbitrary, possibly callable object, try to create a suitable
    signature object.
    Return a (reduced func, signature) tuple, or None.
    NT)
r   r   �__init__�AttributeError�
FunctionTypes�__call__r   �inspectZ	signature�
ValueError)�funcZas_instanceZeat_selfZsig_funcr   r   r   �_get_signature_object?   s$    
r(   Fc                sD   t | ||�� � d krd S � \} � � fdd�}t| |� |t|�_d S )Nc                s   � j ||� d S )N)�bind)�
_mock_self�args�kwargs)�sigr   r   �checksigd   s    z"_check_signature.<locals>.checksig)r(   �_copy_func_detailsr   �_mock_check_sig)r'