
P'^c           @@  s   d  d l  m Z d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m	 Z	 m
 Z
 m Z m Z m Z d e j f d     YZ d e	 f d     YZ d S(	   i    (   t   absolute_importN(   t   Rdbt   debuggert	   set_trace(   t   AppCaset   Mockt
   WhateverIOt   patcht   skip_if_pypyt   SockErrc           B@  s   e  Z d  Z RS(   N(   t   __name__t
   __module__t   Nonet   errno(    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyR	      s   t   test_Rdbc           B@  st   e  Z e d   d    Z e d  e d  d     Z e d  e d     Z e d  e d     Z RS(	   s   celery.contrib.rdb.Rdbc         C@  s-   t    } |  j |  |  j | t     d  S(   N(   R   t
   assertTruet   assertIs(   t   selfR   t   x(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   test_debugger   s    	s   celery.contrib.rdb.debuggers   celery.contrib.rdb._framec         C@  s@   |  j  t t     |  j  t    |  j  | j j j  d  S(   N(   R   R   R   t   return_valuet   called(   R   t   _frameR   (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   test_set_trace   s    s%   celery.contrib.rdb.Rdb.get_avail_portc         C@  s}  t    } | d f | _ t    d g f | j _ t   } t d |  /} |  j | j  |  j d | j    t	 d   } | j
   | j d   Wd  QXt	 d  l } t	 d  W | j   | j t     t | _ t j | j _ |  j t   | j   Wd  QXWd  QXWd  QX| j   t    | _ | j t     | j j   t    | _
 | j t     | j
 j   Wd  QXd  S(   Ni@  t   helut   outs   sys.settraces    celery.contrib.rdb.Pdb.set_traces   celery.contrib.rdb._frame(   R   R   t   acceptR   R   R   R   t   assertInt   getvalueR   t   set_quitt   assert_called_withR   R   R	   t   side_effectR   t   ENOENTt   assertRaisest   _close_sessiont   set_continuet   do_continuet   do_quit(   R   t   get_avail_portt   sockR   t   rdbt   settracet   pset(    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   test_rdb!   s2    		

	
s   socket.socketc         @  s;  t    } t   d g f | j j _ t d |   Wd  QXt d  ) } d | j _ t d |   Wd  QXWd  QXt    | j j _	 t
 j  _
 |  j t   t d |   Wd  QXWd  QXt
 j  _
 |  j t   t d |   Wd  QXWd  QXd g      f d   } | | j j _	 t d |   Wd  QXd  S(   NR   R   s"   celery.contrib.rdb.current_processs   PoolWorker-10i    c          @  s6   z   d d k r t  S  Wd    d c d 7<Xd  S(   Ni    i2   i   (   t   True(   t   at   kw(   R   t   err(    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   effect`   s
    
(   R   R   R   R   R   R   t   nameR	   t   bindR   R   R    R!   t
   EADDRINUSEt	   Exception(   R   R'   R   t   curprocR0   (    (   R   R/   s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   test_get_avail_portH   s,    		(   R
   R   R   R   R   R   R+   R6   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyR      s   		&	(   t
   __future__R    R   t   sockett   celery.contrib.rdbR   R   R   t   celery.tests.caseR   R   R   R   R   t   errorR	   R   (    (    (    s?   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/contrib/test_rdb.pyt   <module>   s   (