l
Ύ?TE  c               @   s   d  Z  d d l Z d d l j j Z d d l Z d d l Z y d d l	 m	 Z	 Wn" e
 k
 rt d d l m	 Z	 Yn Xd d l m Z d d l m Z m Z Gd   d e  Z Gd   d	 e  Z Gd
   d e  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d S(   u   Debugger Testsi    N(   u   StringIO(   u   Debugger(   u   Eventu	   Componentc             B   s   |  Ee  Z d  Z d S(   u
   test EventN(   u   __name__u
   __module__u   __doc__(   u
   __locals__(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test   s   
u   testc             B   s   |  Ee  Z d d   Z d S(   c             C   s   | r t     n  d  S(   N(   u	   Exception(   u   selfu   raiseException(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test   s    NF(   u   __name__u
   __module__u   Falseu   test(   u
   __locals__(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   App   s   
u   Appc             B   s,   |  Ee  Z d Z d Z d    Z d   Z d S(   c             C   s   | |  _  d  S(   N(   u	   error_msg(   u   selfu   msg(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   error$   s    c             C   s   | |  _  d  S(   N(   u	   debug_msg(   u   selfu   msg(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   debug'   s    N(   u   __name__u
   __module__u   Noneu	   error_msgu	   debug_msgu   erroru   debug(   u
   __locals__(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   Logger   s   
	u   Loggerc              C   sό  t    }  t   } t d |  } | j |   x |  rD |  j   q1 W| j d  | j   | j } | sΨ d d i t j	 |  d 6d t
 j   k s¦ t j |  r΅ t j	 |  n d d 6} t t j |    n  d  } t   } |  j |  |  j   | j d  | j   j   } t |  } | | k } | s>t j d | f d | | f  i d
 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 6d t
 j   k sλt j |  rϊt j	 |  n d d 6t j	 |  d 6} d i | d 6}	 t t j |	    n  d  } } | j d  | j   d | _ | j } | }
 |
 sλd d i t j	 |  d 6d t
 j   k sΉt j |  rΘt j	 |  n d d 6} t t j |    n  d  } }
 t   } |  j |  | j d  | j   j   } d } | | 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 6} d i | d 6} t t j |    n  d  } } | j d  | j   d  S(   Nu   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u/   assert not %(py2)s
{%(py2)s = %(py0)s._events
}u   %(py0)s == %(py3)su   assert %(py5)s(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)sF(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   Appu   StringIOu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   Eventu   fireu   readu   stripu   stru   _call_reprcompareu   False(   u   appu   stderru   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert3u   @py_format4u   @py_assert2(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu	   test_main+   s^    			
	  U  	
   Ϊ   

		   U  
	   l   
c             C   s  t  |  j d   } t | d  } t   } t d |  } | j |  x | r_ | j   qL W| j d  | j   | j	 } | sσ d d i t
 j |  d 6d t j   k sΑ t
 j |  rΠ t
 j |  n d d	 6} t t
 j |    n  d  } t   } | j |  | j   | j d  | j   j   } t  |  }	 | |	 k } | sYt
 j d | f d | |	 f  i d 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 6d t j   k st
 j |  rt
 j |  n d d	 6t
 j |	  d 6}
 d i |
 d 6} t t
 j |    n  d  } }	 | j d  | j   d | _	 | j	 } | } | sd d i t
 j |  d 6d t j   k sΤt
 j |  rγt
 j |  n d d	 6} t t
 j |    n  d  } } t   } | j |  | j d  | j   j   } d } | | 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	 6} d i | d 6}
 t t
 j |
    n  d  } } | j d  | j   d  S(   Nu	   debug.logu   w+u   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u/   assert not %(py2)s
{%(py2)s = %(py0)s._events
}u   %(py0)s == %(py3)su   assert %(py5)s(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)sF(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   stru   ensureu   openu   Appu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   Eventu   fireu   readu   stripu   _call_reprcompareu   False(   u   tmpdiru   logfileu   stderru   appu   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert3u   @py_format4u   @py_assert2(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu	   test_fileM   s`    		
	  U  	
   Ϊ   

		   U  
	   l   
c             C   s6  d t  j k r t j d  n  t |  j d   } t | d  } t   } t d |  } | j	 |  x | r~ | j
   qk W| j d  | j   | j } | sd d i t j |  d	 6d
 t j   k sΰ t j |  rο t j |  n d
 d 6} t t j |    n  d  } t   } | j |  | j
   | j d  | j   j   } t |  }	 | |	 k } | sxt j d | f d | |	 f  i d 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	 6d t j   k s%t j |  r4t j |  n d d 6t j |	  d 6}
 d i |
 d 6} t t j |    n  d  } }	 | j d  | j   d | _ | j } | } | s%d d i t j |  d	 6d
 t j   k sσt j |  rt j |  n d
 d 6} t t j |    n  d  } } t   } | j |  | j d  | j   j   } d } | | 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 6} d i | d 6}
 t t j |
    n  d  } } | j d  | j   d  S(   Nu   __pypy__u   Broken on pypyu	   debug.logu   r+u   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u/   assert not %(py2)s
{%(py2)s = %(py0)s._events
}u   %(py0)s == %(py3)su   assert %(py5)s(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)sF(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   sysu   modulesu   pytestu   skipu   stru   ensureu   openu   Appu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   Eventu   fireu   readu   stripu   _call_reprcompareu   False(   u   tmpdiru   logfileu   stderru   appu   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert3u   @py_format4u   @py_assert2(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_filenamer   sd    		
	  U  	
   Ϊ   

		   U  
	   l   
c              C   s  t    }  t   } t d |  } | j |   x |  rD |  j   q1 W| j d  | j   | j } | sΨ d d i t j	 |  d 6d t
 j   k s¦ t j |  r΅ t j	 |  n d d 6} t t j |    n  d  } | j } | sZd d i t j	 |  d 6d t
 j   k s(t j |  r7t j	 |  n d d 6} t t j |    n  d  } t d	 d  } |  j |  |  j   | j d  | j   j   } t |  } | | k } | sΖt j d | f d | | f  i d t
 j   k st j |  rt j	 |  n d d 6d t
 j   k s<t j t  rKt j	 t  n d d 6d t
 j   k sst j |  rt j	 |  n d d 6t j	 |  d 6} d i | d 6}	 t t j |	    n  d  } } | j d  | j   |  j   | j d  | j   j   } | j } d }
 | |
  } | sΎd d i t j	 |  d 6d t
 j   k slt j |  r{t j	 |  n d d 6t j	 |  d 6t j	 |
  d 6} t t j |    n  d  } }
 } | j d  | j   d | _ d | _ | j } | }
 |
 sxd d i t j	 |  d 6d t
 j   k sFt j |  rUt j	 |  n d d 6} t t j |    n  d  } }
 | j } | }
 |
 sd d i t j	 |  d 6d t
 j   k sΣt j |  rβt j	 |  n d d 6} t t j |    n  d  } }
 t d	 d  } |  j |  |  j   | j d  | j   j   } d } | | 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 6} d" i | d 6} t t j |    n  d  } } | j d  | j   |  j   | j d  | j   j   } d } | | 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 6} d% i | d 6} t t j |    n  d  } } d  S(&   Nu   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u+   assert %(py2)s
{%(py2)s = %(py0)s._errors
}u   raiseExceptionu   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u   <exception[*]uL   assert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.startswith
}(%(py4)s)
}u   py6u   py4u/   assert not %(py2)s
{%(py2)s = %(py0)s._events
}u/   assert not %(py2)s
{%(py2)s = %(py0)s._errors
}u   %(py0)s == %(py3)su   assert %(py5)sT(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)sF(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   Appu   StringIOu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   _errorsu   testu   Trueu   fireu   readu   stripu   stru   _call_reprcompareu
   startswithu   False(   u   appu   stderru   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert3u   @py_assert5u   @py_format7u   @py_format4u   @py_assert2(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_exceptions   s€    			
	  U  	  U  
   Ϊ   


	    u  
			   U  
	   U  

   l   


   l   c           
   C   s  t    }  t   } t d |  } | j |   x |  rD |  j   q1 W| j d  | j   | j } | sΨ d d i t j	 |  d 6d t
 j   k s¦ t j |  r΅ t j	 |  n d d 6} t t j |    n  d  } | j j d g  t   } |  j |  |  j   | j d  | j   j   } t |  } | | k } | sQt j d | f d | | f  i d 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 6d t
 j   k sώt j |  rt j	 |  n d d 6t j	 |  d 6} d i | d 6}	 t t j |	    n  d  } } | j d  | j   t   } |  j |  |  j   | j d  | j   j   } d }
 | |
 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 6} d i | d 6} t t j |    n  d  } }
 | j d  | j   d  S(   Nu   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u   testu   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u   %(py0)s == %(py3)su   assert %(py5)s(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)s(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   Appu   StringIOu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   IgnoreEventsu   extendu   Eventu   fireu   readu   stripu   stru   _call_reprcompareu   test(   u   appu   stderru   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert2u   @py_format4(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_IgnoreEventsΞ   sT    			
	  U  	
   Ϊ   

	
   l   
c           
   C   s  t    }  t   } t d |  } | j |   x |  rD |  j   q1 W| j d  | j   | j } | sΨ d d i t j	 |  d 6d t
 j   k s¦ t j |  r΅ t j	 |  n d d 6} t t j |    n  d  } | j j d g  t   } |  j |  |  j   | j d  | j   j   } t |  } | | k } | sQt j d | f d | | f  i d 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 6d t
 j   k sώt j |  rt j	 |  n d d 6t j	 |  d 6} d i | d 6}	 t t j |	    n  d  } } | j d  | j   t   } |  j |  |  j   | j d  | j   j   } d }
 | |
 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 6} d i | d 6} t t j |    n  d  } }
 | j d  | j   d  S(   Nu   filei    u    u+   assert %(py2)s
{%(py2)s = %(py0)s._events
}u   py2u   debuggeru   py0u   *u   testu   ==u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   eu   py3u   stru   su   py5u   assert %(py7)su   py7u   %(py0)s == %(py3)su   assert %(py5)s(   u   *u   test(   u   ==(   u0   %(py0)s == %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}u   assert %(py7)s(   u   ==(   u   %(py0)s == %(py3)su   assert %(py5)s(   u   Appu   StringIOu   Debuggeru   registeru   flushu   seeku   truncateu   _eventsu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   Noneu   IgnoreChannelsu   extendu   Eventu   fireu   readu   stripu   stru   _call_reprcompareu   test(   u   appu   stderru   debuggeru   @py_assert1u   @py_format3u   eu   su   @py_assert4u   @py_format6u   @py_format8u   @py_assert2u   @py_format4(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_IgnoreChannelsρ   sT    			
	  U  	
   Ϊ   

	
   l   
c        	      C   s±  t    }  t   } t d |  } | j |   x |  rD |  j   q1 Wt   } |  j |  |  j   | j } t |  } | | 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 |  r4t	 j |  n d d 6d	 t j   k s\t	 j t  rkt	 j t  n d	 d
 6} d i | d 6} t t	 j |    n  d  } } } d  S(   Nu   loggeru   ==uO   %(py2)s
{%(py2)s = %(py0)s.debug_msg
} == %(py7)s
{%(py7)s = %(py4)s(%(py5)s)
}u   py2u   py0u   py7u   eu   py5u   repru   py4u    u   assert %(py9)su   py9(   u   ==(   uO   %(py2)s
{%(py2)s = %(py0)s.debug_msg
} == %(py7)s
{%(py7)s = %(py4)s(%(py5)s)
}u   assert %(py9)s(   u   Appu   Loggeru   Debuggeru   registeru   flushu   Eventu   fireu	   debug_msgu   repru
   @pytest_aru   _call_reprcompareu	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   None(	   u   appu   loggeru   debuggeru   eu   @py_assert1u   @py_assert6u   @py_assert3u   @py_format8u   @py_format10(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_Logger_debug  s"    				
	    κ   c        	      C   sU  t    }  t   } t d |  } | j |   x |  rD |  j   q1 Wt d d  } |  j |  x |  rw |  j   qd W| j } | j	 } d } | |  } | s?d d i t
 j |  d 6d t j   k sέ t
 j |  rμ t
 j |  n d d 6t
 j |  d 6t
 j |  d	 6t
 j |  d
 6} t t
 j |    n  d  } } } } d  S(   Nu   loggeru   raiseExceptionu$   ERROR <handler[*.test] (App.test)> (u    uk   assert %(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.error_msg
}.startswith
}(%(py6)s)
}u   py2u   py0u   py6u   py8u   py4T(   u   Appu   Loggeru   Debuggeru   registeru   flushu   testu   Trueu   fireu	   error_msgu
   startswithu
   @pytest_aru	   _saferepru   @py_builtinsu   localsu   _should_repr_global_nameu   AssertionErroru   _format_explanationu   None(	   u   appu   loggeru   debuggeru   eu   @py_assert1u   @py_assert3u   @py_assert5u   @py_assert7u   @py_format9(    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   test_Logger_error"  s$    					 	      (   u   __doc__u   builtinsu   @py_builtinsu   _pytest.assertion.rewriteu	   assertionu   rewriteu
   @pytest_aru   sysu   pytestu   StringIOu   ImportErroru   iou   circuitsu   Debuggeru   circuits.coreu   Eventu	   Componentu   testu   Appu   objectu   Loggeru	   test_mainu	   test_fileu   test_filenameu   test_exceptionsu   test_IgnoreEventsu   test_IgnoreChannelsu   test_Logger_debugu   test_Logger_error(    (    (    u8   /home/prologic/work/circuits/tests/core/test_debugger.pyu   <module>   s*     	"	%	(	4	#	"	