ó
úR‹_c           @` sE  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l m Z m Z d  d l	 j
 Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z e e Z d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d e j f d  „  ƒ  YZ! d! e! f d" „  ƒ  YZ" d# e! f d$ „  ƒ  YZ# d% e! f d& „  ƒ  YZ$ d' e j f d( „  ƒ  YZ% [ [ e& d) k rAe j' ƒ  n  d S(*   i    (   t   absolute_importt   print_functiont   divisionN(   t   Eventt   AsyncResult(   t   xrange(   t   AbstractGenericGetTestCase(   t   AbstractGenericWaitTestCase(   t
   SMALL_TICK(   t   SMALL_TICK_MAX_ADJt   TestEventWaitc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  ƒ  j d | ƒ d  S(   Nt   timeout(   R   t   wait(   t   selfR   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR      s    c         C` s   t  t ƒ  ƒ d  S(   N(   t   strR   (   R   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt
   test_cover   s    (   t   __name__t
   __module__R   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR
      s   	t   TestWaitEventc           B` s   e  Z d  „  Z d „  Z RS(   c         C` s   t  j t ƒ  g d | ƒd  S(   NR   (   t   geventR   R   (   R   R   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR      s    c         ` sD   t  ƒ  ‰  ‡  f d †  ‰ ‡  ‡ ‡ f d †  } t j | ƒ j ƒ  d  S(   Nc           ` s   ˆ  j  ƒ  d  S(   N(   t   set(    (   t   event(    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   setter(   s    c          ` s¡   t  j ˆ ƒ }  ˆ  j ƒ  } ˆ j | ƒ ˆ j ˆ  j ƒ  ƒ |  j ƒ  ˆ  j ƒ  ˆ j ˆ  j ƒ  ƒ t  j ˆ  f d d ƒ} ˆ j ˆ  j ƒ  ƒ ˆ j ˆ  | ƒ d  S(   NR   g{®Gáz„?(	   R   t   spawnR   t
   assertTruet   readyt   joint   cleart   assertFalset   assertNotIn(   t   st   rest   o(   R   R   R   (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   waiter+   s    

(   R   R   R   R   (   R   R!   (    (   R   R   R   sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_set_during_wait!   s    	(   R   R   R   R"   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR      s   	t   TestAsyncResultWaitc           B` s   e  Z d  „  Z RS(   c         C` s   t  ƒ  j d | ƒ d  S(   NR   (   R   R   (   R   R   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR   E   s    (   R   R   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR#   C   s   t   TestWaitAsyncResultc           B` s   e  Z d  „  Z RS(   c         C` s   t  j t ƒ  g d | ƒd  S(   NR   (   R   R   R   (   R   R   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR   K   s    (   R   R   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR$   I   s   t   TestAsyncResultGetc           B` s   e  Z d  „  Z RS(   c         C` s   t  ƒ  j d | ƒ d  S(   NR   (   R   t   get(   R   R   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR   Q   s    (   R   R   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR%   O   s   t   MyExceptionc           B` s   e  Z RS(    (   R   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR'   T   s   t   TestAsyncResultc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sG   t  ƒ  } |  j t | j d  ƒ | j d  ƒ | j d  ƒ t | ƒ d  S(   N(   R   t   assertRaisest	   TypeErrort   rawlinkt   Nonet   unlinkR   (   R   t   ar(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt	   test_linkY   s
    	c         ` s—   g  ‰ t  ƒ  ‰  ˆ j ˆ  j d ƒ ˆ j ˆ  j d  ƒ ‡  ‡ ‡ f d †  } t j | ƒ t ƒ  } ˆ  j | ƒ t j	 d ƒ ˆ j ˆ d | f g ƒ d  S(   Nc          ` s<   ˆ j  t ƒ  }  ˆ  j ƒ  Wd  QXˆ j d |  j f ƒ d  S(   Nt   caught(   R)   R'   R&   t   appendt	   exception(   t   exc(   t   et   logR   (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR!   f   s    i    R0   (    (
   R   t   assertEqualt   exc_infoR2   R,   R   R   R'   t   set_exceptiont   sleep(   R   R!   t   obj(    (   R4   R5   R   sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_set_exc`   s    		c      	   C` s’   t  ƒ  } t d ƒ } t j t | j d ƒ } |  j | j ƒ t j j	 d | ƒ : |  j
 t ƒ  } | j ƒ  Wd  QX|  j | | j ƒ Wd  QXd  S(   Nt   interrupteds   hello event1i    (   R   R'   R   t   spawn_latert   DELAYR   t   _close_on_teardownt   killt   Timeoutt	   start_newR)   R&   t   assertIsR2   (   R   t   event1t	   timer_exct   gR3   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_setp   s    	c         C` sK   t  ƒ  } t ƒ  } t j t | j d | ƒ} |  j | | d | f ƒ d  S(   Nt   timeout_values1   Nobody sent anything to event2 yet it received %r(   R   t   objectR   t   with_timeoutR>   R&   RC   (   R   t   event2t   Xt   result(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_set_with_timeout   s    		c         C` s?   t  ƒ  } |  j t j | j d t ƒ|  j t j | j ƒ d  S(   Nt   block(   R   R)   R   RA   R&   t   Falset
   get_nowait(   R   R.   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_nonblocking_getˆ   s    	(   R   R   R/   R;   RG   RN   RR   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR(   W   s
   					t   TestAsyncResultAsLinkTargetc           B` s    e  Z e Z d  „  Z d „  Z RS(   c         C` sº   t  j d „  ƒ } t ƒ  t ƒ  t ƒ  } } } | j | ƒ | j | ƒ | j | ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ t ƒ  } t  j	 t
 | j d | ƒ} |  j | | ƒ d  S(   Nc           S` s   d S(   Ni   (    (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   <lambda>’   t    i   RH   (   R   R   R   t   linkt
   link_valuet   link_exceptionR6   R&   RI   RJ   R>   RC   (   R   RF   t   s1t   s2t   s3RL   RM   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRG   ‘   s    	c         C` sÀ   d „  } t  j | ƒ } t ƒ  t ƒ  t ƒ  } } } | j | ƒ | j | ƒ | j | ƒ |  j t j | j	 ƒ t
 ƒ  } t  j t | j	 d | ƒ} |  j | | ƒ |  j t j | j	 ƒ d  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ns.   TestAsyncResultAsLinkTarget.test_set_exception(   t	   greentestt   ExpectedException(    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   funcž   s    RH   (   R   R   R   RV   RW   RX   R)   R\   R]   R&   RI   RJ   R>   RC   (   R   R^   RF   RY   RZ   R[   RL   RM   (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_set_exception   s    		(   R   R   RP   t   error_fatalRG   R_   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRS   Ž   s   	t   TestEvent_SetThenClearc           B` s   e  Z d  Z d „  Z RS(   i   c         C` sw   t  ƒ  } g  t |  j ƒ D] } t j | j ƒ ^ q } t j d ƒ | j ƒ  | j ƒ  x | D] } | j	 ƒ  q_ Wd  S(   Ngü©ñÒMbP?(
   R   t   ranget   NR   R   R   R9   R   R   R   (   R   R4   t   it   waiterst   greenlet(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test¯   s    	.

(   R   R   Rc   Rg   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRa   ¬   s   t   TestEvent_SetThenClear100c           B` s   e  Z d  Z RS(   id   (   R   R   Rc   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRh   ¹   s   t   TestEvent_SetThenClear1000c           B` s   e  Z d  Z RS(   iè  (   R   R   Rc   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRi   ½   s   t   TestWaitc           B` sE   e  Z d  Z d Z d Z e d Z d „  Z e j	 d ƒ d „  ƒ Z
 RS(   i   i   g      Y@c         C` si   xb | s | rd t  j |  j ƒ | r8 | j ƒ  j ƒ  n  t  j |  j ƒ | r | j ƒ  j ƒ  q q Wd  S(   N(   R   R9   t   periodt   popR   (   R   t   eventst   asyncs(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   _senderÇ   s    s:   Not all results have arrived sometimes due to timer issuesc         C` sT  g  t  |  j ƒ D] } t ƒ  ^ q } g  t  |  j ƒ D] } t ƒ  ^ q5 } t | ƒ t | ƒ } t j |  j | | ƒ } t j | | d |  j	 d |  j
 ƒ} |  j
 d  k rµ | } n t | |  j
 |  j ƒ } |  j	 d  k rö |  j | j ƒ  | ƒ n2 t |  j	 | ƒ } |  j | j ƒ  | ƒ | j ƒ  |  j | t | ƒ | t | ƒ | f ƒ d  S(   Nt   countR   (   R   Rc   R   R   t   lenR   R   Ro   R   Rp   R   R,   t   minRk   R   R   R   R@   R6   (   R   t   _Rm   Rn   t   max_lent   sendert   resultst   expected_len(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRg   Ð   s    %%%	
N(   R   R   Rc   R,   Rp   R   Rk   Ro   R\   t   skipOnAppVeyorRg   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRj   Á   s   
		t   TestWait_notimeoutc           B` s   e  Z d  Z RS(   N(   R   R   R,   R   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRy   ä   s   t   TestWait_count1c           B` s   e  Z d  Z RS(   i   (   R   R   Rp   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyRz   è   s   t   TestWait_count2c           B` s   e  Z d  Z RS(   i   (   R   R   Rp   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR{   ì   s   t   TestEventBasicsc           B` s   e  Z d  „  Z RS(   c         C` s5   t  ƒ  } t j | ƒ } |  j | | ƒ  ƒ ~ ~ d  S(   N(   R   t   weakreft   refRC   (   R   R4   t   r(    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   test_weakrefñ   s
    	(   R   R   R€   (    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyR|   ï   s   t   __main__((   t
   __future__R    R   R   R}   R   t   gevent.eventR   R   t   gevent.testingt   testingR\   t   gevent.testing.sixR   t   gevent.testing.timingR   R   R   R	   R>   R
   R   R#   R$   R%   t	   ExceptionR'   t   TestCaseR(   RS   Ra   Rh   Ri   Rj   Ry   Rz   R{   R|   R   t   main(    (    (    sQ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__event.pyt   <module>   s<   
	'7#