
    i=                        d dl mZ d dl mZ d dl mZ d dlZd dlmZ d dlm	Z	 d dl
mZ  G d de          Z G d	 d
ej                  Z ej        d           G d dej                              Zedk    r ej                     dS dS )    )absolute_import)division)print_functionN)IdentRegistry)PYPYc                       e Zd ZdS )TargetN)__name__
__module____qualname__     D/usr/local/lib/python3.11/dist-packages/gevent/tests/test___ident.pyr	   r	      s        Dr   r	   c                   R    e Zd Zd Zd Zd Z ej        d          d             ZdS )	TestIdentc                 ,    t                      | _        d S N)r   regselfs    r   setUpzTestIdent.setUp   s     ??r   c                     d | _         d S r   )r   r   s    r   tearDownzTestIdent.tearDown   s    r   c                    t                      }|                     d| j                            |                     |                     dt	          | j                             |                     d| j                            |                     |                     dt	          | j                             t                      }|                     d| j                            |                     |                     dt	          | j                             |                     d| j                            |                     |                     dt	          | j                             |                     d| j                            |                     ~t
          r%t          d          D ]}t          j                     |                     dt	          | j                             t                      }|                     d| j                            |                     |                     d| j                            |                     |                     dt	          | j                             d S )Nr            )	r	   assertEqualr   	get_identlenr   rangegccollect)r   targettarget2_target3s        r   
test_basiczTestIdent.test_basic   s   DH..v66777CMM***DH..v66777CMM***((DH..w77888CMM***DH..w77888CMM***DH..v66777  	1XX  
CMM***((DH..w77888DH..w77888CMM*****r   z%This would need to GC very frequentlyc                     d}d g|z  }t          d          D ]F}t                      }||||z  <   |                     | j                            |          |           Gd S )Nr   i  )r!   r	   assertLessEqualr   r   )r   
keep_count	keepaliveir$   s        r   test_circlezTestIdent.test_circle9   sv    
FZ'	t 	I 	IAXXF(.Ia*n%  !3!3F!;!;ZHHHH		I 	Ir   N)	r
   r   r   r   r   r(   	greentest
skipOnPyPyr.   r   r   r   r   r      sq        # # #  + + +> YABBI I CBI I Ir   r   zNeeds C extensionc                       e Zd Zd ZdS )TestCExtc                 F    |                      t          j        d           d S )Nzgevent._gevent_c_ident)r   r   r   r   s    r   test_c_extensionzTestCExt.test_c_extensionH   s,    11	3 	3 	3 	3 	3r   N)r
   r   r   r4   r   r   r   r2   r2   E   s#        3 3 3 3 3r   r2   __main__)
__future__r   r   r   r"   gevent.testingtestingr/   gevent._identr   gevent._compatr   objectr	   TestCaser   skipOnPurePythonr2   r
   mainr   r   r   <module>r?      sQ   ' & & & & &       % % % % % % 				 # " " " " " ' ' ' ' ' '      	 	 	 	 	V 	 	 	0I 0I 0I 0I 0I	" 0I 0I 0If /003 3 3 3 3y! 3 3 103 zIN r   