B
    ÐH/\5  ã               @   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rže ¡  dS )é    )Úabsolute_import)Údivision)Úprint_functionN)ÚIdentRegistry)ÚPYPYc               @   s   e Zd ZdS )ÚTargetN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú8lib/python3.7/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 )N)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rØxtdƒD ]}t ¡  qÈW |  dt| jƒ¡ t ƒ }|  d| j |¡¡ |  d| j |¡¡ |  dt| jƒ¡ d S )Nr   é   é   é   )	r   ÚassertEqualr   Ú	get_identÚlenr   ÚrangeÚgcZcollect)r   ÚtargetZtarget2Ú_Ztarget3r   r   r   Ú
test_basic   s(    zTestIdent.test_basicz%This would need to GC very frequentlyc             C   sJ   d}d g| }x6t dƒD ]*}tƒ }|||| < |  | j |¡|¡ qW d S )Nr   iè  )r   r   ZassertLessEqualr   r   )r   Z
keep_countZ	keepaliveÚir   r   r   r   Útest_circle9   s    
zTestIdent.test_circleN)	r   r	   r
   r   r   r   Ú	greentestZ
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.__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__)Z
__future__r   r   r   r   Zgevent.testingZtestingr   Zgevent._identr   Zgevent._compatr   Úobjectr   ZTestCaser   ZskipOnPurePythonr    r   Úmainr   r   r   r   Ú<module>   s   3
	