python (3.11.7)

(root)/
lib/
python3.11/
test/
libregrtest/
__pycache__/
refleak.cpython-311.pyc

eddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
	dd	lmZn#e$r
ddlZd
ZYnwxYwdedefd
ZdZdZdS)N)
isabstract)Any)support)	os_helper)HuntRefleak)clear_caches)	_get_dumpchtd|jD}||j|j|jfS)Nc3>K|]}tj|VdSN)weakrefref).0objs  L/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/libregrtest/refleak.py	<genexpr>z_get_dump.<locals>.<genexpr>s,NNSC 0 0NNNNNN)set
_abc_registry
_abc_cache_abc_negative_cache_abc_negative_cache_version)clsregistry_weakrefss  rr
r
sB NNC<MNNNNN!3>')HJ	Jrhunt_refleakquietc
D)*ddl}ddl)ttdst	dttjdd}|j	}tj
	}	ddl}|j	}	n#t$rd}	YnwxYwi}
)fd)jjDD]E}t!|s||gzD]}t%|d|
|<Fdt'ddD**fd	}
|j}|j}|j}||z}t/t'|}dg|z}dg|z}dg|z}tj}tj}t4j}dx}x}}|sJt9d
|dtjt9d
|dzdzzd|tjdd}t=||||	|
t?j |D]}|}t=||||	|
t?j |}|}|} |st9ddtjd|
||z
||<|
||z
||<|
| |z
||<|}|}| }|st9tjd}!d}"d}#|d|!f|d|!f|d|"ffD]\}$}%}&|$|d}$|&|$r|d|$d|%dtC|$}'t9|'tjdtE|dd 5}(t9|'|(|(#dddn#1swxYwYd}#|#|fS)!zRun a test multiple times, looking for reference leaks.

    Returns:
        False if the test didn't leak references; True if we detected refleaks.
    rNgettotalrefcountz9Tracking reference leaks requires a debug build of Pythonc:g|]}tj|Sgetattrabcracollectionss  r
<listcomp>z#runtest_refleak.<locals>.<listcomp>:s%MMM++MMMrci|]}||Sr!r!)rvalues  r
<dictcomp>z#runtest_refleak.<locals>.<dictcomp>Ds===u===riic0||Sr
)
setdefault)r*int_pools rget_pooled_intz'runtest_refleak.<locals>.get_pooled_intEs""5%000r	beginningrepetitions)file
1234567890
rT)r2flush.)endr2r5c4td|DS)Nc3"K|]
}|dkVdS)rNr!)rdeltas  rrz;runtest_refleak.<locals>.check_rc_deltas.<locals>.<genexpr>s&22%5A:222222r)alldeltass rcheck_rc_deltasz(runtest_refleak.<locals>.check_rc_deltas{s!226222222rc t|Sr
)anyr=s rcheck_fd_deltasz(runtest_refleak.<locals>.check_fd_deltass6{{rF
referencesz
memory blockszfile descriptorsz leaked  z, sum=r&zutf-8)encoding)$copyregcollections.abchasattrsys	Exceptionwarm_cacheswarningsfiltersdispatch_tablecopypath_importer_cache	zipimport_zip_directory_cacheImportErrorr$__all__r__subclasses__r
rangewarmupsrunsfilenamelistgetallocatedblocksrrfd_countprintstderrdash_R_cleanupr
gc_collectsumopenr5)+	test_name	test_funcrrrFfspspicrQzdcabcsr$rr/rWrXrYrepcount	rep_range	rc_deltasalloc_deltas	fd_deltasr[rr\	rc_beforealloc_before	fd_beforeresultsialloc_afterrc_afterfd_afterr?rBfailedr>	item_namecheckermsgrefrepr'r.s+                                         @@rruntest_refleakr|sNNN3*++%$%%	%
MMM
	!!!	B			$	$	&	&B

!
&
&
(
(C4
,1133	
DMMMM[_5LMMM**#	%%''3%/	*	*C!#q)DII	*>=%t*<*<===H11111"GD$H~HU8__%%IhI3>LhI/+!H+,,I,y
k8]DDDD
|Xr\A-.		:				G2r3T***
)++r2sC...)(**##%%8::	<#2CJd;;;;%~h&:;;	!(.|)CDDQ%~h&:;;	!"			
3:
3
3
3F	L/2	8	&8'"	7!76??			666999c&kkk;C#CJd3333hg666
&c''''














FGs$	B''B65B6&NN	N	cHddl}ddl|tjdd<|j|j|tjtj|	ddl	}|j
|j
|n#t$rYnwxYwfdjj
D}tt|}|D]}}||gzD]b}	||	t%D])}
|
|	|
*|	c~t+tjdS)Nrc:g|]}tj|Sr!r"r%s  rr(z"dash_R_cleanup.<locals>.<listcomp>s%PPP17;?A..PPPr)rFrGrLrMrNclearupdaterIrPrQrRrSr$rTfilterrrUgetrregister_abc_caches_clearr	_clear_type_cache)rerfrgrhrirFrQabs_classesr$rrr's           @rr_r_sNNNHQQQ  """!!"%%%!!###""3'''3	&,,...&--c2222	



QPPP8OPPPK[11K$$%%''3%/	$	$CxxSUU++
(
(355$LL'''!!####		$NNNsC
CCcttd}tdD]}|||dzdtdDttdddS)Nrc,g|]}t|Sr!)chr)rrss  rr(zwarm_caches.<locals>.<listcomp>s   SVV   ri)bytesrVrZ)srss  rrKrKss
eCjjA
3ZZ	!AaC%  U3ZZ    r3r)rIrLinspectrtypingrtestrtest.supportrruntestsrutilsr	_abcr
rSrboolr|r_rKr!rr<module>rs8



""""""!!!!!!
JJJJNNNJJJJJJD"-DDDDDN!!!Hs5AA