ó
¾?T  c           @   s”   d  d l  Z d  d l j j Z d  d l Z d  d l m Z m	 Z	 d e f d „  ƒ  YZ
 d e	 f d „  ƒ  YZ d „  Z e j d „  ƒ Z d	 „  Z d S(
   iÿÿÿÿN(   t   Eventt	   Componentt   testc           B   s   e  Z d  Z RS(   s
   test Event(   t   __name__t
   __module__t   __doc__(    (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyR      s   t   Appc           B   s)   e  Z d  „  Z d „  Z d d d „ Z RS(   c         C   sD   t  t |  ƒ j ƒ  d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S(   N(	   t   superR   t   __init__t   Nonet   etypet   evaluet
   etracebackt   handlert   fevent(   t   self(    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyR      s    				c         C   s   t  S(   N(   t   x(   R   (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyR      s    c         C   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S(   N(   R
   R   R   R   R   (   R   R
   R   R   R   R   (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt	   exception   s
    				N(   R   R   R   R   R	   R   (    (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyR      s   			c         C   s
   |  ‚ d  S(   N(    (   t   e(    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt   reraise"   s    c            s?   t  ƒ  j | ƒ ‰  | j d ƒ ‡  f d †  } |  j | ƒ ˆ  S(   Nt
   registeredc              s   ˆ  j  ƒ  d  S(   N(   t
   unregister(    (   t   app(    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt	   finalizer+   s    (   R   t   registert   waitt   addfinalizer(   t   requestt   managert   watcherR   (    (   R   s6   /home/prologic/work/circuits/tests/core/test_errors.pyR   &   s
    c   
      C   sC  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  d  } } t j t d „  |  j ƒ |  j } t | t ƒ } | s6d	 d 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 6t j | ƒ d 6d t j	 ƒ  k st j
 t ƒ rt j t ƒ n d d 6} t t j | ƒ ƒ ‚ n  d  } } |  j } |  j  } | | k } | s@t j d | f d | | f ƒ i t j | ƒ d 6d t j	 ƒ  k s¶t j
 |  ƒ rÅt j |  ƒ n d d 6t j | ƒ d 6d t j	 ƒ  k sýt j
 |  ƒ rt j |  ƒ n d d 6} d i | d 6}	 t t j |	 ƒ ƒ ‚ n  d  } } } |  j } | | k } | s5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  d  } } d  S(    NR   s   ==s-   %(py2)s
{%(py2)s = %(py0)s.etype
} == %(py4)st   py2R   t   py0t	   NameErrort   py4t    s   assert %(py6)st   py6c         S   s
   t  |  ƒ S(   N(   R   (   R   (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt   <lambda>9   s    sU   assert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.etraceback
}, %(py4)s)
}t   py3t   py1t
   isinstancet   listsI   %(py2)s
{%(py2)s = %(py0)s.handler
} == %(py6)s
{%(py6)s = %(py4)s.test
}s   assert %(py8)st   py8s.   %(py2)s
{%(py2)s = %(py0)s.fevent
} == %(py4)sR   (   s   ==(   s-   %(py2)s
{%(py2)s = %(py0)s.etype
} == %(py4)ss   assert %(py6)s(   s   ==(   sI   %(py2)s
{%(py2)s = %(py0)s.handler
} == %(py6)s
{%(py6)s = %(py4)s.test
}s   assert %(py8)s(   s   ==(   s.   %(py2)s
{%(py2)s = %(py0)s.fevent
} == %(py4)ss   assert %(py6)s(   R   t   fireR   R
   R    t
   @pytest_art   _call_reprcomparet	   _safereprt   @py_builtinst   localst   _should_repr_global_namet   AssertionErrort   _format_explanationR	   t   pytestt   raisesR   R   R'   R(   R   R   (
   R   R   R   t   @py_assert1t   @py_assert3t   @py_format5t   @py_format7t   @py_assert2t   @py_assert5t   @py_format9(    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt	   test_main3   s@    		   £   
	   Ó  
	 	   ³   	   £   (   t   __builtin__R.   t   _pytest.assertion.rewritet	   assertiont   rewriteR+   R3   t   circuitsR    R   R   R   R   t   fixtureR   R<   (    (    (    s6   /home/prologic/work/circuits/tests/core/test_errors.pyt   <module>   s     	