HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/libregrtest/__pycache__/refleak.cpython-312.opt-2.pyc
�

�h�eb���ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
	dd	lmZdedefd
�Zd�Zd�Zy#e$r
ddlZd
�ZY�wxYw)�N)�
isabstract)�Any)�support)�	os_helper�)�HuntRefleak)�clear_caches)�	_get_dumpc��td�|jD��}||j|j|jfS)Nc3�FK�|]}tj|����y�w�N)�weakref�ref)�.0�objs  �?/opt/alt/python312/lib64/python3.12/test/libregrtest/refleak.py�	<genexpr>z_get_dump.<locals>.<genexpr>s����N�S����C� 0�N�s�!)�set�
_abc_registry�
_abc_cache�_abc_negative_cache�_abc_negative_cache_version)�cls�registry_weakrefss  rr
r
sA�� �N�C�<M�<M�N�N��!�3�>�>��'�'��)H�)H�J�	J��hunt_refleak�quietc
�l�/�	ddl}ddl}ttd�st	d��t�tjdd}|jj�}tjj�}	ddl}	|	jj�}
i}|jjD�cgc]}t!|j|���c}D]8}
t#|
�s�|
j%�|
gzD]}t'|�d||<��:t)dd�D�cic]}||��c}�/�/fd�}|j*}|j,}|j.}||z}t1t)|��}dg|z}dg|z}dg|z}tj2}tj4}tj6}t8j:}dx}x}x}} |sEt=d|dtj>�	�t=d
|dzdzzd|tj>d
��d}!tA||||
|�tCjD�|D]�}"|�}!tA||||
|�tCjD�|�}#|�|#z
}$|�|#dzz
}%|�}&|st=ddtj>d
��||%|z
�||"<||$|z
�||"<||&|z
�||"<|$}|%}|&}|#} ��|st=tj>�	�d�}'d�}(d})|d|'f|d|'f|d|(ffD]|\}*}+},|*|d}*|,|*�s�|�d|*�d|+�dtG|*���}-t=|-tj>d
��tI|dd��5}.t=|-|.�	�|.jK�ddd�d
})�~|)|!fS#t$rd}
Y��wxYwcc}wcc}w#1swY�-xYw)Nr�gettotalrefcountz9Tracking reference leaks requires a debug build of Pythoni���i�c�(���j||�Sr
)�
setdefault)�value�int_pools �r�get_pooled_intz'runtest_refleak.<locals>.get_pooled_intEs����"�"�5�%�0�0r�	beginning�repetitions)�file�
1234567890�
rT)r'�flush��.�)�endr'r*c�&�td�|D��S)Nc3�&K�|]	}|dk\���y�w)rN�)r�deltas  rrz;runtest_refleak.<locals>.check_rc_deltas.<locals>.<genexpr>�s����2�%�5�A�:�2�s�)�all��deltass r�check_rc_deltasz(runtest_refleak.<locals>.check_rc_deltas�s���2�6�2�2�2rc��t|�Sr
)�anyr4s r�check_fd_deltasz(runtest_refleak.<locals>.check_fd_deltas�s���6�{�rF�
referencesz
memory blockszfile descriptorsz leaked � z, sum=�azutf-8)�encoding)&�copyreg�collections.abc�hasattr�sys�	Exception�warm_caches�warnings�filters�dispatch_table�copy�path_importer_cache�	zipimport�_zip_directory_cache�ImportError�abc�__all__�getattrr�__subclasses__r
�range�warmups�runs�filename�list�getallocatedblocksr�getunicodeinternedsizer�fd_count�print�stderr�dash_R_cleanupr�
gc_collect�sum�openr*)0�	test_name�	test_funcrrr>�collections�fs�ps�picrI�zdc�abcsr<rLrr"r$rQrRrS�repcount�	rep_range�	rc_deltas�alloc_deltas�	fd_deltasrUrrVrW�	rc_before�alloc_before�	fd_before�interned_before�results�i�interned_after�alloc_after�rc_after�fd_afterr6r9�failedr5�	item_name�checker�msg�refrepr#s0                                               @r�runtest_refleakrzs��������3�*�+��$�%�	%�
�M�
�	�	�!�	�B�	�	�	�	$�	$�	&�B�

�
!�
!�
&�
&�
(�C�4��
�,�,�1�1�3��
�D�5@�_�_�5L�5L�M�������+�M�*���#����%�%�'�3�%�/�	*�C�!�#��q�)�D��I�	*�*�+0��t�*<�=���u��=�H�1��"�"�G����D��$�$�H���~�H��U�8�_�%�I���h��I��3��>�L���h��I��/�/���+�+�� �7�7���!�!�H�=>�>�I�>��>�y�?��
�k�8�]����D�
�|�X�r�\�A�-�.�	��:�����	��G��2�r�3��T�*�����
�)���+���r�2�s�C��.�����0�1��(�*�^�;��#�%���(:�:���:����#�2�C�J�J�d�;�%�h��&:�;�	�!��(��|�)C�D��Q��%�h��&:�;�	�!��"���	��	�(��3)�6�
�3�:�:��
3���F�	�L�/�2�	���8�	�&��8�'��"��	�7����!���6�?��6�9�c�&�k�;�C��#�C�J�J�d�3��h��g�6�
�&��c��'�����
��F��
�G����_������N��>�v
�
�s*�<N�4N �
N%� N*�N�N�*N3	c�^�ddl}ddl}|tjdd|jj�|jj
|�tjj�tjj
|�	ddl	}|jj�|jj
|�|jjD�cgc]}t|j|���}	}tt |	�}	|	D]h}
|
j#�|
gzD]O}|j%|t'��D] }|���|j)|���"|j+��Q�jt-�tj.�y#t$rY��wxYwcc}w)Nr)r>r?rDrErF�clear�updaterArHrIrJrKrLrMrN�filterrrO�getr�register�_abc_caches_clearr	�_clear_type_cache)
rarbrcrdrer>r`rIr<�abs_classesrLrrs
             rrZrZ�si�����H���Q����� � �"����!�!�"�%����!�!�#����"�"�3�'�3��	�&�&�,�,�.��&�&�-�-�c�2�9D���8O�8O�P�1�7�;�?�?�A�.�P�K�P���[�1�K��$���%�%�'�3�%�/�	$�C��x�x��S�U�+�
(���5�$��L�L���'�
(�
�!�!�#�		$�$��N������+�
��
��Qs�F� F*�	F'�&F'c���ttd��}td�D]
}|||dz�td�D�cgc]
}t|���c}ttdd��ycc}w)N�r���i)�bytesrP�chrrT)�srps  rrCrC�s[��
�e�C�j��A�
�3�Z���	�!�A�a�C����3�Z� ��S��V� ���r�3����!s�A%)rArD�inspectr�typingr�testr�test.supportr�runtestsr�utilsr	�_abcr
rKr�boolrzrZrCr1rr�<module>r�sg��
�����"�!��
J��J�"-�J��J�Z!�H��y�J��J�J�s�A�A�A