Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_tracemalloc.cpython-38.pyc
U

>��g���@sFddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
ddlmZzddl
Z
Wnek
rxdZ
YnXe�d�ZdZdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Ze�e
dkd�Gdd�dej��Zd d!�Z e!d"k�rBe �dS)#�N)�patch)�assert_python_ok�assert_python_failure� interpreter_requires_environment)�support�)���i@cCsZg}t�d�}t|�D]:}|j}|j|}|�|j|f�d}|j}|dkrqRqt|�S�N�r)	�sys�	_getframe�range�f_code�f_lineno�append�co_filename�f_back�tuple)�nframeZlineno_delta�frames�frame�index�code�lineno�r�4/opt/cppython/lib/python3.8/test/test_tracemalloc.py�
get_framess

rcCs0t��}|t}t|d�}d|}|t�|�fS)Nr
�x)�tracemalloc�get_traceback_limit�EMPTY_STRING_SIZEr�	Traceback)�sizerZ	bytes_lenr�datarrr�allocate_bytes"s

r$cCsDd}ddddddg}t�||�}ddddddg}t�||�}||fS)	N��r�
)��a.pyr%��b.py��r
r%��r)�r*�r%�B)�r+r
������	<unknown>r)r%r%r.)r%�r.)r,�)��c.py�B)r�Snapshot)�traceback_limit�
raw_traces�snapshotZraw_traces2�	snapshot2rrr�create_snapshots)s$��
rDcCst�||f�S�N)rZ_Frame��filenamerrrrrJsrcGs
t�|�SrE)rr!)rrrr�	tracebackMsrHcCst||f�SrE)rHrFrrr�traceback_linenoPsrIcCs
t|d�S�Nr)rI)rGrrr�traceback_filenameSsrKc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Ze�eed�d �d!d"��Zd#S)$�TestTracemallocEnabledcCs t��r|�d�t�d�dS)N�+tracemalloc must be stopped before the testr
)r�
is_tracing�skipTest�start��selfrrr�setUpXs
zTestTracemallocEnabled.setUpcCst��dSrE�r�stoprQrrr�tearDown^szTestTracemallocEnabled.tearDowncCsRdd�td�D�}t��}|�|d�t��t��}|�|d�|�||�dS)NcSsg|]}td��qS)�{�r$)�.0�countrrr�
<listcomp>bszFTestTracemallocEnabled.test_get_tracemalloc_memory.<locals>.<listcomp>i�r)r
rZget_tracemalloc_memory�assertGreaterEqual�clear_traces�assertLessEqual)rRr#r"�size2rrr�test_get_tracemalloc_memoryasz2TestTracemallocEnabled.test_get_tracemalloc_memorycCs2t��d}t|�\}}t�|�}|�||�dS�N�90)rr]r$�get_object_traceback�assertEqual�rR�obj_size�obj�
obj_tracebackrHrrr�test_get_object_tracebackks

z0TestTracemallocEnabled.test_get_object_tracebackcCs\t��t��g}d}g}t��}t|d�}t�|�}t�|�}|�|�|�	||�dS)N���)
rr]r�
gc_collectrrr!rc�assertIsNotNonerd)rRrgrrrhrHrrr�test_new_referencers



z)TestTracemallocEnabled.test_new_referencecCs�d}t��|�ttjd�t��t�d�t|�\}}t�|�}|�t|�d�|�||�t��t�d�t|�\}}t�|�}|�t|�d�|�||�dS)Nr'rr
)	rrU�assertRaises�
ValueErrorrPr$rcrd�len)rRrf�obj2�obj2_tracebackrHrgrhrrr�test_set_traceback_limit�s



z/TestTracemallocEnabled.test_set_traceback_limitcCs.|D]}|d|jkr|Sq|�d�dS)Nr%ztrace not found)�_frames�fail)rR�tracesrH�tracerrr�
find_trace�s
z!TestTracemallocEnabled.find_tracec	Csxt��d}t|�\}}t��}|�||�}|�|t�|\}}}|�||�|�||j�t�	�|�t��g�dSra)
rr]r$�_get_tracesrxZassertIsInstancerrdrtrU)	rRrfrgrhrvrw�domainr"rHrrr�test_get_traces�s
z&TestTracemallocEnabled.test_get_tracescs�dd���fdd���fdd�}t��t�d�d}||�\}}||�\}}t��}tt|j��|_tt|j��|_|�||�}|�||�}	|\}
}}|	\}
}}|�||�dS)	NcSst|�SrErX�r"rrr�allocate_bytes2�szPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes2cs�|�SrErr|)r}rr�allocate_bytes3�szPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes3cs�|�SrErr|)r~rr�allocate_bytes4�szPTestTracemallocEnabled.test_get_traces_intern_traceback.<locals>.allocate_bytes4r,rW)	rrUrPryr�reversedrtrxZassertIs)rRrrfZobj1Zobj1_tracebackrqrrrvZtrace1Ztrace2Zdomain1Zsize1Z
traceback1Zdomain2r_�
traceback2r)r}r~r� test_get_traces_intern_traceback�s 


z7TestTracemallocEnabled.test_get_traces_intern_tracebackc	Cs�d}d}t��t|�\}}t��\}}|�||�|�||�|�|||�|�|||�d}t��\}}|�||�|�||||�|�||�t��|�t��d�t|�\}}t��\}}|�||�t��|�t��d�dS)N�i)rr)	rr]r$�get_traced_memoryr\r^Z
assertLessrdrU)	rRZ	max_errorrfrgrhr"Z	peak_sizer_Z
peak_size2rrr�test_get_traced_memory�s*z-TestTracemallocEnabled.test_get_traced_memorycCs@td�\}}t�|�}|�|�t��t�|�}|�|�dS)NrW)r$rrcrlr]�assertIsNone)rRrgrhrHr�rrr�test_clear_traces�s


z(TestTracemallocEnabled.test_clear_tracescCs0t��|�t���t��|�t���dSrE)rrU�assertFalserNrP�
assertTruerQrrr�test_is_tracing�sz&TestTracemallocEnabled.test_is_tracingc	Cs�td�\}}t��}|�tj�|�tjtj�tj�	tj�}|�
|j|j�t��|�
t��}t��W5QRX|�
t|j�d�dS)NrWzLthe tracemalloc module must be tracing memory allocations to take a snapshot)r$r�
take_snapshot�dumpr�TESTFN�
addCleanup�unlinkr?�loadrdrvrUrn�RuntimeError�str�	exception)rRrg�sourcerBrC�cmrrr�
test_snapshots�z$TestTracemallocEnabled.test_snapshotcCsJt��}d|_|�tj�|�tjtj�tj�	tj�}|�
|jd�dS)N�new)rr�Z	test_attrr�rr�r�r�r?r�rd)rRrBrCrrr�test_snapshot_save_attrsz.TestTracemallocEnabled.test_snapshot_save_attrcCs6t��sdSd}t|�\}}t�|�}|dkr2dSdS)Nr%rbr5r)rrNr$rcrerrr�
fork_child!s
z!TestTracemallocEnabled.fork_child�forkzneed os.fork()c	Csft��}|s,d}z|��}W5t�|�Xn6t�|d�\}}|�t�|��t�|�}|�|d�dSr	)	�osr��_exitr��waitpidr��	WIFEXITED�WEXITSTATUSrd)rR�pid�exitcodeZpid2�statusrrr�	test_fork.s
z TestTracemallocEnabled.test_forkN)�__name__�
__module__�__qualname__rSrVr`rirmrsrxr{r�r�r�r�r�r�r��unittestZ
skipUnless�hasattrr�r�rrrrrLWs"
$	
rLc@sxeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�TestSnapshoti�c	Cs�dg}t����}|�tjtddd��|�tjtddd��|�tjtd|d��t��}|�|jd�|�t	|j
�d�|j
d	}|�|jd�|�t	|j�d�|�|jd	j
d
�|�|jd	jd�W5QRXdS)N)rr0)r(rNT)Zreturn_valuerr0ryr
rr)r%)�
contextlib�	ExitStack�
enter_contextr�objectrr�rdr@rprvr"rHrGr)rRrA�stackrBrwrrr�test_create_snapshotCs&
���
z!TestSnapshot.test_create_snapshotc
Cs�t�\}}t�dd�}t�ddd�}t�ddd�}t|jj�}|�|f�}|�|jjddddd	g�|�|jj|�|�||f�}|�|jjddddg�|�d
�}	|�|	|�|�|	j|j�|�|	j|j�|�	t
|j|�dS)NFr+Tr)r%r0r&r-r4r)rDr�Filter�listrv�_traces�
filter_tracesrdZassertIsNotrn�	TypeError)
rRrBrC�filter1�filter2Zfilter3�original_traces�	snapshot3Z	snapshot4Z	snapshot5rrr�test_filter_tracesWs4

�	
�
zTestSnapshot.test_filter_tracescCs�t�\}}tjdddd�}tjdddd�}t|jj�}|�|f�}|�|jjdddddg�|�|f�}|�|jjdddddg�dS)	NFr)r
�rzTr&r1r4)rDrr�r�rvr�r�rd)rRrBrCr�r�r�r�rrr�test_filter_traces_domain}s(

�	
�z&TestSnapshot.test_filter_traces_domaincCsnt�\}}tjddd�}tjddd�}|�|f�}|�|jjdddddg�|�|f�}|�|jjdg�dS)	NFr5r�Tr&r-r1r4)rDr�DomainFilterr�rdrvr�)rRrBrCr�r�r�rrr� test_filter_traces_domain_filter�s

�	
�z-TestSnapshot.test_filter_traces_domain_filtercCs(t�\}}tdd�}tdd�}tdd�}tdd�}tdd	�}|�d
�}|�|t�|dd�t�|dd
�t�|dd�t�|dd�g�|�d
�}	|�|	t�|dd�t�|dd�t�|dd
�g�|�|d
�}
|�|
t�|dddd�t�|dddd�t�|dddd�t�|dddd�t�|ddd
d�g�dS)Nr9rr)r%r0r+r
r=r>rr2�r5r6�r;r:���r���)rDrI�
statisticsrdr�	Statistic�
compare_to�
StatisticDiff)rRrBrC�tb_0�tb_a_2�tb_a_5�tb_b_1Ztb_c_578�stats1�stats2r�rrr�test_snapshot_group_by_line�s6






�
��z(TestSnapshot.test_snapshot_group_by_linec

Cs�t�\}}td�}td�}td�}td�}|�d�}|�|t�|dd�t�|dd	�t�|d
d�g�|�d�}|�|t�|dd�t�|d
d�g�|�|d�}	|�|	t�|dddd�t�|d
d
dd�t�|dddd�t�|dddd�g�dS)Nr9r)r+r=rGr2r
� r,r6i�r0r;r:rr�rr�)rDrKr�rdrr�r�r�)
rRrBrCr��tb_a�tb_bZtb_cr�r��diffrrr�test_snapshot_group_by_file�s.

�
��z(TestSnapshot.test_snapshot_group_by_filecCs6t�\}}tdd�}tdd�}td�}td�}|�d�}|�|t�|dd�t�|d	d
�t�|dd�t�|dd�g�td
�}|�d�}	|�|	t�|dd�t�|dd�t�|d	d
�g�|�|d�}
|�|
t�|dddd�t�|dddd�t�|dddd�t�|dddd�t�|d	dd
d�g�|jt	|jddd�dS)Nr(r*r/r3r8rHr2r
r�r5r6r%r<r�r;r:rr�rr�T)Z
cumulative)
rDrHr�rdrr�r�r�rnro)rRrBrCZtb1Ztb2Ztb3Ztb4r�Ztb5r�r�rrr� test_snapshot_group_by_traceback�s@



�
���z-TestSnapshot.test_snapshot_group_by_tracebackcCs�t�\}}td�}td�}td�}tdd�}tdd�}tdd�}tdd�}	|�dd	�}
|�|
t�|d
d�t�|dd�t�|dd�g�|�d
d	�}
|�|
t�|dd�t�|	dd�t�|dd�t�|dd�t�|dd�g�dS)Nr9r)r+r%r0r
r,rGT�br�r6rr2r�r5)rDrKrIr�rdrr�)rRrBrCr�r�r�r�r�r�Ztb_b_4�statsrrr�!test_snapshot_group_by_cumulatives,




��z.TestSnapshot.test_snapshot_group_by_cumulativecCsVt�\}}|jd}|�t|�d�|j}|�t|�d�|d}|�t|�d�dS)Nrzb.py:4: 10 Bzb.py:4)rDrvrdr�rH)rRrBrCrwrHrrrr�test_trace_format1s

zTestSnapshot.test_trace_formatcCs0t�\}}|�d�}|d}|�t|�d�dS)Nrrz(b.py:1: size=66 B, count=1, average=66 B)rDr�rdr��rRrBrCr��statrrr�test_statistic_format:s


�z"TestSnapshot.test_statistic_formatcCs2t�\}}|�|d�}|d}|�t|�d�dS)Nrrz;a.py:5: size=5002 B (+5000 B), count=2 (+1), average=2501 B)rDr�rdr�r�rrr�test_statistic_diff_formatAs

�z'TestSnapshot.test_statistic_diff_formatcCs`t�\}}|�|jdd�|jd|jdf�|jdj}|�|dd�|d|df�dS)Nr%rr
)rDrdrvrH)rRrBrCrHrrr�test_slicesHs
��zTestSnapshot.test_slicesc	Cs�t�\}}dd�}tjjd|d���|jdj}|�|��dddd	g�|�|jd
d�dd	g�|�|jdd�ddg�|�|jd
d�dd	ddg�|�|jd
d
d�dd	g�|�|jdd
d�ddg�W5QRXdS)NcSsd||fS)Nz
  <%s, %s>rrFrrr�getlineSsz3TestSnapshot.test_format_traceback.<locals>.getlineztracemalloc.linecache.getline)Zside_effectrz  File "b.py", line 4z
    <b.py, 4>z  File "a.py", line 2z
    <a.py, 2>r
)�limitrT)�most_recent_first)r�r�)rDr�ZmockrrvrHrd�format)rRrBrCr��tbrrr�test_format_tracebackQsP
�
������������z"TestSnapshot.test_format_tracebackN)r�r�r��maxDiffr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�@s&#&		r�c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�TestFiltersr�cCs�t�dd�}|�|jd�|�|jd�|�|j�|�|jd�t�dddd�}|�|jd�|�|jd�|�|jd�|�|jd�tjddddd�}|�|jd�|�|jd�|�|jd�|�|jd�|�t	t
|dd�dS)NT�abcFztest.pyrW)�	inclusive�filename_patternr�
all_framesr�)rr�rdr�r�r�rr�rn�AttributeError�setattr�rR�frrr�test_filter_attributesxs z"TestFilters.test_filter_attributescCs�t�dd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��t�dd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��t�ddd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��t�ddd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��t�ddd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��t�ddd�}|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��|�|�dd��dS)NTr�rr0r'�12356F)rr�r��_match_framer�r�rrr�test_filter_match�sTzTestFilters.test_filter_matchcCsxdd�}|�|ddd��|�|ddd��|�|ddd��|�|ddd��|�|ddd��|�|ddd��dS)NcSst�||�}|�|d�SrJ�rr�r�)r�rG�patternr�rrr�fnmatch�sz7TestFilters.test_filter_match_filename.<locals>.fnmatchTr�r�r9F)r�r��rRr�rrr�test_filter_match_filename�sz&TestFilters.test_filter_match_filenamecCs�dd�}|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd	��|�|dd
��|�|dd��|�|dd��|�|d
d��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��tjdk�r�|�|dd��|�|dd��|�|dd��|�|dd��n@|�|dd��|�|dd��|�|dd��|�|dd��tjdk�r4|�|d d!��|�|d!d ��|�|d"d#��|�|d$d%��n@|�|d d!��|�|d!d ��|�|d"d#��|�|d$d%��|�|d&d��dS)'NcSst�d|�}|�|d�S)NTrr�)rGr��filterrrrr��sz=TestFilters.test_filter_match_filename_joker.<locals>.fnmatchr���*Zabcd�defza*zabc*zb*zabcd*za*cZabcdcxza*cxZabbZabcdceZabcdeza*c*eZ	abcbdefegza*bd*egZabcddZ	abcbdefefza.pycr)�ntZaBCZABcZaBcDezAb*dEza.PYza.PYCza/bza\bza/b\cza\b/cza/b/cza\b\cza.pyo)r�r�r��namer�rrr� test_filter_match_filename_joker�sRz,TestFilters.test_filter_match_filename_jokercCsDd}d}d}d}tjdddd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdddd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdddd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdddd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdd	dd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdd	dd�}|�|�|��|�|�|��|�|�|��|�|�|��tjdd	dd�}|�|�|��|�|�|��|�|�|��|�|�|��dS)
N)r()r+r5)r*)r+r0))r=r0r8r7Tr+)r�Fr9)rr�r�Z_match_tracebackr�)rR�t1�t2Zt3�unknownr�rrr�test_filter_match_tracesNz#TestFilters.test_filter_match_traceN)	r�r�r�r�r�r�r�r�r�rrrrr�us4
Er�c@s�eZdZdd�Ze�e�d�dd��Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Ze�edkd�dd��ZdS)�TestCommandLinecCs,d}td|�\}}}|��}|�|d�dS)N�3import tracemalloc; print(tracemalloc.is_tracing())�-c�False�r�rstriprd�rRr�ok�stdout�stderrrrr� test_env_var_disabled_by_defaultIsz0TestCommandLine.test_env_var_disabled_by_defaultz6Cannot run -E tests when PYTHON env vars are required.cCs2d}tdd|dd�\}}}|��}|�|d�dS)zAPYTHON* environment variables must be ignored when -E is present.rz-Er�1�ZPYTHONTRACEMALLOCrNrrrrr�test_env_var_ignored_with_EPsz+TestCommandLine.test_env_var_ignored_with_EcCs0d}td|dd�\}}}|��}|�|d�dS)Nrr�0rrrrrrr�test_env_var_disabledYsz%TestCommandLine.test_env_var_disabledcCs0d}td|dd�\}}}|��}|�|d�dS)NrrrrsTruerrrrr�test_env_var_enabled_at_startup`sz/TestCommandLine.test_env_var_enabled_at_startupcCs0d}td|dd�\}}}|��}|�|d�dS)N�<import tracemalloc; print(tracemalloc.get_traceback_limit())rZ10rs10rrrrr�test_env_limitgszTestCommandLine.test_env_limitc	CsXt���tddt|�d�\}}}W5QRXd|kr8dSd|krDdS|�d|���dS)Nr�passr�1ValueError: the number of frames must be in ranges+PYTHONTRACEMALLOC: invalid number of frames�unexpected output: )r�SuppressCrashReportrr�ru)rRrrrr	rrr�check_env_var_invalidns
�z%TestCommandLine.check_env_var_invalidc
Cs0tD]&}|j|d��|�|�W5QRXqdS�N�r)�INVALID_NFRAME�subTestr�rRrrrr�test_env_var_invalid{sz$TestCommandLine.test_env_var_invalidc
CsbdD]X\}}|j||d��<d}td|d|�\}}}|��}|�|t|��d��W5QRXqdS)N))rr
)z
tracemalloc=1r
)ztracemalloc=15�)�xoptionsrr�-Xr�ascii)rrrrdr��encode)rRrrrrrr	rrr�test_sys_xoptions�sz!TestCommandLine.test_sys_xoptionsc	Cs^dd|ddf}t���t|�\}}}W5QRXd|kr>dSd|krJdS|�d|���dS)Nr ztracemalloc=%srrrs/-X tracemalloc=NFRAME: invalid number of framesr)rrrru)rRr�argsrrr	rrr�check_sys_xoptions_invalid�s
z*TestCommandLine.check_sys_xoptions_invalidc
Cs0tD]&}|j|d��|�|�W5QRXqdSr)rrr%rrrr�test_sys_xoptions_invalid�sz)TestCommandLine.test_sys_xoptions_invalidN�need _testcapicCsd}tddd|�dS)Nz2import _testcapi; _testcapi.test_pymem_alloc0(); 1r rr)r)rRrrrr�test_pymem_alloc0�sz!TestCommandLine.test_pymem_alloc0)r�r�r�r
r��skipIfrr
rrrrrr#r%r&�	_testcapir(rrrrrHs�

rr'c@szeZdZdZdd�Zdd�Zdd�Zdd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS) �TestCAPIi@cCs>t��r|�d�d|_d|_t|j�d|_t|j�|_dS)NrMr0rWr)	rrNrOrzr"r$rg�id�ptrrQrrrrS�s
zTestCAPI.setUpcCst��dSrErTrQrrrrV�szTestCAPI.tearDowncCs*t�|j|j�}|dk	r"t�|�SdSdSrE)r*Ztracemalloc_get_tracebackrzr-rr!)rRrrrr�
get_traceback�s
zTestCAPI.get_tracebackFr
cCs$t|d�}t�|j|j|j|�|S)Nr
)rr*Ztracemalloc_trackrzr-r")rR�release_gilrrrrr�track�s

�zTestCAPI.trackcCst�|j|j�dSrE)r*Ztracemalloc_untrackrzr-rQrrr�untrack�szTestCAPI.untrackcCs6t��}t�d|j�}|�|g�}tdd�|jD��S)NTcss|]}|jVqdSrEr|)rYrwrrr�	<genexpr>�sz-TestCAPI.get_traced_memory.<locals>.<genexpr>)rr�r�rzr��sumrv)rRrBZ
domain_filterrrrr��szTestCAPI.get_traced_memorycCsRd}t�|�t��d}|�||�}|�|��t�|��|�|��|j�dS)Nr0r)rrPr�r0rdr.r!r")rRr/rr"rrrr�check_track�s

�zTestCAPI.check_trackcCs|�d�dS)NF�r4rQrrr�
test_track�szTestCAPI.test_trackcCs|�d�dS)NTr5rQrrr�test_track_without_gil�szTestCAPI.test_track_without_gilcCs<d}t�|�|��|j|d�}|�|��t�|��dS)Nr0r)rrPr0rdr.r!)rRrrrrr�test_track_already_tracked�s

�z#TestCAPI.test_track_already_trackedcCsjt��|��|�|���|�|��|j�|��|�	|���|�|��d�|��|��dSrJ)
rrPr0rlr.rdr�r"r1r�rQrrr�test_untrack�szTestCAPI.test_untrackc	Cs@t��t��|�t��|��W5QRX|�|���dSrE)rrPrUrnr�r0r�r.rQrrr�test_stop_track�s
zTestCAPI.test_stop_trackc	Cs:t��|��t��|�t��|��W5QRXdSrE)rrPr0rUrnr�r1rQrrr�test_stop_untracks
zTestCAPI.test_stop_untrackN)Fr
)r�r�r�r�rSrVr.r0r1r�r4r6r7r8r9r:r;rrrrr+�s

r+cCst�ttttt�dSrE)rZrun_unittestrLr�r�rr+rrrr�	test_mains�r<�__main__)"r�r�rrr�Z
unittest.mockrZtest.support.script_helperrrr�testrr*�ImportError�	getsizeofr rrr$rDrrHrIrKZTestCaserLr�r�rr)r+r<r�rrrr�<module>sB


!j7T\k	


F1le Man4ger