Sindbad~EG File Manager

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

�

'Μg&���4�ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
ddlmZddl
mZ	ddlZej"d�ZdZd�Zd	�Zd
�Zd�Zd�Zd
�Zd�ZGd�dej6�ZGd�dej6�ZGd�dej6�ZGd�dej6�ZGd�dej6�Z ejBedud�Gd�dej6��Z"e#dk(rejH�yy#e$rdZY��wxYw)�N)�patch)�assert_python_ok�assert_python_failure� interpreter_requires_environment)�support)�	os_helper�)���i@c��g}tjd�}t|�D]V}|j}|j|z}|j|j|f�d}|j}|��Lt|�St|�S)N�r)	�sys�	_getframe�range�f_code�f_lineno�append�co_filename�f_back�tuple)�nframe�lineno_delta�frames�frame�index�code�linenos       �2/usr/local/lib/python3.12/test/test_tracemalloc.py�
get_framesrs}��
�F��M�M�!��E��v����|�|�����,�.���
�
�t�'�'��0�1��������=����=�����=�r	c	��tj�}|tz
}t|d�}d|z}|tj|tt
|�|��fS)Nr�x)�tracemalloc�get_traceback_limit�EMPTY_STRING_SIZEr�	Traceback�min�len)�sizer�	bytes_lenr�datas     r�allocate_bytesr*#sT��
�
,�
,�
.�F��)�)�I�
���
"�F��)��D���&�&�v�s�3�v�;��/G�H�H�Hr	c�v�d}gd�}tj||�}gd�}tj||�}||fS)N�)�r�
)��a.pyr,��b.py��r-r-�rr,��r0�r1r4�r,�B)�r2rr�r4����	<unknown>rr)r-r-r-)r,r,r6r4)r,�r6r4)r3�)��c.py�Br)r!�Snapshot)�traceback_limit�
raw_traces�snapshot�raw_traces2�	snapshot2s     r�create_snapshotsrL*sH���O�

�J��#�#�J��@�H�	�K��$�$�[�/�B�I��i� � r	c�0�tj||f�S�N)r!�_Frame��filenamers  rrrKs�����x��0�1�1r	c�,�tj|�SrN)r!r$)rs r�	tracebackrSNs��� � ��(�(r	c��t||f�SrN)rSrPs  r�traceback_linenorUQs���h��'�(�(r	c��t|d�S�Nr)rU)rQs r�traceback_filenamerXTs���H�a�(�(r	c��eZdZd�Zy)�
TestTracebackc���dtfd�}|j|d�d�|j|dd�d�d}d}|j||�d	|�d
��|j||d�d	|�d��y)
N�returnc�8�ttj|��SrN)�reprr!r$)�argss r�get_reprz)TestTraceback.test_repr.<locals>.get_reprZs����-�-�t�4�5�5r	�z<Traceback ()>rz<Traceback () total_nframe=0>))�f1r)�f2r,z@(<Frame filename='f2' lineno=2>, <Frame filename='f1' lineno=1>)z<Traceback �>r,z total_nframe=2>)�str�assertEqual)�selfr`r�exp_repr_framess    r�	test_reprzTestTraceback.test_reprYs���	6�s�	6�	
����"��'7�8�����"�a��*I�J�'��
/�	�	
����&�)�&��&7�q�9�	;�����&�!�,�&��&7�7G�H�	Jr	N)�__name__�
__module__�__qualname__rirar	rrZrZXs��Jr	rZc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zej(�d��Zd�Zy)�TestTracemallocEnabledc�x�tj�r|jd�tjd�y)N�+tracemalloc must be stopped before the testr)r!�
is_tracing�skipTest�start�rgs r�setUpzTestTracemallocEnabled.setUpls)���!�!�#��M�M�G�H����!�r	c�,�tj�yrN�r!�stoprts r�tearDownzTestTracemallocEnabled.tearDownr������r	c�4�td�D�cgc]
}td���}}tj�}|j	|d�tj
�tj�}|j	|d�|j
||�ycc}w)Ni��{r)rr*r!�get_tracemalloc_memory�assertGreaterEqual�clear_traces�assertLessEqual)rg�countr)r'�size2s     r�test_get_tracemalloc_memoryz2TestTracemallocEnabled.test_get_tracemalloc_memoryus|��16�t��=����s�#���=��1�1�3������a�(�� � �"��2�2�4������q�)����U�D�)��>s�Bc��tj�d}t|�\}}tj|�}|j	||�y�N�90)r!rr*�get_object_tracebackrf�rg�obj_size�obj�
obj_tracebackrSs     r�test_get_object_tracebackz0TestTracemallocEnabled.test_get_object_tracebacksB��� � �"���+�H�5���]��4�4�S�9�	�����M�2r	c�b�tj�tj�g}d}g}tj�}t|d�}tj|tt|�|��}tj|�}|j|�|j||�y)N���)r!rr�
gc_collectr"rr$r%r&r��assertIsNotNonerf)rgr�rrr�rSs      r�test_new_referencez)TestTracemallocEnabled.test_new_reference�s���� � �"������������0�0�2���F�B�'��#�-�-�f�c�#�f�+�v�6N�O�
��4�4�S�9�	����Y�'�����M�2r	c�^�d}tj�|jttjd�tj�tjd�t|�\}}tj|�}|jt|�d�|j||�tj�tjd�t|�\}}tj|�}|jt|�d�|j||�y)Nr.r
r)	r!rx�assertRaises�
ValueErrorrsr*r�rfr&)rgr��obj2�obj2_tracebackrSr�r�s       r�test_set_traceback_limitz/TestTracemallocEnabled.test_set_traceback_limit�s������������*�k�&7�&7��<��������"��-�h�7���n��4�4�T�:�	�����Y���,�����N�3��������!��+�H�5���]��4�4�S�9�	�����Y���+�����M�2r	c�`�|D]}|d|jk(s�|cS|jd�y)Nr,ztrace not found)�_frames�fail)rg�tracesrS�traces    r�
find_tracez!TestTracemallocEnabled.find_trace�s2���E��Q�x�9�,�,�,����	
�	�	�#�$r	c��tj�d}t|�\}}tj�}|j	||�}|j|t�|\}}}}	|j||�|j||j�tj�|jtj�g�yr�)
r!rr*�_get_tracesr��assertIsInstancerrfr�rx)
rgr�r�r�r�r��domainr'rS�lengths
          r�test_get_tracesz&TestTracemallocEnabled.test_get_traces�s���� � �"���+�H�5���]��(�(�*������
