
    ia                         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                     dS dS )    N)Event)TimeAssertMixing?   c                      d S N r       N/usr/local/lib/python3.11/dist-packages/gevent/tests/test__hub_join_timeout.py<lambda>r      s     r	      c                 J     t          j                    fd            }|S )Nc                 B    t                    D ]} |            d S r   )range)self_funcrepetitionss     r
   fzrepeated.<locals>.f   s3    {## 	 	ADJJJJ	 	r	   )	functoolswraps)r   r   r   s   `` r
   repeatedr      s>    _T      Hr	   c                       e Zd Zed             Zed             Zed             Zed             Zed             Zed             Z	dS )Testc                 H   t          j        d           }|                                 5  t          j        d          }d d d            n# 1 swxY w Y   |                     |           |                     |j        |           |                     |j        d           d S )Nc                      dS N   r   r   r	   r
   r   z$Test.test_callback.<locals>.<lambda>   s     r	   
   timeoutr   )geventspawnruns_in_no_timewait
assertTruedeadassertEqualvaluer   xresults      r
   test_callbackzTest.test_callback   s     L##!!## 	- 	-[,,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-"""!$$$$$s   AAAc                 *   t          j        t          d           }|                     t                    5  t          j        d          }d d d            n# 1 swxY w Y   |                     |           |                     |j        |           d S )Nc                      dS r   r   r   r	   r
   r   z!Test.test_later.<locals>.<lambda>&   s    1 r	   r   r   )r!   spawn_later
SMALL_TICKruns_in_given_timer$   r%   r&   r)   s      r
   
test_laterzTest.test_later#   s     z9955$$Z00 	- 	-[,,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-"""""s   AAAc                    t          j        dd           }|                     t                    5  t          j        t                    }d d d            n# 1 swxY w Y   |                     |           |                     |j        |           |                                 |                                 5  t          j                    }d d d            n# 1 swxY w Y   | 	                    |           d S )Nr   c                      dS r   r   r   r	   r
   r   z#Test.test_timeout.<locals>.<lambda>/       1 r	   r   )
r!   r/   r1   r0   r$   assertFalser&   killr#   r%   r)   s      r
   test_timeoutzTest.test_timeout,   sX    r99--$$Z00 	5 	5[444F	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5   ###	!!## 	# 	#[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	s#   AAA;CC"Cc                    t          j        dd           }t                      }t          j        t          |j                  }|                     t                    5  t          j        |g          }d d d            n# 1 swxY w Y   |                     ||g           |                     |j	        |           | 
                    |j	                   | 
                    |j                   |                                 |                                 5  t          j                    }d d d            n# 1 swxY w Y   | 
                    |           d S )Nr   c                      dS r   r   r   r	   r
   r   z!Test.test_event.<locals>.<lambda>=   r5   r	   )r!   r/   r   r0   setr1   r$   r'   r6   r&   r%   is_setr7   r#   )r   r*   event	event_setr+   s        r
   
test_eventzTest.test_event:   s    r99--&z59==	$$Z00 	* 	*[%))F	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*%)))###	'''%%%	!!## 	# 	#[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	s$   B  BBD99D= D=c                 0   t          j                    j                            dd                              d            |                                 5  t          j                    }d d d            n# 1 swxY w Y   |                     |           d S )Nr   F)refc                      d S r   r   r   r	   r
   r   z#Test.test_ref_arg.<locals>.<lambda>O   s     r	   )r!   get_hublooptimerstartr#   r$   r%   )r   r+   s     r
   test_ref_argzTest.test_ref_argL   s     	##BE#2288FFF!!## 	# 	#[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   A66A:=A:c                 >   t          j                    j                            d          }|                    d            d|_        |                                 5  t          j                    }d d d            n# 1 swxY w Y   |                     |           d S )Nr   c                      d S r   r   r   r	   r
   r   z)Test.test_ref_attribute.<locals>.<lambda>X   s     r	   F)	r!   rC   rD   rE   rF   rA   r#   r$   r%   )r   wr+   s      r
   test_ref_attributezTest.test_ref_attributeT   s     N!''++	!!## 	# 	#[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   A==BBN)
__name__
__module____qualname__r   r,   r2   r8   r?   rG   rK   r   r	   r
   r   r      s        % % X% # # X#     X      X "     X      X     r	   r   c                       e Zd ZdZdS )	TestAgainzRepeat the same testsN)rL   rM   rN   __doc__r   r	   r
   rP   rP   _   s        r	   rP   __main__)r   )r   unittestr!   gevent.coregevent.eventr   gevent.testing.testcaser   r0   signal_handlerr   TestCaser   rP   rL   mainr   r	   r
   <module>rZ      s                   3 3 3 3 3 3
  a & & &   E  E  E  E  E ?H- E  E  E P        zHMOOOOO r	   