Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/test/libregrtest/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/test/libregrtest/__pycache__/refleak.cpython-311.pyc

�

SԚg����ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
	dd	lmZn#e$r
ddlZd
�ZYnwxYwdedefd
�Zd�Zd�ZdS)�N)�
isabstract)�Any)�support)�	os_helper�)�HuntRefleak)�clear_caches)�	_get_dumpc�h�td�|jD����}||j|j|jfS)Nc3�>K�|]}tj|��V��dS�N)�weakref�ref)�.0�objs  �5/usr/local/lib/python3.11/test/libregrtest/refleak.py�	<genexpr>z_get_dump.<locals>.<genexpr>s,����N�N�S���C� 0� 0�N�N�N�N�N�N�)�set�
_abc_registry�
_abc_cache�_abc_negative_cache�_abc_negative_cache_version)�cls�registry_weakrefss  rr
r
sB�� �N�N�C�<M�N�N�N�N�N��!�3�>��'��)H�J�	Jr�hunt_refleak�quietc
���.�/�ddl}ddl�.ttd��st	d���t��tjdd�}|j�	��}tj
�	��}	ddl}|j�	��}	n#t$rd}	YnwxYwi}
�.fd��.jjD��D]E}t!|��s�|���|gzD]}t%|��d|
|<��Fd�t'dd��D���/�/fd	�}
|j}|j}|j}||z}t/t'|����}dg|z}dg|z}dg|z}tj}tj}t4j}dx}x}}|sdt9d
|dtj���d
|dzdzzd|�}|d|�dz||d�z}t9|tjd���d}t=||||	|
��t?j ��|D�]}|��}t=||||	|
��t?j ��|��}|��} |��}!|
| |z
��||<|
||z
��||<|
|!|z
��||<|stC||||||��}"|"dkrd}#n|"dkr	d|"}#nd}#||krt9ddtjd���t9|#dtjd���~"~#|}| }|!}��
|st9tj���d�}$d�}%d}&|d|$f|d|$f|d|%ffD]�\}'}(})|'|d�}'|)|'��}*tE|'��}+|*s|+r�|�d|'�d|(�d tG|'����},t9|,dtj�!��|*rmt9tjd���tI|d"d#�$��5}-t9|,|-���|-�%��ddd��n#1swxYwYd}&��t9d%tjd�����|&|fS)&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|����S���getattr�abc�r�a�collectionss  �r�
<listcomp>z#runtest_refleak.<locals>.<listcomp>:s%���M�M�M������+�+�M�M�Mrc��i|]}||��Sr!r!)r�values  r�
<dictcomp>z#runtest_refleak.<locals>.<dictcomp>Ds��=�=�=���u�=�=�=ri���i�c�0����||��Sr
)�
setdefault)r*�int_pools �r�get_pooled_intz'runtest_refleak.<locals>.get_pooled_intEs����"�"�5�%�0�0�0r�	beginningzHrepetitions. Showing number of leaks (. for 0 or less, X for 10 or more))�file�
1234567890�
r�:T)r1�flush�.)
r6�1�2�3�4�5�6�7�8�9�X� �)�endr1r5c�4�td�|D����S)Nc3�"K�|]
}|dkV��dS)rNr!)r�deltas  rrz;runtest_refleak.<locals>.check_rc_deltas.<locals>.<genexpr>�s&����2�2�%�5�A�:�2�2�2�2�2�2r)�all��deltass r�check_rc_deltasz(runtest_refleak.<locals>.check_rc_deltas�s!���2�2�6�2�2�2�2�2�2rc� �t|��Sr
)�anyrHs r�check_fd_deltasz(runtest_refleak.<locals>.check_fd_deltas�s���6�{�{�rF�
referencesz
memory blockszfile descriptorsz leaked z, sum=)rCr1r&zutf-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�ImportErrorr$�__all__r�__subclasses__r
�range�warmups�runs�filename�list�getallocatedblocksrr�fd_count�print�stderr�dash_R_cleanupr�
gc_collect�maxrL�sum�openr5)0�	test_name�	test_funcrrrP�fs�ps�picr[�zdc�abcsr$rr/rarbrc�repcount�	rep_range�	rc_deltas�alloc_deltas�	fd_deltasrerrf�	rc_before�alloc_before�	fd_before�numbers�results�i�alloc_after�rc_after�fd_after�total_leaks�symbolrJrM�failedrI�	item_name�checker�failing�
suspicious�msg�refrepr'r.s0                                              @@r�runtest_refleakr�s������N�N�N������3�*�+�+�%��$�%�%�	%�
�M�M�M�
�	�!�!�!�	�B�	�	�	$�	$�	&�	&�B�

�
!�
&�
&�
(�
(�C�4�����
�,�1�1�3�3����	������������
�D�M�M�M�M�[�_�5L�M�M�M�*�*���#���	���%�%�'�'�3�%�/�	*�	*�C�!�#���q�)�D��I�I�	*�>�=�%��t�*<�*<�=�=�=�H�1�1�1�1�1��"�G���D��$�H���~�H��U�8�_�_�%�%�I���h��I��3��>�L���h��I��/���+���!�H�+,�,�I�,��y��4�
�k�8�&6��:�	�	�	�	� ��2���!1�2�I�X�I�>���(�7�(�#�c�)�G�G�H�H�,=�=��
�g�C�J�d�3�3�3�3��G��2�r�3��T�*�*�*������
�"�"���)�+�+���r�2�s�C��.�.�.������)�(�*�*��#�#�%�%���8�:�:��%�~�h��&:�;�;�	�!��(�.��|�)C�D�D��Q��%�~�h��&:�;�;�	�!���	��i��l�L��O�Y�q�\�J�J�K��a�������r�!�!��!�#������G�|�|��c�r��
�$�?�?�?�?��&�b�s�z��>�>�>�>���"���	��	�	���
�3�:�����
3�
3�
3�����F�	�L�/�2�	���8�	�&��8�'�F�F�"��	�7�����!���'�&�/�/����[�[�
��	F�j�	F��	�	�6�6�6�9�9�9�c�&�k�k�k�;�C��#�2�C�J�/�/�/�/��
F��3�:�T�2�2�2�2��(�C�'�:�:�:�#�f��#�F�+�+�+�+��L�L�N�N�N�#�#�#�#�#�#�#�#�#�#�#����#�#�#�#�����'�c�j��E�E�E�E���G��s$�	B'�'B6�5B6�&P>�>Q	�Q	c�H��ddl}ddl�|tjdd�<|j���|j�|��tj���tj�|��	ddl	}|j
���|j
�|��n#t$rYnwxYw�fd��jj
D��}tt|��}|D]}}|���|gzD]b}	|�|	t%����D])}
|
���|	�|
�����*|	����c�~t+��tj��dS)Nrc�:��g|]}t�j|����Sr!r"r%s  �rr(z"dash_R_cleanup.<locals>.<listcomp>�s%���P�P�P�1�7�;�?�A�.�.�P�P�Pr)rPrQrVrWrX�clear�updaterSrZr[r\r]r$r^�filterrr_�getr�register�_abc_caches_clearr	�_clear_type_cache)rprqrrrsrtrPr[�abs_classesr$rrr's           @rriri�s�����N�N�N������H��Q�Q�Q���� � �"�"�"���!�!�"�%�%�%���!�!�#�#�#���"�"�3�'�'�'�3�����	�&�,�,�.�.�.��&�-�-�c�2�2�2�2��	�
�
�
���
����Q�P�P�P���8O�P�P�P�K���[�1�1�K��$�$���%�%�'�'�3�%�/�	$�	$�C��x�x��S�U�U�+�+�
(�
(���3�5�5�$��L�L�����'�'�'���!�!�#�#�#�#�		$��N�N�N�������s�C�
C�Cc���ttd����}td��D]}|||dz��d�td��D��ttdd����dS)N�rc�,�g|]}t|����Sr!)�chr)rrs  rr(zwarm_caches.<locals>.<listcomp>�s�� � � ��S��V�V� � � r���i)�bytesr`rd)�srs  rrUrU�ss��
�e�C�j�j���A�
�3�Z�Z����	�!�A�a�C�%���� � �U�3�Z�Z� � � � ���r�3�������r)rSrV�inspectr�typingr�testr�test.supportr�runtestsr�utilsr	�_abcr
r]r�boolr�rirUr!rr�<module>r�s8��
�
�
�
�����������������������"�"�"�"�"�"�!�!�!�!�!�!�������
J����������J�J�J��N�N�N�J�J�J�J�J�J����[�"-�[��[�[�[�[�|!�!�!�H����s�5�A�A

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