Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/libregrtest/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/libregrtest/__pycache__/refleak.cpython-312.pyc

�

(Μg�"���ddlZddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZ	dd	lmZd�Zd�Zd
edefd�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  �5/usr/local/lib/python3.12/test/libregrtest/refleak.py�	<genexpr>z_get_dump.<locals>.<genexpr>s����N�<M�S����C� 0�<M�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�c���tj�yddl}t|d�5}|j	tj|�ddd�dt_y#1swYdt_yxYw)Nr�xb)r�junit_xml_list�pickle�open�dump)�filenamer�fps   r�save_support_xmlr$sO�����%���	
�h��	�����G�*�*�B�/�
�!�G��
�!�G��s�!A�A+c���	t|d�}ddl}|5|j|�}ddd�t	j
|�t_y#t$rYywxYw#1swY�9xYw)N�rbr)r �FileNotFoundErrorr�load�os�unlinkrr)r"r#r�xml_lists    r�restore_support_xmlr,$s]���
�(�D�
!���	��;�;�r�?��
��I�I�h��%�G��������
��s�A�A�	A�A�A'�hunt_refleak�quietc
���5�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}�5�5fd�}|j*}|j,}|j.}||z}t1t)|��}dg|z}dg|z}dg|z}tj2}tj4}tj6}t8j:}dx}x}x}} |sUt=d|d	tj>�
�d|dzd
zzd|}!|!d|dz|!|dz}!t=|!tj>d��d}"d}#tA||||
|�tCjD�|D�]
}$|�}#tG|"�tA||||
|�tCjD�|d��}%|�|%z
}&|�|%dzz
}'|�}(||'|z
�||$<||&|z
�||$<||(|z
�||$<|sltI||$||$||$�})|)dkrd}*n
|)dkrd|)}*nd}*|$|k(rt=ddtj>d��t=|*dtj>d��~)~*|&}|'}|(}|%} tK|"���
|st=tj>�
�d�}+d�},d}-|d|+f|d|+f|d|,ffD]�\}.}/}0|.|d}.|0|.�}1tM|.�}2|1s|2s�$|�d |.�d|/�d!tO|.���}3t=|3dtj>�"�|1rRt=tj>d��tQ|d#d$�%�5}4t=|3|4�
�|4jS�ddd�d}-��t=d&tj>d����|-|#fS#t$rd}
Y���wxYwcc}wcc}w#1swY�JxYw)'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 Pythoni���i�c�(���j||�Sr
)�
setdefault)�value�int_pools �r�get_pooled_intz'runtest_refleak.<locals>.get_pooled_int^s����"�"�5�%�0�0r�	beginningzHrepetitions. Showing number of leaks (. for 0 or less, X for 10 or more))�file�
1234567890�
r�:T)r7�flushzrefleak-xml.tmp)�_only_immortal��.)
r>�1�2�3�4�5�6�7�8�9�X� �)�endr7r;c�&�td�|D��S)Nc3�&K�|]	}|dk\���y�w)rN�)r�deltas  rrz;runtest_refleak.<locals>.check_rc_deltas.<locals>.<genexpr>�s����2�6�%�5�A�:�6�s�)�all��deltass r�check_rc_deltasz(runtest_refleak.<locals>.check_rc_deltas�s���2�6�2�2�2rc��t|�Sr
)�anyrQs r�check_fd_deltasz(runtest_refleak.<locals>.check_fd_deltas�s���6�{�rF�
referencesz
memory blockszfile descriptorsz leaked z, sum=)rKr7�azutf-8)�encodingz (this is fine))*�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�runsr"�list�getallocatedblocksr0�getunicodeinternedsizer�fd_count�print�stderr�dash_R_cleanupr�
gc_collectr$�maxr,rU�sumr r;)6�	test_name�	test_funcr-r.rZ�collections�fs�ps�picre�zdc�abcsrXrhrr3r5rmrnr"�repcount�	rep_range�	rc_deltas�alloc_deltas�	fd_deltasrpr0rqrr�	rc_before�alloc_before�	fd_before�interned_immortal_before�numbers�xml_filename�result�i�interned_immortal_after�alloc_after�rc_after�fd_after�total_leaks�symbolrSrV�failedrR�	item_name�checker�failing�
suspicious�msg�refrepr4s6                                                     @r�runtest_refleakr�2s�������3�*�+��$�%�	%�
�M�
�	�	�!�	�B�	�	�	�	$�	$�	&�B�

