File: //proc/self/root/lib/python3/dist-packages/twisted/test/__pycache__/test_failure.cpython-38.pyc
U
��W[ ~ � @ sv d Z ddlmZmZ ddlZddlZddlZddlZddlZddl m
Z
mZ ddlm
Z
ddlmZ ddlmZmZ zddlmZ W n ek
r� dZY nX d d
� ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� dee�ZG dd� de�ZG dd� de�Zejdk �rdd� Z nddlm!Z! dd� Z G dd� de�Z"G dd� de�Z#G d d!� d!e�Z$G d"d#� d#e�Z%dS )$z6
Test cases for the L{twisted.python.failure} module.
� )�division�absolute_importN)�_PY3�NativeStringIO)�reflect)�failure)�SkipTest�SynchronousTestCase)�raiserc O s* zdd W n t j| |�}Y nX |S )z�
Make a C{Failure} of a divide-by-zero error.
@param args: Any C{*args} are passed to Failure's constructor.
@param kwargs: Any C{**kwargs} are passed to Failure's constructor.
� r )r �Failure)�args�kwargs�f� r �;/usr/lib/python3/dist-packages/twisted/test/test_failure.py�getDivisionFailure s
r c @ s4 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� ZdFdd�ZdGdd�Z
dHdd�Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Zd;d<� Z d=d>� Z!d?d@� Z"e#e$dAdB�dBk�r(dCe!_%dCe"_%dDdE� Z&dBS )I�FailureTestsz'
Tests for L{failure.Failure}.
c C sL zt d��W n t�� }Y nX |�tt�}| �|t� | �|jt � dS )z(
Trapping a L{Failure}.
ZtestN)�NotImplementedErrorr r �trap�
SystemExit�RuntimeError�assertEqual�type)�selfr �errorr r r �test_failAndTrap1 s zFailureTests.test_failAndTrapc C sP t std��t� }z|�W n t�� }Y nX | �t|jt�}| �||� dS )z�
If the wrapped C{Exception} is not a subclass of one of the
expected types, L{failure.Failure.trap} raises the wrapped
C{Exception}.
z�
Only expected behaviour on Python 3.
@see U{http://twisted.readthedocs.io/en/latest/core/howto/python3.html#twisted-python-failure}
N� r r �
ValueErrorr r �assertRaisesr �
OverflowError�assertIs�r � exceptionr Z untrappedr r r �test_trapRaisesWrappedException>