
?T                 @   s   d  d l  Z d  d l j j Z d  d l m Z m Z m	 Z	 e	 d k rS e d  n  d  d l
 m Z m Z d  d l m Z d  d l m Z m Z d  d l m Z Gd	 d
   d
 e  Z e   d d    Z e   d d    Z d d   Z d S)    N)fixtureskipPLATFORMwin32zBroken on Windows)	ComponentEvent)close)Noderemote)	UDPServerc               @   sR   e  Z d  Z d Z d Z d Z d d   Z d d   Z d d   Z d d	   Z d
 S)AppFc             C   s   d S)NzHello World! )selfr   r   4/home/prologic/work/circuits/tests/node/test_node.pyfoo   s    zApp.fooc             G   s   d |  _  d  S)NT)ready)r   argsr   r   r   r      s    z	App.readyc             C   s   d |  _  d  S)NT)disconnected)r   	componentr   r   r   
disconnect   s    zApp.disconnectc             C   s   d |  _  d  S)NT)value)r   r   r   r   r   remote_value_changed    s    zApp.remote_value_changedN)	__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r      s   r   c       
      C   s  t  d  j |  } | j } d } | |  } | s d d i t j |  d 6t j |  d 6d t j   k s t j |  r t j |  n d d 6t j |  d	 6} t t j	 |    n  t
 } } } | j | j } }	 | j t    | j } d
 } | |  } | sd d i t j |  d 6t j |  d 6d t j   k s`t j |  rot j |  n d d 6t j |  d	 6} t t j	 |    n  t
 } } } | j   | j } d } | |  } | shd d i t j |  d 6t j |  d 6d t j   k s&t j |  r5t j |  n d d 6t j |  d	 6} t t j	 |    n  t
 } } } | |	 f S)Nr   r    zFassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.wait
}(%(py4)s)
}py2py6watcherpy0py4closedunregistered)r   registerwait
@pytest_ar	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationNonehostportfirer   
unregister)
requestmanagerr   server@py_assert1@py_assert3@py_assert5@py_format7r-   r.   r   r   r   bind$   s4    	    u  	    u  
	    u  r8   c                s   t    j |  } t   j |  } | j d  t    t |      j d d  | j d |  | j d    f d d   } |  j |  | S)Nr   processTchild	connectedc                  s     j    d  S)N)stopr   )r:   r   r   	finalizer@   s    zapp.<locals>.finalizer)r   r#   r	   r$   startaddaddfinalizer)r1   r2   r   r8   appnoder=   r   )r:   r   rA   4   s    rA   c             C   s  t  j d  } d | _ t | d  } d | _ |  j |  } | j } d } | |  } | s d d i t j |  d 6t j |  d 6d	 t j	   k s t j
 |  r t j |  n d	 d
 6t j |  d 6} t t j |    n  t } } } | j } d }	 | |	 k } | s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
 6}
 d i |
 d 6} t t j |    n  t } } }	 d  S)Nr   Tr:   r   r   zFassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.wait
}(%(py4)s)
}r   r   r   r   r    zHello World!==-%(py2)s
{%(py2)s = %(py0)s.value
} == %(py5)spy5r   assert %(py7)spy7)rC   )rD   rF   )r   createnotifyr
   r/   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   _call_reprcompare)rA   r   err   r4   r5   r6   r7   @py_assert4@py_format6@py_format8r   r   r   test_return_valueH   s(    			    u  	    |   rP   )builtinsr'   _pytest.assertion.rewrite	assertionrewriter%   pytestr   r   r   circuitsr   r   Zcircuits.net.eventsr   Zcircuits.noder	   r
   circuits.net.socketsr   r   r8   rA   rP   r   r   r   r   <module>   s     