File: //lib/python3.7/unittest/__pycache__/mock.cpython-37.pyc
B
U��e-> � @ sN d Z dZddlZddlZddlZddlZddlmZ ddlm Z m
Z
dd� ee�D �Ze
fZdejkrzddlZe
ejjfZd ZeZd
d� Zdd
� Zdd� Zd�dd�Zdd� Zdd� Zdd� Zdd� Zd�dd�Zdd� Zdd � Z G d!d"� d"e!�Z"G d#d$� d$e!�Z#e#� Z$e$j%Z%e$j&Z'e$j(Z)d%d&� Z*d'd(d)d*d+d,d-d.hZ+d/d0� Z,G d1d2� d2e-�Z.d3d4� Z/G d5d6� d6e!�Z0G d7d8� d8e!�Z1G d9d:� d:e1�Z2d;d<� Z3G d=d>� d>e1�Z4G d?d@� d@e4e2�Z5dAdB� Z6dCdD� Z7dEdF� Z8G dGdH� dHe!�Z9dIdJ� Z:e%dddddfdKdL�Z;d�dMdN�Z<e%dddddfdOdP�Z=G dQdR� dRe!�Z>dSdT� Z?dUdV� Z@e;e=_!e>e=_Ae<e=_Be@e=_CdWe=_DdXZEdYZFdZ�Gd[d\� eF�H� D ��ZIdZ�Gd]d\� eF�H� D ��ZJd^d_d`dadbdcdddedfdgdhdidjdkdldmdndohZKdpdq� ZLdrd� dZ�GeEeFeIeJg��H� D �ZMeMeKB ZNdsdtdudvdwdxdydzhZOd{d|� d}d|� d~d|� d�ZPeQeQeQeQd�dddd�d�d d�d��ZRd�d�� ZSd�d�� ZTd�d�� ZUeSeTeUd��ZVd�d�� ZWG d�d�� d�e!�ZXG d�d�� d�eXe2�ZYG d�d�� d�eXe5�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�� d�e5�Znd�d�� ZodS )�)�Mock� MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec�
FILTER_DIR�NonCallableMock�NonCallableMagicMock� mock_open�PropertyMock�sealz1.0� N)�
ModuleType)�wraps�partialc C s h | ]}|� d �s|�qS )�_)�
startswith)�.0�name� r �#/usr/lib/python3.7/unittest/mock.py� <setcomp>$ s r �javaTc C s t t| �t�S )N)�
issubclass�typer
)�objr r r �_is_instance_mock3 s r c C s t | t�pt | t�ot| t�S )N)�
isinstance�BaseExceptionsr r )r r r r �
_is_exception9 s
r! c C s� t | t�r4|s4y
| j} W n tk
r, dS X d}n*t | t�s^y
| j} W n tk
r\ dS X |rnt| d�}n| }y| t�|�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 sN t | ||�� � d krd S � \} � � fdd�}t| |� |t|�_� t|�_d S )Nc s � j ||� d S )N)�bind)�
_mock_self�args�kwargs)�sigr r �checksige s z"_check_signature.<locals>.checksig)r) �_copy_func_detailsr �_mock_check_sig�
__signature__)r( �mock� skipfirst�instancer/ r )r. r �_check_signature` s
r6 c C s>