ó
ÐH/\c           @   sQ  d  d l  Z  d  d l j Z d  d l m Z m Z d  d l Z d  d l m Z m	 Z	 d  d l m
 Z
 d  d l m Z d  d l m Z m Z d  d l m Z d  d l m 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 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 f d" „  ƒ  YZ  d# e f d$ „  ƒ  YZ! d% e f d& „  ƒ  YZ" d' e f d( „  ƒ  YZ# e$ e d) ƒ r4d* e f d+ „  ƒ  YZ% n  [ e& d, k rMe ƒ  n  d S(-   iÿÿÿÿN(   t   TestCaset   main(   t   get_hubt   LoopExit(   t   util(   t   queue(   t   Emptyt   Full(   t   AsyncResult(   t   AbstractGenericGetTestCaset	   TestQueuec           B   sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c         C   sR   t  |  _ t j ƒ  } | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ d  S(   Nt   hi(   t   Falset   switch_expectedR   t   Queuet   putt   assertEqualt   peekt   get(   t   selft   q(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_send_first   s
    	c            s[   t  j ƒ  } ˆ  j t | j ƒ ‡  f d †  } t j | | ƒ } t j d ƒ | j ƒ  d  S(   Nc            s   ˆ  j  t |  j d d ƒd  S(   Nt   timeoutg{®Gáz„?(   t   assertRaisesR   R   (   R   (   R   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   waiter   s    gš™™™™™¹?(	   R   R   R   R   R   t   geventt   spawnt   sleept   join(   R   R   R   t   g(    (   R   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_peek_empty   s    c         C   s|   t  j ƒ  } t j | j ƒ } | j ƒ  t j d ƒ | j d ƒ | j ƒ  |  j	 | j
 d  k ƒ |  j | j ƒ  d ƒ d  S(   Ni    i   (   R   R   R   R   R   t   startR   R   R   t
   assertTruet	   exceptiont   NoneR   (   R   R   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_peek_multi_greenlet#   s    

c            sv   t  j ƒ  } ‡  f d †  } t j | | ƒ } t j d ƒ | j d ƒ t j d ƒ | j d d ƒ d k sr t ‚ d  S(   Nc            s?   t  j t j s d n d ƒ  ˆ  j |  j ƒ  d ƒ Wd  QXd S(   Ngš™™™™™¹?g      à?t   hi2t   OK(   R   t   Timeoutt	   greentestt   RUNNING_ON_APPVEYORR   R   (   R   (   R   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR   0   s    g{®Gáz„?R$   R   i    R%   (   R   R   R   R   R   R   R   t   AssertionError(   R   R   R   t   p(    (   R   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_send_last-   s    c            sã   t  j d ƒ } g  ‰  ‡  f d †  } t j | | ƒ } t j d ƒ |  j ˆ  d d g ƒ |  j | j ƒ  d ƒ t j d ƒ |  j ˆ  d d d g ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ | j d d ƒ d k sß t ‚ d  S(	   Ni   c            sR   |  j  d ƒ ˆ  j d ƒ |  j  d ƒ ˆ  j d ƒ |  j  d ƒ ˆ  j d ƒ d S(   Nt   at   bt   cR%   (   R   t   append(   R   (   t   results(    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   putter?   s    i    R,   R-   R.   R   R%   (   R   R   R   R   R   R   R   R)   (   R   R   R1   R*   (    (   R0   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_max_size;   s    	c         C   sÔ   t  j ƒ  } d „  } d „  } t ƒ  } t ƒ  } t j | | | ƒ } t j d ƒ |  j | j ƒ  ƒ t j | | | ƒ } |  j | j	 ƒ  d ƒ |  j | j	 ƒ  d ƒ t j
 d ƒ  t j | | g ƒ Wd  QXd  S(   Nc         S   s   | j  d ƒ |  j d ƒ d  S(   NR   t   done(   R   t   set(   t   evtR   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   senderU   s    c         S   s   | j  ƒ  } |  j | ƒ d  S(   N(   R   R4   (   R5   R   t   x(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   receiverY   s    gü©ñÒMbP?R   R3   i    (   R   t   ChannelR   R   R   R   R    t   readyR   R   R&   t   joinall(   R   R   R6   R8   t   e1t   e2t   p1t   p2(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_zero_max_sizeR   s    				c            s   t  j ƒ  } d „  } d d d d g } g  | D] } t ƒ  ^ q. ‰  x1 t | ƒ D]# \ } } t j | | ˆ  | ƒ qP Wt j d ƒ t ƒ  ‰ ‡  ‡ f d †  } | j | d ƒ |  j	 | ƒ  d	 ƒ | j | d	 ƒ |  j	 | ƒ  d
 ƒ | j | d
 ƒ | j | d ƒ |  j	 | ƒ  d ƒ d  S(   Nc         S   s   | j  |  j ƒ  ƒ d  S(   N(   R4   R   (   R   R5   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR   m   s    t   1t   2t   3t   4g{®Gáz„?c             sM   x@ ˆ  D]8 }  t  j d t ƒ  |  j ƒ  } ˆ j | ƒ Wd  QXq Wt ˆ ƒ S(   Ngü©ñÒMbP?(   R   R&   R   R   t   addt   len(   t   eR7   (   t   evtsR0   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   collect_pending_resultsy   s
    i    i   i   i   i   (
   R   R   R   t	   enumerateR   R   R   R4   R   R   (   R   R   R   t   sendingsR7   t   it   _RI   (    (   RH   R0   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_multiple_waitersi   s     		c         C   sn   t  j ƒ  } d „  } t ƒ  } t j | | | ƒ |  j | j ƒ  d ƒ | j d ƒ |  j | j ƒ  d ƒ d  S(   Nc      	   S   s^   t  j d t ƒ  ƒ C y |  j ƒ  } | j | ƒ Wn t k
 rS | j d ƒ n XWd  QXd  S(   Ni    s	   timed out(   R   R&   t   RuntimeErrorR   R4   (   R   R5   t   result(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt
   do_receive‹   s    s	   timed outR   (   R   R   R   R   R   R   R   R   (   R   R   RQ   R5   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_waiters_that_cancelˆ   s    		c         C   s?   t  j ƒ  } d „  } t j | | ƒ |  j | j ƒ  d ƒ d  S(   Nc         S   s   |  j  d ƒ d  S(   Nt   sent(   R   (   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   do_send   s    RS   (   R   R   R   R   R   R   (   R   R   RT   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_senders_that_dieš   s    	c         C   s    d „  } d „  } t  j ƒ  } t ƒ  } t ƒ  } t j | | | ƒ t j | | | ƒ t j d ƒ | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ d  S(   Nc         S   s   | j  |  j ƒ  ƒ d  S(   N(   R4   R   (   R   R5   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR   ¥   s    c      	   S   s^   t  j d t ƒ  ƒ C y |  j ƒ  } | j | ƒ Wn t k
 rS | j d ƒ n XWd  QXd  S(   Ni    s	   timed out(   R   R&   RO   R   R4   (   R   R5   RP   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRQ   ¨   s    gš™™™™™¹?R   s	   timed out(	   R   R   R   R   R   R   R   R   R   (   R   R   RQ   R   t	   dying_evtt   waiting_evt(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_two_waiters_one_dies£   s    				c         C   s­   d „  } t  j ƒ  } t ƒ  } t ƒ  } t j | | | ƒ t j | | | ƒ t j d ƒ | j d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ d  S(   Nc      	   S   s^   t  j d t ƒ  ƒ C y |  j ƒ  } | j | ƒ Wn t k
 rS | j d ƒ n XWd  QXd  S(   Ni    s	   timed out(   R   R&   RO   R   R4   (   R   R5   RP   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRQ   »   s    gš™™™™™¹?RS   s	   timed out(	   R   R   R   R   R   R   R   R   R   (   R   RQ   R   R<   R=   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_two_bogus_waitersº   s    			(   t   __name__t
   __module__R   R   R#   R+   R2   R@   RN   RR   RU   RX   RY   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR
      s   			
								t   TestChannelc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c            s¡   t  j ƒ  ‰  g  ‰ ‡  ‡ f d †  } t j | ƒ } ˆ j d ƒ ˆ  j d ƒ ˆ j d ƒ ˆ  j d ƒ ˆ j d ƒ |  j d d d d d g ˆ ƒ | j ƒ  d  S(   Nc              s*   ˆ j  ˆ  j ƒ  ƒ ˆ j  ˆ  j ƒ  ƒ d  S(   N(   R/   R   (    (   t   channelt   events(    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   another_greenletÖ   s    t   sendingt   hellos
   sent hellot   worlds
   sent world(   R   R9   R   R   R/   R   R   R   (   R   R_   R   (    (   R]   R^   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt	   test_sendÑ   s    c            sÂ   t  j ƒ  ‰  g  ‰ ‡  ‡ f d †  } t j | ƒ } ˆ j d ƒ ˆ j ˆ  j ƒ  ƒ ˆ j ˆ  j ƒ  ƒ |  j d d d d d g ˆ ƒ t j d ƒ |  j d d d d d d g ˆ ƒ | j ƒ  d  S(	   Nc              sE   ˆ j  d ƒ ˆ  j d ƒ ˆ j  d ƒ ˆ  j d ƒ ˆ j  d ƒ d  S(   Ns   sending helloRa   s   sending worldRb   s
   sent world(   R/   R   (    (   R]   R^   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR_   é   s
    t   waitings   sending helloRa   s   sending worldRb   i    s
   sent world(   R   R9   R   R   R/   R   R   R   (   R   R_   R   (    (   R]   R^   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt	   test_waitå   s    "c         C   s?   t  j ƒ  } t j | j t ƒ t | ƒ } |  j | g  ƒ d  S(   N(   R   R9   R   R   R   t   StopIterationt   listR   (   R   R]   t   r(    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_iterableû   s    (   RZ   R[   Rc   Re   Ri   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR\   Ï   s   		t   TestJoinableQueuec           B   s   e  Z d  „  Z RS(   c         C   sx   t  j ƒ  } t ƒ  } t j | j | ƒ | j ƒ  } |  j | | ƒ |  j d | j	 ƒ | j
 ƒ  |  j d | j	 ƒ d  S(   Ni   i    (   R   t   JoinableQueuet   objectR   R   R   R   t   assertIsR   t   unfinished_taskst	   task_done(   R   R]   t   XRP   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_task_done  s    	
(   RZ   R[   Rq   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRj     s   t
   TestNoWaitc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c            sÞ   g  ‰  t  j d ƒ } ‡  f d †  } t ƒ  j j } | | t j t | j ƒ d ƒ | | t j t | j ƒ d ƒ t	 j
 d ƒ t ˆ  ƒ d k sœ t ˆ  ƒ ‚ ˆ  d d  k s¸ t ˆ  ƒ ‚ t ˆ  d t  j ƒ sÚ t ˆ  ƒ ‚ d  S(   Ni   c            s   ˆ  j  |  | Œ  ƒ d  S(   N(   R/   (   t   funct   args(   RP   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   store_result  s    i   i   i    (   R   R   R   t   loopt   run_callbackR   t   wrap_errorsR   t
   put_nowaitR   R   RF   R)   R"   t
   isinstance(   R   R   Ru   Rw   (    (   RP   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_put_nowait_simple  s    c            så   g  ‰  t  j d ƒ } | j d ƒ ‡  f d †  } t ƒ  j j } | | t j t | j	 ƒ ƒ | | t j t | j	 ƒ ƒ t
 j d ƒ t ˆ  ƒ d k s£ t ˆ  ƒ ‚ ˆ  d d k s¿ t ˆ  ƒ ‚ t ˆ  d t  j ƒ sá t ˆ  ƒ ‚ d  S(   Ni   i   c            s   ˆ  j  |  | Œ  ƒ d  S(   N(   R/   (   Rs   Rt   (   RP   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRu   %  s    i    i   (   R   R   R   R   Rv   Rw   R   Rx   R   t
   get_nowaitR   R   RF   R)   Rz   (   R   R   Ru   Rw   (    (   RP   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_get_nowait_simple   s    c            s  g  ‰  t  j d ƒ } t j | j d ƒ } ‡  f d †  } | j ƒ  sQ t | ƒ ‚ t j d ƒ | j ƒ  sv t | ƒ ‚ t	 ƒ  j
 j | | j ƒ t j d ƒ | j ƒ  s´ t | ƒ ‚ ˆ  d g k sÏ t ˆ  ƒ ‚ | j ƒ  sç t | ƒ ‚ | j sü t | ƒ ‚ | j ƒ  st | ƒ ‚ d  S(   Ni   i   c            s   ˆ  j  |  | Œ  ƒ d  S(   N(   R/   (   Rs   Rt   (   RP   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRu   7  s    i    (   R   R   R   R   R   t   emptyR)   R   t   fullR   Rv   Rw   R|   R:   t   dead(   R   R   R*   Ru   (    (   RP   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_get_nowait_unlock2  s    c            s]  g  ‰  t  j ƒ  } t j | j d ƒ } ‡  f d †  } | j ƒ  sN t | ƒ ‚ | j ƒ  sf t | ƒ ‚ t j d ƒ | j ƒ  s‹ t | ƒ ‚ | j ƒ  s£ t | ƒ ‚ t	 ƒ  j
 j | | j ƒ t j d ƒ | j ƒ  sá t | ƒ ‚ | j ƒ  sù t | ƒ ‚ ˆ  d g k st ˆ  ƒ ‚ | j ƒ  s,t | ƒ ‚ | j sAt | ƒ ‚ | j ƒ  sYt | ƒ ‚ d  S(   Ni   c            s   ˆ  j  |  | Œ  ƒ d  S(   N(   R/   (   Rs   Rt   (   RP   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRu   J  s    gü©ñÒMbP?(   R   R9   R   R   R   R~   R)   R   R   R   Rv   Rw   R|   R:   R€   (   R   R   R*   Ru   (    (   RP   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_get_nowait_unlock_channelE  s"    c            s0  g  ‰  t  j ƒ  } t j | j ƒ } ‡  f d †  } |  j | j ƒ  | ƒ |  j | j ƒ  | ƒ t j	 d ƒ |  j | j ƒ  | ƒ |  j | j ƒ  | ƒ t
 ƒ  j j | | j d ƒ |  j | j ƒ  | ƒ t j	 d ƒ |  j ˆ  d  g ƒ |  j | j ƒ  | ƒ |  j | j ƒ  | ƒ |  j | j ƒ  | ƒ d  S(   Nc            s   ˆ  j  |  | Œ  ƒ d  S(   N(   R/   (   Rs   Rt   (   RP   (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRu   a  s    gü©ñÒMbP?i
   (   R   R   R   R   R   R    R~   t   assertFalseR   R   R   Rv   Rw   Ry   R:   R   R"   (   R   R   R*   Ru   (    (   RP   s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_put_nowait_unlock\  s     (   RZ   R[   R{   R}   R   R‚   R„   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRr     s
   				t   TestJoinEmptyc           B   s   e  Z d  „  Z RS(   c         C   s#   t  |  _ t j ƒ  } | j ƒ  d S(   sF   Test that join() exits immediately if not jobs were put into the queueN(   R   R   R   Rk   R   (   R   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_issue_45x  s    	(   RZ   R[   R†   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR…   v  s   t   AbstractTestWeakRefMixinc           B   s   e  Z d  „  Z RS(   c         C   s>   d d  l  } |  j ƒ  } | j | ƒ } |  j | | ƒ  ƒ d  S(   Niÿÿÿÿ(   t   weakreft   _makeOnet   refRm   (   R   Rˆ   t   oneRŠ   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_weak_reference€  s    (   RZ   R[   RŒ   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR‡   ~  s   t   TestGetInterruptc           B   s)   e  Z e Z e j Z d  „  Z d „  Z RS(   c         C   s   |  j  ƒ  j d | ƒ S(   NR   (   R‰   R   (   R   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   wait  s    c         C   s
   |  j  ƒ  S(   N(   t   kind(   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR‰     s    (	   RZ   R[   R   R&   R   R   R   RŽ   R‰   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR   ‡  s   		t   TestGetInterruptJoinableQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   Rk   R   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR   “  s   t   TestGetInterruptLifoQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   t	   LifoQueueR   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR‘   –  s   t   TestGetInterruptPriorityQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   t   PriorityQueueR   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR“   ™  s   t   TestGetInterruptChannelc           B   s   e  Z e j Z RS(    (   RZ   R[   R   R9   R   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR•   œ  s   t   TestPutInterruptc           B   s2   e  Z e j Z e Z d  „  Z d „  Z d „  Z	 RS(   c         C   s&   t  t |  ƒ j ƒ  |  j ƒ  |  _ d  S(   N(   t   superR–   t   setUpR‰   R   (   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR˜   ¤  s    c         C   s<   x# |  j  j ƒ  s% |  j  j d ƒ q W|  j  j d d | ƒS(   Ni   i   R   (   R   R   R   (   R   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRŽ   ¨  s    c         C   s   |  j  d ƒ S(   Ni   (   R   (   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR‰   ­  s    (
   RZ   R[   R   R   R   R   R&   R˜   RŽ   R‰   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR–      s
   			t   TestPutInterruptJoinableQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   Rk   R   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR™   ±  s   t   TestPutInterruptLifoQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   R’   R   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRš   ´  s   t   TestPutInterruptPriorityQueuec           B   s   e  Z e j Z RS(    (   RZ   R[   R   R”   R   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR›   ·  s   t   TestPutInterruptChannelc           B   s   e  Z e j Z d  „  Z RS(   c         C   s
   |  j  ƒ  S(   N(   R   (   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyR‰   ½  s    (   RZ   R[   R   R9   R   R‰   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRœ   º  s   	t   SimpleQueuet   TestGetInterruptSimpleQueuec           B   s&   e  Z e j Z d  „  Z e Z e Z RS(   c         C   s   t  j d ƒ ‚ d  S(   Ns   Not supported(   t   unittestt   SkipTest(   R   (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   test_raises_timeout_TimeoutÆ  s    (   RZ   R[   R   R   R   R¡   t*   test_raises_timeout_Timeout_exc_customizedt   test_outer_timeout_is_not_lost(    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyRž   Ã  s   		t   __main__('   RŸ   t   gevent.testingt   testingR'   R    R   R   t
   gevent.hubR   R   R   R   t   gevent.queueR   R   t   gevent.eventR   t   gevent.testing.timingR	   R
   R\   Rj   Rr   R…   Rl   R‡   R   R   R‘   R“   R•   R–   R™   Rš   R›   Rœ   t   hasattrRž   RZ   (    (    (    s7   lib/python2.7/site-packages/gevent/tests/test__queue.pyt   <module>   s<   À2h	
