ó
P'—^c           @@  sá   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z e j	 j
 d ƒ rr d „  Z n$ e e d ƒ r d „  Z n	 d	 „  Z d
 „  Z d e f d „  ƒ  YZ e d d g ƒ Z d e f d „  ƒ  YZ d S(   i    (   t   absolute_importN(   t   Signal(   t   Caset   javac           C@  s   t  j ƒ  t j d ƒ d  S(   Ngš™™™™™¹?(   t   gct   collectt   timet   sleep(    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   garbage_collect   s    
t   pypy_version_infoc           C@  s   t  j ƒ  t  j ƒ  d  S(   N(   R   R   (    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyR      s    
c           C@  s   t  j ƒ  d  S(   N(   R   R   (    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyR      s    c         K@  s   |  S(   N(    (   t   valt   kwargs(    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   receiver_1_arg!   s    t   Callablec           B@  s   e  Z d  „  Z d „  Z RS(   c         K@  s   | S(   N(    (   t   selfR
   R   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   __call__'   s    c         K@  s   | S(   N(    (   R   R
   R   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   a*   s    (   t   __name__t
   __module__R   R   (    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyR   %   s   	t   providing_argsR
   t   DispatcherTestsc           B@  sV   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   s*   Test suite for dispatcher (barely started)c         C@  s    |  j  | j g  ƒ g  | _ d S(   s8   Assert that everything has been cleaned up automaticallyN(   t   assertEqualt	   receivers(   R   t   signal(    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   _testIsClean3   s    c         C@  sn   t  j t d |  ƒt d f g } t  j d |  d d ƒ } |  j | | ƒ t  j t d |  ƒ|  j t  ƒ d  S(   Nt   sendert   testR
   (   t   a_signalt   connectR   t   sendR   t
   disconnectR   (   R   t   expectedt   result(    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt
   test_exact:   s    c         C@  sb   t  j t ƒ t d f g } t  j d |  d d ƒ } |  j | | ƒ t  j t ƒ |  j t  ƒ d  S(   NR   R   R
   (   R   R   R   R   R   R   R   (   R   R   R    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_ignored_senderB   s    c         C@  sh   t  ƒ  } t j | j d |  ƒg  } ~ t ƒ  t j d |  d d ƒ } |  j | | ƒ |  j t ƒ d  S(   NR   R
   R   (   R   R   R   R   R   R   R   R   (   R   R   R   R    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_garbage_collectedJ   s    	c         C@  s¼   t  ƒ  } t j | ƒ t j | ƒ t j | ƒ t j | ƒ t j | ƒ t j | ƒ t j d |  d d ƒ } |  j t | ƒ d ƒ |  j t t j ƒ d ƒ ~ ~ t ƒ  |  j t ƒ d  S(   NR   R
   R   i   (	   R   R   R   R   R   t   lenR   R   R   (   R   R   R    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_multiple_registrationT   s    	c         C@  sr   d „  } d „  } t  j | d d ƒt  j | d d ƒ|  j t t  j ƒ d ƒ t  j d d ƒ |  j t  ƒ d  S(   Nc          [@  s   d  S(   N(    (   R   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   uid_based_receiver_1f   s    c          [@  s   d  S(   N(    (   R   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   uid_based_receiver_2i   s    t   dispatch_uidt   uidi   (   R   R   R   R$   R   R   R   (   R   R&   R'   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_uid_registrationd   s    		c         C@  sƒ   d „  } t  j | ƒ t  j d |  d d ƒ } | d d } |  j t | t ƒ ƒ |  j | j d ƒ t  j | ƒ |  j	 t  ƒ d  S(	   Nc         [@  s   t  d ƒ ‚ d  S(   Nt   this(   t
   ValueError(   R
   R   (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   failst   s    R   R
   R   i    i   R+   (   R+   (
   R   R   t   send_robustt
   assertTruet
   isinstanceR,   R   t   argsR   R   (   R   R-   R    t   err(    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_robustr   s    	c         C@  sw   t  ƒ  } t  ƒ  } t  ƒ  } t j | ƒ t j | ƒ t j | ƒ t j | ƒ ~ t ƒ  t j | ƒ |  j t ƒ d  S(   N(   R   R   R   R   R   R   (   R   t
   receiver_1t
   receiver_2t
   receiver_3(    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   test_disconnection   s    			(   R   R   t   __doc__R   R!   R"   R#   R%   R*   R3   R7   (    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyR   0   s   				
			(   t
   __future__R    R   t   sysR   t   celery.utils.dispatchR   t   celery.tests.caseR   t   platformt
   startswithR   t   hasattrR   t   objectR   R   R   (    (    (    sD   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/utils/test_dispatcher.pyt   <module>   s   		