
?T                 @   s   d  d l  Z d  d l j j Z d  d l Z d  d l m Z m	 Z	 Gd d   d e  Z
 Gd d   d e	  Z d d   Z e j d	 d
    Z d d   Z d S)    N)Event	Componentc               @   s   e  Z d  Z d Z d S)testz
test EventN)__name__
__module____qualname____doc__ r	   r	   6/home/prologic/work/circuits/tests/core/test_errors.pyr      s   r   c                   s@   e  Z d  Z   f d d   Z d d   Z d d d d  Z   S)Appc                sD   t  t |   j   d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S)N)superr   __init__etypeevalue
etracebackhandlerfevent)self)	__class__r	   r
   r      s    				zApp.__init__c             C   s   t  S)N)x)r   r	   r	   r
   r      s    zApp.testNc             C   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S)N)r   r   r   r   r   )r   r   r   r   r   r   r	   r	   r
   	exception   s
    				zApp.exception)r   r   r   r   r   r   r	   r	   )r   r
   r      s   	r   c             C   s
   |   d  S)Nr	   )er	   r	   r
   reraise"   s    r   c                sB   t    j |    | j d    f d d   } |  j |    S)N
registeredc                  s     j    d  S)N)
unregisterr	   )appr	   r
   	finalizer+   s    zapp.<locals>.finalizer)r   registerwaitaddfinalizer)requestmanagerwatcherr   r	   )r   r
   r   &   s
    r   c       
      C   sF  t    } |  j |  | j d  |  j } | t k } | s
t j d | f d | t f  i t j |  d 6d t j	   k s t j
 |   r t j |   n d d 6d t j	   k s t j
 t  r t j t  n d d 6} d i | d 6} t t j |    n  t } } t j t d d   |  j  |  j } t | t  } | s9d	 d i d t j	   k syt j
 |   rt j |   n d d 6d t j	   k st j
 t  rt j t  n d d 6t j |  d 6t j |  d 6d t j	   k st j
 t  rt j t  n d d 6} t t j |    n  t } } |  j } |  j  } | | k } | sCt j d | f d | | f  i t j |  d 6t j |  d 6d t j	   k st j
 |   rt j |   n d d 6d t j	   k s t j
 |   rt j |   n d d 6} d i | d 6}	 t t j |	    n  t } } } |  j } | | k } | s8t j d | f d | | f  i t j |  d 6d t j	   k st j
 |   rt j |   n d d 6d t j	   k st j
 |  rt j |  n d d 6} d  i | d 6} t t j |    n  t } } d  S)!Nr   ==-%(py2)s
{%(py2)s = %(py0)s.etype
} == %(py4)spy2r   py0	NameErrorpy4 assert %(py6)spy6c             S   s
   t  |   S)N)r   )r   r	   r	   r
   <lambda>9   s    ztest_main.<locals>.<lambda>zUassert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.etraceback
}, %(py4)s)
}py1listpy3
isinstanceI%(py2)s
{%(py2)s = %(py0)s.handler
} == %(py6)s
{%(py6)s = %(py4)s.test
}assert %(py8)spy8.%(py2)s
{%(py2)s = %(py0)s.fevent
} == %(py4)sr   )r#   )r$   r*   )r#   )r1   r2   )r#   )r4   r*   )r   firer   r   r'   
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationNonepytestraisesr   r   r0   r.   r   r   )
r   r"   r   @py_assert1@py_assert3@py_format5@py_format7@py_assert2@py_assert5@py_format9r	   r	   r
   	test_main3   s@    		      
	     
	 	      	      rH   )builtinsr9   _pytest.assertion.rewrite	assertionrewriter6   r?   circuitsr   r   r   r   r   fixturer   rH   r	   r	   r	   r
   <module>   s     