ó
P'^c           @@  sú   d  d l  m Z d  d l Z d  d l m Z d  d l m Z m Z m Z m	 Z	 d  d l
 m Z m Z m Z m Z m Z m Z m Z d e f d     YZ d e f d	     YZ d Z d e f d     YZ d e f d     YZ d e f d     YZ d S(   i    (   t   absolute_importN(   t   is_pypy(   t   apply_targett   Schedulet   Timert   TaskPool(   t   AppCaset   Mockt   SkipTestt   mock_modulet   patcht
   patch_manyt   skip_if_pypyt   EventletCasec           B@  s&   e  Z e d     Z e d    Z RS(   c         C@  sL   t  r t d   n  y t d  |  _ Wn t k
 rG t d   n Xd  S(   Ns#   mock_modules not working on PyPy1.9t   eventlets/   eventlet not installed, skipping related tests.(   R   R   t
   __import__R   t   ImportError(   t   self(    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt   setup   s    c         C@  s\   xU g  t  j D] } | j d  r | ^ q D]( } y t  j | =Wq, t k
 rS q, Xq, Wd  S(   NR   (   t   syst   modulest
   startswitht   KeyError(   R   t   mod(    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt   teardown   s
    2(   t   __name__t
   __module__R   R   R   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyR      s   
t   test_aaa_eventlet_patchc           B@  s   e  Z d    Z RS(   c         C@  sL   t  d d t 4 } d d l m } | d d d g  | j   Wd  QXd  S(   Ns   eventlet.monkey_patcht   createi    (   t   maybe_patch_concurrencyt   xs   -PR   (   R
   t   Truet   celeryR   t   assert_called_with(   R   t   monkey_patchR   (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt   test_aaa_is_patched)   s    (   R   R   R#   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyR   '   s   R   s   eventlet.debugs   eventlet.greenthreads   eventlet.greenpoolt   greenlett   test_Schedulec           B@  s   e  Z d    Z RS(   c         C@  s  t  t   ň t d d  Ü \ } } t   } t | _ t   } | j d d |  } |  j | j	  | j
 | |  t   | j _ | j
 | |  | j j   |  j | j  | j j |  | j   | j j |  t   | j _ | j   Wd  QXWd  QXd  S(   Ns    eventlet.greenthread.spawn_afters   greenlet.GreenletExiti   i    (   R	   t   eventlet_modulesR   R   R   t   GreenletExitR   t   _entert
   assertTruet   queuet   _entry_exitt   waitt   side_effectt   cancelR!   t   assertFalset   _queuet   addt   clear(   R   t   spawn_afterR'   R   t   entryt   g(    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt
   test_sched;   s&    			
(   R   R   R6   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyR%   9   s   t   test_TaskPoolc           B@  s&   e  Z d    Z e d  d    Z RS(   c      
   C@  s   t  t   v t d d  ` \ } } t   } | j   | j   | j t    d  | _	 | j   |  j
 | j    Wd  QXWd  QXd  S(   Ns   eventlet.greenpool.GreenPools   eventlet.greenthread(   R	   R&   R   R   t   on_startt   on_stopt   on_applyR   t   Nonet   _poolR)   t   getpid(   R   t	   GreenPoolt   greenthreadR   (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt	   test_poolU   s    	

	
s    celery.concurrency.eventlet.basec         C@  s-   t  t   d t   |  j | j  j  d  S(   NR=   (   R   R   R)   t   called(   R   t   base(    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt   test_apply_targetb   s    (   R   R   R@   R
   RC   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyR7   S   s   	t
   test_Timerc           B@  s   e  Z d    Z RS(   c         C@  s   t    } | j   t   | _ | j   | j   | j j j   t   } | j |  t	 | j _
 t	   | j _ | j |  d  S(   N(   R   t   ensure_startedR   t   schedulet   startt   stopR2   R!   R.   R   R'   R-   (   R   R   t   tref(    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt
   test_timerj   s    	


	(   R   R   RJ   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyRD   h   s   (   R   s   eventlet.debugs   eventlet.greenthreads   eventlet.greenpoolR$   (   t
   __future__R    R   t   celery.app.defaultsR   t   celery.concurrency.eventletR   R   R   R   t   celery.tests.caseR   R   R   R	   R
   R   R   R   R   R&   R%   R7   RD   (    (    (    sH   /tmp/pip-unpacked-wheel-gV1wwp/celery/tests/concurrency/test_eventlet.pyt   <module>   s   "4
    