�6�����e�U�+�*/�'���i������x�(�����M�$9�$9�:���������0�0�2�B�7r	c�����d���fd���fd�}tj�tjd�d}||�\}}||�\}}tj�}t	t|j��|_t	t|j��|_|j||�}|j||�}	|\}
}}}
|	\}}}}|j||�y)Nc��t|�SrN)r*�r's r�allocate_bytes2zPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes2�s
��!�$�'�'r	c����|�SrNra)r'r�s �r�allocate_bytes3zPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes3�����"�4�(�(r	c����|�SrNra)r'r�s �r�allocate_bytes4zPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes4�r�r	r3r|)	r!rxrsr�r�reversedr�r��assertIs)rgr�r��obj1�obj1_tracebackr�r�r��trace1�trace2�domain1�size1�
traceback1�length1�domain2r��
traceback2�length2r�r�s                  @@r� test_get_traces_intern_tracebackz7TestTracemallocEnabled.test_get_traces_intern_traceback�s����	(�	)�	)�	�������!����.�x�8���n�.�x�8���n��(�(�*��!&�x��0F�0F�'G�!H���!&�x��0F�0F�'G�!H��������8�������8��.4�+���
�G�.4�+���
�G��
�
�j�*�-r	c��d}d}tj�t|�\}}tj�\}}|j	||�|j	||�|j||z
|�|j||z
|�d}tj�\}}|j
||�|j	||z
||z
�|j	||�tj�|jtj�d�t|�\}}tj�\}}|j	||�tj�|jtj�d�y)N��)rr)	r!rr*�get_traced_memoryr~r��
assertLessrfrx)	rg�	max_errorr�r�r�r'�	peak_sizer��
peak_size2s	         r�test_get_traced_memoryz-TestTracemallocEnabled.test_get_traced_memory�sX���	���� � �"�+�H�5���]�%�7�7�9���i�����h�/����	�4�0����T�H�_�i�8����Y��-�y�9���'�9�9�;���z�����t�$�����u��h��.B�C����
�I�6�	� � �"�����6�6�8�&�A�,�H�5���]�%�7�7�9���i�����h�/�	��������6�6�8�&�Ar	c���td�\}}tj|�}|j|�tj�tj|�}|j|�y)Nr|)r*r!r�r�r�assertIsNone)rgr�r�rSr�s     r�test_clear_tracesz(TestTracemallocEnabled.test_clear_tracessY��+�C�0���]��4�4�S�9�	����Y�'�� � �"� �5�5�c�:�
����*�%r	c���tj�ttt	d���}tj
�\}}tj�tj
�\}}|j||�|j||�d}t|�\}}tj
�\}	}
|j|
|	�|j|
|�|j|
|z
|�y)Ni��r�)r!r�sum�listrr��
reset_peakr~r�r*�
assertGreater)rg�	large_sumr��peak1r��peak2r�r�r��size3�peak3s           r�test_reset_peakz&TestTracemallocEnabled.test_reset_peak
s���	� � �"���U�6�]�+�,�	�"�4�4�6���u�	��� �"�4�4�6���u�����u�-�����u�%���+�H�5���]�"�4�4�6���u�����u�-����5�%�(������
�x�8r	c���tj�|jtj��tj�|jtj��yrN)r!rx�assertFalserqrs�
assertTruerts r�test_is_tracingz&TestTracemallocEnabled.test_is_tracing%sF����������/�/�1�2���������.�.�0�1r	c���td�\}}tj�}|j|jdj
jd�|jtj�|jtjtj�tjjtj�}|j|j|j�tj�|j!t"�5}tj�ddd�|jt%j&�d�y#1swY�/xYw)Nr|rr.zLthe tracemalloc module must be tracing memory allocations to take a snapshot)r*r!�
take_snapshotr�r�rS�total_nframe�dumpr�TESTFN�
addCleanup�unlinkrF�loadrfrxr��RuntimeErrorre�	exception)rgr��sourcerIrK�cms      r�
test_snapshotz$TestTracemallocEnabled.test_snapshot,s��$�S�)���V��,�,�.��	
���8�?�?�1�-�7�7�D�D�b�I�	�
�
�i�&�&�'����	�(�(�)�*:�*:�;� �(�(�-�-�i�.>�.>�?�	�����)�)�8�?�?�;�	����
�
�
�|�
,���%�%�'�-�����R�\�\�*�:�	;�-�
,�s�E"�"E+c�f�tj�}d|_|jtj
�|j
tjtj
�tjjtj
�}|j|jd�y)N�new)r!r��	test_attrr�rr�r�r�rFr�rf)rgrIrKs   r�test_snapshot_save_attrz.TestTracemallocEnabled.test_snapshot_save_attrEsx���,�,�.��"����
�
�i�&�&�'����	�(�(�)�*:�*:�;� �(�(�-�-�i�.>�.>�?�	�����,�,�e�4r	c�~�tj�syd}t|�\}}tj|�}|�yy)Nr,r�r4r)r!rqr*r�r�s     r�
fork_childz!TestTracemallocEnabled.fork_childPsC���%�%�'����+�H�5���]��4�4�S�9�	����r	c���tj�}|s)d}	|j�}tj|�yt	j
|d��y#tj|�wxYw)Nrr)�exitcode)�os�forkr��_exitr�wait_process)rg�pidr�s   r�	test_forkz TestTracemallocEnabled.test_fork]sT���g�g�i����H�
#��?�?�,������"�� � ��q�1������"�s�A�A/c�,�tj�tjd�d�}|d�jd}tj|�}|jd|dj�|jd|dj�y)N�c����fd�}|S)Nc����SrNra)�xs�r�gzFTestTracemallocEnabled.test_no_incomplete_frames.<locals>.f.<locals>.gps����r	ra)r�r�s` r�fz;TestTracemallocEnabled.test_no_incomplete_frames.<locals>.fos
���
��Hr	r�test_tracemallocr
���)r!rxrs�__closure__r��assertInrQ�assertNotIn)rgr�r�rSs    r�test_no_incomplete_framesz0TestTracemallocEnabled.test_no_incomplete_framesks{���������!��	�
��d���q�!���4�4�S�9�	��
�
�(�)�B�-�*@�*@�A����+�Y�r�]�-C�-C�Dr	N)rjrkrlruryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�
requires_forkr�r�rar	rrnrnksy����*�3�3�(3�(%�8� .�6"B�H&�9�02�;�2	5���W����2��2�Er	rnc�^�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zy)�TestSnapshoti�c��dg}tj�5}|jtjt
dd���|jtjt
dd���|jtjt
d|���tj�}|j|jd�|jt|j�d�|jd	}|j|jd�|j|jjd
�|jt|j�d�|j|jd	jd�|j|jd	jd�ddd�y#1swYyxYw)
N)rr8)r/r.rqT)�return_valuer"r8r�rrr.r0r,)�
contextlib�	ExitStack�
enter_contextr�objectr!r�rfrGr&r�r'rSr�rQr)rgrH�stackrIr�s     r�test_create_snapshotz!TestSnapshot.test_create_snapshot}s[��0�1�
�
�
!�
!�
#�u�������[�,�:>�!@�
A�������[�:O�:;�!=�
>�������[�-�:D�!F�
G�#�0�0�2�H����X�5�5�q�9����S����1�1�5��O�O�A�&�E����U�Z�Z��+����U�_�_�9�9�2�>����S����1�1�5����U�_�_�Q�/�8�8�&�A����U�_�_�Q�/�6�6��:�!$�
#�
#�s�FG�G	c�:�t�\}}tjdd�}tjddd�}tjddd�}t|jj
�}|j
|f�}|j|jj
gd��|j|jj
|�|j
||f�}|j|jj
gd��|j
d	�}	|j|	|�|j|	j|j�|j|	j|j�|jt|j|�y)
NFr2Tr0r,r8)r-r-r-r5r<)r-r-r-r5ra)rLr!�Filterr�r��_traces�
filter_tracesrf�assertIsNotr��	TypeError)
rgrIrK�filter1�filter2�filter3�original_traces�	snapshot3�	snapshot4�	snapshot5s
          r�test_filter_traceszTestSnapshot.test_filter_traces�sT��.�0���)��$�$�U�F�3���$�$�T�6�1�5���$�$�T�6�1�5���x���6�6�7���*�*�G�:�6�	�����)�)�1�1�4
�	�	
������0�0�/�B��+�+�W�g�,>�?�	�����)�)�1�1�4
�	��*�*�2�.�	�����H�-�����)�)�8�?�?�;�����)�)�8�?�?�;����)�X�%;�%;�W�Er	c��t�\}}tjddd��}tjddd��}t|jj
�}|j
|f�}|j|jj
gd��|j
|f�}|j|jj
gd��y)NFr0r�r�T)r-r-r-r9r<)rLr!r
r�r�rrrf)rgrIrKrrrrs       r�test_filter_traces_domainz&TestSnapshot.test_filter_traces_domain�s���.�0���)��$�$�U�F�1�=���$�$�T�6�!�<���x���6�6�7���*�*�G�:�6�	�����)�)�1�1�4
�	��*�*�G�:�6�	�����)�)�1�1�4
�	r	c�`�t�\}}tjdd��}tjdd��}|j|f�}|j	|j
jgd��|j|f�}|j	|j
jdg�y)NFr4rT)r-r-r-r5r9r<)rLr!�DomainFilterrrfr�r)rgrIrKrrrs      r� test_filter_traces_domain_filterz-TestSnapshot.test_filter_traces_domain_filter�s���.�0���)��*�*�5��;���*�*�4��:���*�*�G�:�6�	�����)�)�1�1�4
�	��*�*�G�:�6�	�����)�)�1�1�*�4
�	r	c��t�\}}tdd�}tdd�}tdd�}tdd�}tdd	�}|jd
�}|j|t	j
|dd�t	j
|dd
�t	j
|dd�t	j
|dd�g�|jd
�}	|j|	t	j
|dd�t	j
|dd�t	j
|dd
�g�|j
|d
�}
|j|
t	j|dddd�t	j|dddd�t	j|dddd�t	j|dddd�t	j|ddd
d�g�y)Nr@rr0r,r8r2rrDrErr:�r4r=�rBrA���r
���)rLrU�
statisticsrfr!�	Statistic�
compare_to�
StatisticDiff)rgrIrK�tb_0�tb_a_2�tb_a_5�tb_b_1�tb_c_578�stats1�stats2r"s           r�test_snapshot_group_by_linez(TestSnapshot.test_snapshot_group_by_line�s���.�0���)���Q�/��!�&�!�,��!�&�!�,��!�&�!�,��#�F�C�0���$�$�X�.�������!�!�&�"�a�0��!�!�&�"�a�0��!�!�$��1�-��!�!�&�!�Q�/�	"
�	��%�%�h�/�������!�!�&�$��2��!�!�(�C��3��!�!�&�"�a�0�"
�	��)�)�(�H�=�
������%�%�f�d�D�!�Q�?��%�%�h��S�!�Q�?��%�%�f�a��a��<��%�%�d�A�r�1�b�9��%�%�f�b�!�Q��:�&
�	r	c
���t�\}}td�}td�}td�}td�}|jd�}|j|t	j
|dd�t	j
|dd	�t	j
|d
d�g�|jd�}|j|t	j
|dd�t	j
|d
d�g�|j
|d�}	|j|	t	j|dddd�t	j|d
d
dd�t	j|dddd�t	j|dddd�g�y)Nr@r0r2rDrQr:r� r3r=i�r8rBrArr r
r!)rLrXr"rfr!r#r$r%)
rgrIrKr&�tb_a�tb_b�tb_cr+r,�diffs
          r�test_snapshot_group_by_filez(TestSnapshot.test_snapshot_group_by_files`��.�0���)�!�+�.��!�&�)��!�&�)��!�&�)���$�$�Z�0�������!�!�$��A�.��!�!�$��A�.��!�!�$��1�-�"
�	��%�%�j�1�������!�!�$��a�0��!�!�$��Q�/�"
�	��#�#�H�j�9�������%�%�d�D�$��1�=��%�%�d�C��a��;��%�%�d�A�s�A�r�:��%�%�d�A�r�1�b�9�	 
�	r	c���t�\}}tdd�}tdd�}td�}td�}|jd�}|j|t	j
|dd�t	j
|d	d
�t	j
|dd�t	j
|dd�g�td
�}|jd�}	|j|	t	j
|dd�t	j
|dd�t	j
|d	d
�g�|j
|d�}
|j|
t	j|dddd�t	j|dddd�t	j|dddd�t	j|dddd�t	j|d	dd
d�g�|jt|jdd��y)Nr/r1r7r;r?rSr:rrr4r=r,rCrrBrArr r
r!T)�
cumulative)
rLrSr"rfr!r#r$r%r�r�)rgrIrK�tb1�tb2�tb3�tb4r+�tb5r,r3s           r� test_snapshot_group_by_tracebackz-TestSnapshot.test_snapshot_group_by_traceback*s���.�0���)���[�1����[�1����$���(�)���$�$�[�1�������!�!�#�r�1�-��!�!�#�r�1�-��!�!�#�q�!�,��!�!�#�q�!�,�	"
�	��
�&���%�%�k�2�������!�!�#�t�Q�/��!�!�#�s�A�.��!�!�#�r�1�-�"
�	��#�#�H�k�:�������%�%�c�4��q�!�<��%�%�c�3��Q��:��%�%�c�1�c�1�b�9��%�%�c�1�b�!�R�8��%�%�c�2�q�!�Q�7� 
�	�	
���*�"�-�-�{�t�	�	Mr	c��t�\}}td�}td�}td�}tdd�}tdd�}tdd�}tdd�}	|jdd	�}
|j	|
tj|d
d�tj|dd�tj|dd�g�|jd
d	�}
|j	|
tj|dd�tj|	dd�tj|dd�tj|dd�tj|dd�g�y)Nr@r0r2r,r8rr3rQT�br/r=rr:rr4)rLrXrUr"rfr!r#)rgrIrKr&r0r1r'r(r)�tb_b_4�statss           r�!test_snapshot_group_by_cumulativez.TestSnapshot.test_snapshot_group_by_cumulativePs?��.�0���)�!�+�.��!�&�)��!�&�)��!�&�!�,��!�&�!�,��!�&�!�,��!�&�!�,���#�#�J��5�������!�!�$��A�.��!�!�$��A�.��!�!�$��1�-�!
�	��#�#�H�d�3�������!�!�&�"�a�0��!�!�&�"�a�0��!�!�&�"�a�0��!�!�$��1�-��!�!�&�!�Q�/�!
�	r	c��t�\}}|jd}|jt|�d�|j}|jt|�d�|d}|jt|�d�y)Nrzb.py:4: 10 Bzb.py:4)rLr�rfrerS)rgrIrKr�rSrs      r�test_trace_formatzTestSnapshot.test_trace_formatlsk��.�0���)�����"������U��^�4��O�O�	�����Y���2��!�������U��X�.r	c��t�\}}|jd�}|d}|jt|�d�y)Nrrz(b.py:1: size=66 B, count=1, average=66 B)rLr"rfre�rgrIrKr@�stats     r�test_statistic_formatz"TestSnapshot.test_statistic_formatus@��.�0���)��#�#�H�-���Q�x������T��C�	Er	c��t�\}}|j|d�}|d}|jt|�d�y)Nrrz;a.py:5: size=5002 B (+5000 B), count=2 (+1), average=2501 B)rLr$rfrerEs     r�test_statistic_diff_formatz'TestSnapshot.test_statistic_diff_format|sB��.�0���)��$�$�X�x�8���Q�x������T��V�	Xr	c��t�\}}|j|jdd|jd|jdf�|jdj}|j|dd|d|df�y)Nr,rr)rLrfr�rS)rgrIrKrSs    r�test_sliceszTestSnapshot.test_slices�s���.�0���)��������!�,�"�/�/�!�,�h�o�o�a�.@�A�	C��O�O�A�&�0�0�	�����2�A��#�A�,�	�!��5�	7r	c�r�t�\}}d�}tjjd|��5|jdj
}|j
|j�gd��|j
|jd��dd	g�|j
|jd
��ddg�|j
|jd
��gd��|j
|jdd
��dd	g�|j
|jd
d
��ddg�ddd�y#1swYyxYw)Nc��d|�d|�d�S)Nz  <z, rdrarPs  r�getlinez3TestSnapshot.test_format_traceback.<locals>.getline�s
��#+�V�4�4r	ztracemalloc.linecache.getline)�side_effectr)�  File "b.py", line 4�
    <b.py, 4>�  File "a.py", line 2�
    <a.py, 2>r)�limitrRrSr
rPrQT)�most_recent_first)rRrSrPrQ)rTrU)rL�unittest�mockrr�rSrf�format)rgrIrKrN�tbs     r�test_format_tracebackz"TestSnapshot.test_format_traceback�s6��.�0���)�	5�
�]�]�
 �
 �!@�-4�!�6�����#�-�-�B����R�Y�Y�[�/�
0�
���R�Y�Y�Q�Y�/�5�-�/�
0�
���R�Y�Y�R�Y�0�5�-�/�
0�
���R�Y�Y��Y�>�/�
0�
���R�Y�Y�Q�$�Y�G�5�-�/�
0�
���R�Y�Y�R�4�Y�H�5�-�/�
0�76�6�6�s�C2D-�-D6N)rjrkrl�maxDiffrrrrr-r4r<rArCrGrIrKrZrar	rrrzsO���G�;�*$F�L�6�*!�F�>$M�L�8/�E�X�7�!0r	rc�.�eZdZdZd�Zd�Zd�Zd�Zd�Zy)�TestFiltersr�c�j�tjdd�}|j|jd�|j|jd�|j|j�|j|jd�tjdddd�}|j|jd�|j|jd�|j|jd�|j|jd�tjdddd��}|j|jd�|j|jd�|j|jd�|j|jd�|jtt|dd�y)NT�abcFztest.pyr|)�	inclusive�filename_patternr�
all_framesra)r!r
rfr`rar�rrbr��AttributeError�setattr�rgr�s  r�test_filter_attributesz"TestFilters.test_filter_attributes�sS�����t�U�+��������d�+�����+�+�U�3����!�(�(�#�������u�-�
���u�i��d�;��������e�,�����+�+�Y�7�������3�'�������t�,�
�����SV�cg�h��������e�,�����+�+�Y�7�������3�'�������t�,�	
���.�'�1�6H�%�Pr	c�\
�tjdd�}|j|jdd��|j|jdd��|j|jdd��|j	|jdd��|j	|jdd��|j	|jdd��tjdd�}|j	|jdd��|j	|jdd��|j	|jdd��|j|jdd��|j|jdd��|j|jdd��tjddd�}|j	|jdd��|j|jdd��|j	|jdd��|j	|jdd��|j	|jdd��|j	|jdd��tjddd�}|j|jdd��|j	|jdd��|j|jdd��|j|jdd��|j|jdd��|j|jdd��tjddd�}|j|jdd��|j	|jdd��|j	|jdd��|j	|jdd��|j	|jdd��|j	|jdd��tjddd�}|j	|jdd��|j|jdd��|j|jdd��|j|jdd��|j|jdd��|j|jdd��y)NTr_rr8r.�12356F)r!r
r��_match_framer�res  r�test_filter_matchzTestFilters.test_filter_match�s������t�U�+��������u�a�0�1�������u�a�0�1�������u�b�1�2���������3�4���������3�4���������4�5����u�e�,���������q�1�2��������q�1�2��������r�2�3�������w��2�3�������w��2�3�������w��3�4�
���t�U�A�.���������q�1�2�������u�a�0�1��������r�2�3���������3�4���������3�4���������4�5����u�e�Q�/��������u�a�0�1��������q�1�2�������u�b�1�2�������w��2�3�������w��2�3�������w��3�4�
���t�U�A�.��������u�a�0�1��������q�1�2��������r�2�3���������3�4���������3�4���������4�5����u�e�Q�/���������q�1�2�������u�a�0�1�������u�b�1�2�������w��2�3�������w��2�3�������w��3�4r	c�6�d�}|j|ddd��|j|ddd��|j|ddd��|j|ddd��|j|ddd��|j|ddd��y)Nc�R�tj||�}|j|d�SrW�r!r
ri)r`rQ�patternr�s    r�fnmatchz7TestFilters.test_filter_match_filename.<locals>.fnmatchs%���"�"�9�g�6�A��>�>�(�A�.�.r	Tr_rhr@F)r�r��rgros  r�test_filter_match_filenamez&TestFilters.test_filter_match_filenames���	/�	
�����e�U�3�4������w��6�7������{�E�:�;�������u�5�6������w��6�7������{�E�:�;r	c�z�d�}|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd	��|j|dd
��|j|dd��|j|dd
��|j|dd��|j|dd
��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��|j|dd��tjdk(ra|j|dd��|j|dd��|j|dd��|j|dd��n`|j|dd��|j|dd��|j|dd��|j|dd��tjdk(ra|j|dd ��|j|d d��|j|d!d"��|j|d#d$��n`|j|dd ��|j|d d��|j|d!d"��|j|d#d$��|j|d%d��y)&Nc�R�tjd|�}|j|d�S)NTrrm)rQrn�filters   rroz=TestFilters.test_filter_match_filename_joker.<locals>.fnmatchs'�� �'�'��g�6�F��&�&�x��3�3r	r_��*�abcd�defza*zabc*zb*zabcd*za*c�abcdcxza*cx�abb�abcdce�abcdeza*c*e�	abcbdefegza*bd*eg�abcdd�	abcbdefefza.pycr0�nt�aBC�ABc�aBcDezAb*dEza.PYza.PYCza/bza\bza/b\cza\b/cza/b/cza\b\cza.pyo)r�r�r��namerps  r� test_filter_match_filename_jokerz,TestFilters.test_filter_match_filename_joker
s&��	4�
	
������+�,������U�+�,������B��(������C�(�)�	
�����u�-�.�������/�0�������.�/�	
�����t�,�-������v�.�/�������-�.�������0�1�	
�����u�-�.������&�1�2�������.�/������6�2�3�	
������1�2������Y�7�8������'�2�3������i�8�9�	
������0�1�������0�1�
�7�7�d�?��O�O�G�E�5�1�2��O�O�G�G�W�5�6��O�O�G�G�V�4�5��O�O�G�F�G�4�5�
���W�U�E�2�3����W�W�g�6�7����W�W�f�5�6����W�V�W�5�6�
�7�7�d�?��O�O�G�F�F�3�4��O�O�G�F�F�3�4��O�O�G�H�h�7�8��O�O�G�H�h�7�8�
���W�V�V�4�5����W�V�V�4�5����W�X�x�8�9����W�X�x�8�9�	
�����&�1�2r	c�d�d}d}d}d}tjddd��}|j|j|��|j|j|��|j	|j|��|j	|j|��tjddd��}|j	|j|��|j|j|��|j	|j|��|j	|j|��tjddd��}|j	|j|��|j	|j|��|j|j|��|j|j|��tjddd��}|j|j|��|j	|j|��|j|j|��|j|j|��tjdd	d��}|j|j|��|j|j|��|j|j|��|j	|j|��tjdd	d��}|j	|j|��|j	|j|��|j|j|��|j|j|��tjdd	d��}|j|j|��|j|j|��|j	|j|��|j	|j|��y)
N)r/)r2r4)r1)r2r8))rDr8r?r>Tr2)rbFr@)r!r
r��_match_tracebackr�)rg�t1�t2�t3�unknownr�s      r�test_filter_match_tracez#TestFilters.test_filter_match_traceRs@��
'��
'��
,��%�����t�V��=������*�*�2�.�/�����*�*�2�.�/�����+�+�B�/�0�����+�+�G�4�5����t�V��>������+�+�B�/�0�����*�*�2�.�/�����+�+�B�/�0�����+�+�G�4�5����u�f��>������+�+�B�/�0�����+�+�B�/�0�����*�*�2�.�/�����*�*�7�3�4����u�f��?������*�*�2�.�/�����+�+�B�/�0�����*�*�2�.�/�����*�*�7�3�4����u�k�e�D������*�*�2�.�/�����*�*�2�.�/�����*�*�2�.�/�����+�+�G�4�5����t�[�T�B������+�+�B�/�0�����+�+�B�/�0�����*�*�2�.�/�����*�*�7�3�4����u�k�d�C������*�*�2�.�/�����*�*�2�.�/�����+�+�B�/�0�����+�+�G�4�5r	N)	rjrkrlr[rfrjrqr�r�rar	rr]r]�s$���G�Q�225�h<�C3�J.6r	r]c��eZdZd�Zej
e�d�d��Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zej
edud
�d��Zy)�TestCommandLinec�l�d}td|�\}}}|j�}|j|d�y)N�3import tracemalloc; print(tracemalloc.is_tracing())�-c�False�r�rstriprf�rgr�ok�stdout�stderrs     r� test_env_var_disabled_by_defaultz0TestCommandLine.test_env_var_disabled_by_default�s5��D��-�d�D�9���F�F�����������*r	z6Cannot run -E tests when PYTHON env vars are required.c�r�d}tdd|d��\}}}|j�}|j|d�y)zAPYTHON* environment variables must be ignored when -E is present.r�z-Er��1��PYTHONTRACEMALLOCr�Nr�r�s     r�test_env_var_ignored_with_Ez+TestCommandLine.test_env_var_ignored_with_E�s=��E��-�d�D�$�RU�V���F�F�����������*r	c�p�d}td|d��\}}}|j�}|j|d�y)Nr�r��0r�r�r�r�s     r�test_env_var_disabledz%TestCommandLine.test_env_var_disabled�s7��D��-�d�D�C�P���F�F�����������*r	c�p�d}td|d��\}}}|j�}|j|d�y)Nr�r�r�r�sTruer�r�s     r�test_env_var_enabled_at_startupz/TestCommandLine.test_env_var_enabled_at_startup�s7��D��-�d�D�C�P���F�F�����������)r	c�p�d}td|d��\}}}|j�}|j|d�y)N�<import tracemalloc; print(tracemalloc.get_traceback_limit())r��10r�s10r�r�s     r�test_env_limitzTestCommandLine.test_env_limit�s7��M��-�d�D�D�Q���F�F�����������'r	c���tj�5tddt|���\}}}ddd�dvryd|vry|j	d|���y#1swY�(xYw)Nr��passr��1ValueError: the number of frames must be in ranges+PYTHONTRACEMALLOC: invalid number of frames�unexpected output: )r�SuppressCrashReportrrer�)rgrr�r�r�s     r�check_env_var_invalidz%TestCommandLine.check_env_var_invalid�sf��
�
(�
(�
*�!6��f�"%�f�+�"/��B���+�
@�6�I��9�V�C���	�	�'��z�2�3�+�
*�s�A�A!c��tD].}|j|��5|j|�ddd��0y#1swY�;xYw�N�r)�INVALID_NFRAME�subTestr��rgrs  r�test_env_var_invalidz$TestCommandLine.test_env_var_invalid�s7��$�F����V��,��*�*�6�2�-�,�%�,�,��	�9�A	c��dD]o\}}|j||��5d}td|d|�\}}}|j�}|j|t	|�jd��ddd��qy#1swY�|xYw)N))r!r)z
tracemalloc=1r)ztracemalloc=15�)�xoptionsrr��-Xr��ascii)r�rr�rfre�encode)rgr�rrr�r�r�s       r�test_sys_xoptionsz!TestCommandLine.test_sys_xoptions�s~��!
��H�f�
���x���?�U��%5�d�H�d�D�%Q�"��F�F������� � ���V��);�);�G�)D�E�	@�?�!
�
@�?�s�AA6�6A?	c��dd|zddf}tj�5t|�\}}}ddd�dvryd|vry|jd|���y#1swY�(xYw)Nr�ztracemalloc=%sr�r�r�s/-X tracemalloc=NFRAME: invalid number of framesr�)rr�rr�)rgrr_r�r�r�s      r�check_sys_xoptions_invalidz*TestCommandLine.check_sys_xoptions_invalid�sn���&��/��v�>��
�
(�
(�
*�!6��!=��B���+�@�6�I��=��G���	�	�'��z�2�3�+�
*�s�
A�Ac��tD].}|j|��5|j|�ddd��0y#1swY�;xYwr�)r�r�r�r�s  r�test_sys_xoptions_invalidz)TestCommandLine.test_sys_xoptions_invalid�s7��$�F����V��,��/�/��7�-�,�%�,�,�r�N�need _testcapic�$�d}tddd|�y)Nz2import _testcapi; _testcapi.test_pymem_alloc0(); 1r�r!r�)r)rgrs  r�test_pymem_alloc0z!TestCommandLine.test_pymem_alloc0�s��D����}�d�D�9r	)rjrkrlr�rV�skipIfrr�r�r�r�r�r�r�r�r��	_testcapir�rar	rr�r��s���+��X�_�_�5�7�M�O�+�O�+�+�*�(�
4�3�

F�	4�8�
�X�_�_�Y�$�&�(8�9�:�:�:r	r�r�c�`�eZdZdZd�Zd�Zd�Zdd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zy)�TestCAPIi@c���tj�r|jd�d|_d|_t|j�d|_t|j�|_y)Nrpr8r|r)	r!rqrrr�r'r*r��id�ptrrts rruzTestCAPI.setUp�sO���!�!�#��M�M�G�H������	�!�$�)�)�,�Q�/����d�h�h�<��r	c�,�tj�yrNrwrts rryzTestCAPI.tearDown�rzr	c��tj|j|j�}|�t	j
|�SyrN)r��tracemalloc_get_tracebackr�r�r!r$)rgrs  r�
get_tracebackzTestCAPI.get_traceback�s6���4�4�T�[�[�$�(�(�K�����(�(��0�0�r	c��t|d�}tj|j|j|j
|�|S)Nr)rr��tracemalloc_trackr�r�r')rg�release_gilrrs    r�trackzTestCAPI.track�s6���F�A�&���#�#�D�K�K����4�9�9�$/�	1��
r	c�X�tj|j|j�yrN)r��tracemalloc_untrackr�r�rts r�untrackzTestCAPI.untrack�s���%�%�d�k�k�4�8�8�<r	c���tj�}tjd|j�}|j	|g�}td�|jD��S)NTc3�4K�|]}|j���y�wrNr�)�.0r�s  r�	<genexpr>z-TestCAPI.get_traced_memory.<locals>.<genexpr>s����;�?�%�5�:�:�?�s�)r!r�rr�rr�r�)rgrI�
domain_filters   rr�zTestCAPI.get_traced_memorysM���,�,�.��#�0�0��t�{�{�C�
��)�)�=�/�:���;�8�?�?�;�;�;r	c�>�d}tj|�tj�d}|j||�}|j	|j�tj|��|j	|j�|j�y)Nr8r)r!rsr�r�rfr�r$r')rgr�rr'rs     r�check_trackzTestCAPI.check_track	s~�������&�!��,�,�.�q�1�����K��0������+�+�-�$�.�.�v�6�	8�	
����/�/�1�4�9�9�=r	c�&�|jd�y)NF�r�rts r�
test_trackzTestCAPI.test_tracks������r	c�&�|jd�y)NTr�rts r�test_track_without_gilzTestCAPI.test_track_without_gils��	
����r	c���d}tj|�|j�|j|��}|j|j	�tj
|��y)Nr8r�)r!rsr�rfr�r$)rgrrs   r�test_track_already_trackedz#TestCAPI.test_track_already_trackedsY�������&�!�	
�
�
�����6��*������+�+�-�$�.�.�v�6�	8r	c��tj�|j�|j|j	��|j|j
�|j�|j�|j|j	��|j|j
�d�|j�|j�yrW)
r!rsr�r�r�rfr�r'r�r�rts r�test_untrackzTestCAPI.test_untrack*s��������
�
�����T�/�/�1�2�����/�/�1�4�9�9�=�	
�������$�,�,�.�/�����/�/�1�1�5�	
�������r	c��tj�tj�|jt�5|j�ddd�|j
|j��y#1swY�)xYwrN)r!rsrxr�r�r�r�r�rts r�test_stop_trackzTestCAPI.test_stop_track:sV����������
�
�
�|�
,��J�J�L�-����$�,�,�.�/�-�
,�s�A7�7Bc���tj�|j�tj�|j	t
�5|j
�ddd�y#1swYyxYwrN)r!rsr�rxr�r�r�rts r�test_stop_untrackzTestCAPI.test_stop_untrackBsF�������
�
������
�
�
�|�
,��L�L�N�-�
,�
,�s�A(�(A1N)Fr)rjrkrlr[ruryr�r�r�r�r�r�r�r�r�r�r�rar	rr�r��sH���G�
 ����=�<�
>� ��
8�� 0�r	r��__main__)%rr�r
r!rV�
unittest.mockr�test.support.script_helperrrr�testr�test.supportrr��ImportError�	getsizeofr#r�rr*rLrrSrUrX�TestCaserZrnrr]r�r�r�rj�mainrar	r�<module>r�sA���	�
����J�J��"���
"�C�M�M�#�&�����I�!�B2�)�)�)�J�H�%�%�J�&LE�X�.�.�LE�^s0�8�$�$�s0�l	P6�(�#�#�P6�fY:�h�'�'�Y:�x�����d�"�$4�5�h�x� � �h�6�h�V�z���H�M�M�O���{!���I��s�D
�
D�D

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