
]c           @  s   d  Z  d d l m Z d d l m Z m Z d d l Z d d l Z d d l m	 Z	 d d l
 m Z d d l m Z d e f d	     YZ d
 e f d     YZ e d k r e j d  e j   n  d S(   s'   Test kernel for signalling subprocessesi(   t   print_function(   t   Popent   PIPEN(   t   ZMQDisplayHook(   t   Kernel(   t   IPKernelAppt   SignalTestKernelc           B  sD   e  Z d  Z d Z d Z d Z d   Z e d e	 d  Z
 d   Z RS(   s'   Kernel for testing subprocess signalingt
   signaltests   0.0t    c         K  s3   | j  d d   t t |   j |   g  |  _ d  S(   Nt   user_ns(   t   popt   Nonet   superR   t   __init__t   children(   t   selft   kwargs(    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyR      s    c         C  s1  | j    } i d d 6i  d 6} | d k ru t d d d d g d	 t } |  j j |  |  j d
 j | d d <n | d k r g  |  j D] } | j   ^ q | d d <n | d k r y t j d  Wn t	 k
 r t
 | d d <q-Xt | d d <n/ d | d <d | d <| | d <d | g | d <| S(   Nt   okt   statust   user_expressionst   startt   bashs   -is   -cs   sleep 30t   stderrit   pidt   checkt   pollt   sleepi
   t   interruptedt   errort   Errort   enamet   evalues   no such command: %st	   traceback(   t   stripR   R   R   t   appendR   R   t   timeR   t   KeyboardInterruptt   Truet   False(   R   t   codet   silentt   store_historyR   t   allow_stdint   replyt   child(    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyt
   do_execute   s*    
-


c         O  s   t  t |   j | |   S(   su   Add delay to kernel_info_request
        
        triggers slow-response code in KernelClient.wait_for_ready
        (   R   R   t   kernel_info_request(   R   t   argsR   (    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyR.   7   s    N(   t   __name__t
   __module__t   __doc__t   implementationt   implementation_versiont   bannerR   R%   R   R&   R-   R.   (    (    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyR      s   	t   SignalTestAppc           B  s   e  Z e Z d    Z RS(   c         C  s   t  |  j |  j  |  _ d  S(   N(   R   t   sessiont   iopub_sockett   displayhook(   R   (    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyt   init_io@   s    (   R0   R1   R   t   kernel_classR:   (    (    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyR6   >   s   t   __main__i   (   R2   t
   __future__R    t
   subprocessR   R   t   sysR#   t   ipykernel.displayhookR   t   ipykernel.kernelbaseR   t   ipykernel.kernelappR   R   R6   R0   R   t   launch_instance(    (    (    s@   lib/python2.7/site-packages/jupyter_client/tests/signalkernel.pyt   <module>   s   -