
    ha                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dZ ej                  dd        ddZ
 G d d	eej                        Z G d
 de      Zedk(  r ej                          yy)    N)Event)TimeAssertMixing?   c                       y N r       ]/var/www/html/engine/venv/lib/python3.12/site-packages/gevent/tests/test__hub_join_timeout.py<lambda>r          r	   c                 F     t        j                          fd       }|S )Nc                 6    t              D ]
  } |         y r   )range)self_funcrepetitionss     r
   fzrepeated.<locals>.f   s    {# 	AJ	r	   )	functoolswraps)r   r   r   s   `` r
   repeatedr      s%    __T  Hr	   c                   l    e Zd Zed        Zed        Zed        Zed        Zed        Zed        Z	y)Testc                 8   t        j                  d       }| j                         5  t        j                  d      }d d d        | j	                         | j	                  |j
                  |       | j                  |j                  d       y # 1 sw Y   SxY w)Nc                       yN   r   r   r	   r
   r   z$Test.test_callback.<locals>.<lambda>   r   r	   
   timeoutr   )geventspawnruns_in_no_timewait
assertTruedeadassertEqualvaluer   xresults      r
   test_callbackzTest.test_callback   ss     LL#!!# 	-[[,F	-"!$		- 	-s   BBc                    t        j                  t        d       }| j                  t              5  t        j                  d      }d d d        | j                         | j                  |j                  |       y # 1 sw Y   7xY w)Nc                       yr   r   r   r	   r
   r   z!Test.test_later.<locals>.<lambda>&   r   r	   r   r   )r!   spawn_later
SMALL_TICKruns_in_given_timer$   r%   r&   r)   s      r
   
test_laterzTest.test_later#   se     z95$$Z0 	-[[,F	-"	- 	-s   A>>Bc                    t        j                  dd       }| j                  t              5  t        j                  t              }d d d        | j                         | j                  |j                  |       |j                          | j                         5  t        j                         }d d d        | j                  |       y # 1 sw Y   xY w# 1 sw Y   'xY w)Nr   c                       yr   r   r   r	   r
   r   z#Test.test_timeout.<locals>.<lambda>/   r   r	   r   )
r!   r/   r1   r0   r$   assertFalser&   killr#   r%   r)   s      r
   test_timeoutzTest.test_timeout,   s     r9-$$Z0 	5[[4F	5 #	!!# 	#[[]F	# 		5 	5
	# 	#s   CCCC!c                    t        j                  dd       }t               }t        j                  t        |j                        }| j                  t              5  t        j                  |g      }d d d        | j                  |g       | j                  |j                  |       | j                  |j                         | j                  |j                         |j                          | j                         5  t        j                         }d d d        | j                  |       y # 1 sw Y   xY w# 1 sw Y   'xY w)Nr   c                       yr   r   r   r	   r
   r   z!Test.test_event.<locals>.<lambda>=   r   r	   )r!   r/   r   r0   setr1   r$   r'   r5   r&   r%   is_setr6   r#   )r   r*   event	event_setr+   s        r
   
test_eventzTest.test_event:   s     r9-&&z599=	$$Z0 	*[[%)F	*%)#	'%	!!# 	#[[]F	# 		* 	*	# 	#s   D.?D:.D7:Ec                    t        j                         j                  j                  dd      j	                  d        | j                         5  t        j                         }d d d        | j                         y # 1 sw Y   xY w)Nr   F)refc                       y r   r   r   r	   r
   r   z#Test.test_ref_arg.<locals>.<lambda>O   r   r	   )r!   get_hublooptimerstartr#   r$   r%   )r   r+   s     r
   test_ref_argzTest.test_ref_argL   sg     	##BE#288F!!# 	#[[]F	#	# 	#s   A??Bc                 $   t        j                         j                  j                  d      }|j	                  d        d|_        | j                         5  t        j                         }d d d        | j                         y # 1 sw Y   xY w)Nr   c                       y r   r   r   r	   r
   r   z)Test.test_ref_attribute.<locals>.<lambda>X   r   r	   F)	r!   rB   rC   rD   rE   r@   r#   r$   r%   )r   wr+   s      r
   test_ref_attributezTest.test_ref_attributeT   sl     NN!!''+	!!# 	#[[]F	#	# 	#s   BBN)
__name__
__module____qualname__r   r,   r2   r7   r>   rF   rJ   r   r	   r
   r   r      sx    % % # #        "        r	   r   c                       e Zd ZdZy)	TestAgainzRepeat the same testsN)rK   rL   rM   __doc__r   r	   r
   rO   rO   _   s    r	   rO   __main__)   )r   unittestr!   gevent.coregevent.eventr   gevent.testing.testcaser   r0   signal_handlerr   TestCaser   rO   rK   mainr   r	   r
   <module>rZ      sr         3
   a &E ?H-- E P  zHMMO r	   