�
!�
!�
&�
&�
(�C�4��
�,�,�1�1�3��
�D�5@�_�_�5L�5L�M�5L�������+�5L�M���#����%�%�'�3�%�/�C�!�#��q�)�D��I�0�N�+0��t�*<�=�*<���u��*<�=�H�1��"�"�G����D��$�$�H���~�H��U�8�_�%�I���h��I��3��>�L���h��I��/�/���+�+�� �7�7���!�!�H�FG�G�I�G��G�y�+C��
�k�8�&6��:�:�	� ��2���!1�2�I�X�>���(�7�#�c�)�G�G�H�,=�=��
�g�C�J�J�d�3�$�L�
�F��2�r�3��T�*�����
�������&��r�2�s�C��.�����#9��#!��)�*�-D�D��#�%�(?�!�(C�C���:��%�h��&:�;�	�!��(��|�)C�D��Q��%�h��&:�;�	�!����i��l�L��O�Y�q�\�J�K��a�����r�!��!�#�����G�|��c�r��
�
�$�?��&�b�s�z�z��>���"���	��	�#:� ��L�)�Y�\�
�3�:�:��
3���F�	�L�/�2�	���8�	�&��8�'�"��	�7����!���&�/����[�
��j��6�9�c�&�k�;�C��#�2�C�J�J�/���3�:�:�T�2��(�C�'�:�f��#�F�+��L�L�N�;����'�c�j�j��E�)'�*
�F����Y������N��>�l;�:�s*�;Q�3Q#�
Q(�Q-�Q �Q �-Q6	c�p�ddl}ddl}|tjdd|jj�|jj
|�tjj�tjj
|�	ddl	}|jj�|jj
|�|jjD�cgc]}t|j|���}	}tt |	�}	|	D]q}
|
j#�|
gzD]X}|j%|d�}|�2|j'�|D]}
|
�}|��
|j)|��|j+��Z�st-�tj.�y#t$rY��wxYwcc}w)Nr)rZr[r`rarb�clear�updater]rdrerfrgrhrirj�filterrrk�get�_abc_registry_clear�register�_abc_caches_clearr	�_clear_type_cache)r|r}r~rr�rZr{rerX�abs_classesrhr�refsr�subclasss               rruru�su�����H���Q����� � �"����!�!�"�%����!�!�#����"�"�3�'�3��	�&�&�,�,�.��&�&�-�-�c�2�9D���8O�8O�P�8O�1�7�;�?�?�A�.�8O�K�P���[�1�K����%�%�'�3�%�/�C��8�8�C��&�D����'�'�)��C�"�u�H��+����X�.� �
�!�!�#�0���N������3�
��
��Qs�F$� F3�$	F0�/F0c���ttd��}td�D]
}|||dz�td�D�cgc]
}t|���c}ttdd��ycc}w)N�r���i)�bytesrl�chrro)�sr�s  rr_r_sZ��
�e�C�j��A�
�3�Z��	�!�A�a�C����3�Z� �Z��S��V�Z� ���r�3����!s�A%)r)r]r`�inspectr�typingr�testr�test.supportr�runtestsr�utilsr	�_abcr
rgrr$r,�boolr�rur_rNrr�<module>r�st��	�
�����"�!��
J��"�&�g�"-�g��g�T%�P��k�J��J�J�s�A
�
A�A

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists