????

Your IP : 18.222.156.75


Current Path : /lib/python3.10/test/libregrtest/__pycache__/
Upload File :
Current File : //lib/python3.10/test/libregrtest/__pycache__/refleak.cpython-310.pyc

o

�*�g�@s�ddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZzddlm
Z
WneyAddlZdd�Z
Ynwd	d
�Zdd�Zd
d�ZdS)�N)�
isabstract)�support)�	os_helper)�clear_caches)�	_get_dumpcCs&tdd�|jD��}||j|j|jfS)Ncss�|]}t�|�VqdS�N)�weakref�ref)�.0�obj�r�//usr/lib/python3.10/test/libregrtest/refleak.py�	<genexpr>s�z_get_dump.<locals>.<genexpr>)�set�
_abc_registry�
_abc_cache�_abc_negative_cache�_abc_negative_cache_version)�cls�registry_weakrefsrrr
rs�rc'	s�ddl}ddl�ttd�std��t�tjdd�}|j�	�}tj
�	�}zddl}Wnty6d}Ynw|j
�	�}i}	�fdd��jjD�D]}
t|
�sPqI|
��|
gD]
}t|�d|	|<qWqIdd�td	d
�D���fdd�}|j\}
}}tj�tj|�}|
|}tt|��}dg|}dg|}dg|}tj}tj}tj}d}}}|js�td
|dtj d�td|ddd|�tj dd�t!|||||	�|D]@}|�t!|||||	�|�}|�}|�}|js�tddtj dd�|||�||<|||�||<|||�||<|}|}|}q�|j�sttj d�dd�}dd�} d}!|d|f|d|f|d| ffD]E\}"}#}$|"|
d�}"|$|"��rxd ||"|#t"|"�f}%t|%tj dd�t#|d!��}&t|%|&d�|&�$�Wd�n	1�sqwYd}!�q4|!S)"z�Run a test multiple times, looking for reference leaks.

    Returns:
        False if the test didn't leak references; True if we detected refleaks.
    rN�gettotalrefcountz9Tracking reference leaks requires a debug build of Pythonc�g|]}t�j|��qSr��getattr�abc�r
�a��collectionsrr
�
<listcomp>4�zdash_R.<locals>.<listcomp>cSsi|]}||�qSrr)r
�valuerrr
�
<dictcomp>>szdash_R.<locals>.<dictcomp>i���i�cs��||�Sr)�
setdefault)r!)�int_poolrr
�get_pooled_int?szdash_R.<locals>.get_pooled_int�	beginning�repetitions)�file�
1234567890�
�T)r(�flush�.�)�endr(r,cSstdd�|D��S)Ncss�|]}|dkVqdS)r+Nr)r
�deltarrr
rs�z2dash_R.<locals>.check_rc_deltas.<locals>.<genexpr>)�all��deltasrrr
�check_rc_deltasrs
zdash_R.<locals>.check_rc_deltascSst|�Sr)�anyr2rrr
�check_fd_deltas�szdash_R.<locals>.check_fd_deltasF�
referencesz
memory blockszfile descriptorsz%s leaked %s %s, sum=%sr)%�copyreg�collections.abc�hasattr�sys�	Exception�warm_caches�warnings�filters�dispatch_table�copy�path_importer_cache�	zipimport�ImportError�_zip_directory_cacher�__all__r�__subclasses__r�range�
huntrleaks�os�path�joinr�SAVEDCWD�list�getallocatedblocksr�fd_count�quiet�print�stderr�dash_R_cleanup�sum�openr,)'�ns�	test_name�	test_funcr8�fs�ps�picrC�zdc�abcsrrr%�nwarmup�ntracked�fname�repcount�	rep_range�	rc_deltas�alloc_deltas�	fd_deltasrOrrP�	rc_before�alloc_before�	fd_before�i�alloc_after�rc_after�fd_afterr4r6�failedr3�	item_name�checker�msg�refrepr)rr$r
�dash_Rs�


�
�


��
�
��rscsddl}ddl�|tjdd�<|j��|j�|�tj��tj�|�zddl	}Wn	t
y4Ynw|j��|j�|�t���fdd��j
jD�}tt|�}|D]%}|��|gD]}	|�|	t��D]
}
|
�duru|	�|
��qh|	��q_qVt�dS)Nrcrrrrrrr
r�r z"dash_R_cleanup.<locals>.<listcomp>)r8r9r>r?r@�clear�updater;rBrCrDrE�_clear_type_cacherrF�filterrrG�getr�register�_abc_caches_clearr)rZr[r\r]r^r8rC�abs_classesrrr	rrr
rT�s4

�


�
�
rTcCsNttd��}td�D]
}|||d�q
dd�td�D�ttdd��dS)N�r+cSsg|]}t|��qSr)�chr)r
rjrrr
r�szwarm_caches.<locals>.<listcomp>���i)�bytesrHrN)�srjrrr
r=�s
r=)rJ�rer;r>�inspectr�testr�test.supportr�test.libregrtest.utilsr�_abcrrDrrsrTr=rrrr
�<module>s$�"

Page not found | The NCLEX Doctor

Page not found!

Sorry, this page is not available...