o
    ÑtPf=  ã                   @   s¦   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„ deƒZG d	d
„ d
ejƒZe d¡G dd„ dejƒƒZedkrQe ¡  dS dS )é    )Úabsolute_import)Údivision)Úprint_functionN)ÚIdentRegistry)ÚPYPYc                   @   s   e Zd ZdS )ÚTargetN)Ú__name__Ú
__module__Ú__qualname__© r   r   úZ/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/tests/test___ident.pyr      s    r   c                   @   s6   e Zd Zdd„ Zdd„ Zdd„ Ze d¡dd	„ ƒZd
S )Ú	TestIdentc                 C   s   t ƒ | _d S ©N)r   Úreg©Úselfr   r   r   ÚsetUp   s   zTestIdent.setUpc                 C   s
   d | _ d S r   )r   r   r   r   r   ÚtearDown   s   
zTestIdent.tearDownc                 C   s*  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rjtdƒD ]}t ¡  qc|  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Ú_Útarget3r   r   r   Ú
test_basic   s(   
zTestIdent.test_basicz%This would need to GC very frequentlyc                 C   sF   d}d g| }t dƒD ]}tƒ }|||| < |  | j |¡|¡ qd S )Nr   iè  )r   r   ÚassertLessEqualr   r   )r   Ú
keep_countÚ	keepaliveÚir   r   r   r   Útest_circle9   s   
üzTestIdent.test_circleN)	r   r	   r
   r   r   r!   Ú	greentestÚ
skipOnPyPyr&   r   r   r   r   r      s    r   zNeeds C extensionc                   @   s   e Zd Zdd„ ZdS )ÚTestCExtc                 C   s   |   tjd¡ d S )Nzgevent._gevent_c_ident)r   r   r	   r   r   r   r   Útest_c_extensionH   s   ÿzTestCExt.test_c_extensionN)r   r	   r
   r*   r   r   r   r   r)   E   s    r)   Ú__main__)Ú
__future__r   r   r   r   Úgevent.testingÚtestingr'   Úgevent._identr   Úgevent._compatr   Úobjectr   ÚTestCaser   ÚskipOnPurePythonr)   r   Úmainr   r   r   r   Ú<module>   s   3	ÿ