%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/test/libregrtest/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/test/libregrtest/__pycache__/refleak.cpython-38.pyc

U

oa @sddlZddlZddlZddlZddlmZddlmZzddlm	Z	Wn$e
k
rlddlZddZ	YnXddZd	d
Z
ddZd
dZdS)N)
isabstract)support)	_get_dumpcCs&tdd|jD}||j|j|jfS)Ncss|]}t|VqdSN)weakrefref).0objr
4/usr/local/lib/python3.8/test/libregrtest/refleak.py	<genexpr>sz_get_dump.<locals>.<genexpr>)set
_abc_registry
_abc_cache_abc_negative_cache_abc_negative_cache_version)clsZregistry_weakrefsr
r
rrs
rc'
sddl}ddlttds"tdttjdd}|j	}tj
	}zddl}Wntk
rnd}YnX|j
	}i}	fddjjDD]2}
t|
sq|
|
gD]}t|d|	|<qqddtd	d
Dfdd}|j\}
}}tjtj|}|
|}tt|}dg|}dg|}dg|}tj}tj}tj}d}}}|jstd
|dtj dtd|ddd|tj ddt!|||||	|D]}|t!|||||	|}|}|}|jstddtj dd|||||<|||||<|||||<|}|}|}q|js@ttj ddd}dd} d}!|d|f|d|f|d| ffD]t\}"}#}$|"|
d}"|$|"rpd ||"|#t"|"f}%t|%tj ddt#|d!}&t|%|&d|&$W5QRXd}!qp|!S)"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 Pythoncsg|]}tj|qSr
getattrabcracollectionsr
r
<listcomp>1szdash_R.<locals>.<listcomp>cSsi|]
}||qSr
r
)rvaluer
r
r
<dictcomp>;szdash_R.<locals>.<dictcomp>iics||Sr)
setdefault)r)int_poolr
rget_pooled_int<szdash_R.<locals>.get_pooled_intZ	beginningZrepetitions)fileZ
1234567890
T)r!flush.)endr!r$cSstdd|DS)Ncss|]}|dkVqdS)r#Nr
)rZdeltar
r
rr|sz2dash_R.<locals>.check_rc_deltas.<locals>.<genexpr>)alldeltasr
r
rcheck_rc_deltasos
zdash_R.<locals>.check_rc_deltascSst|Sr)anyr)r
r
rcheck_fd_deltas~szdash_R.<locals>.check_fd_deltasFZ
referencesz
memory blockszfile descriptorsz%s leaked %s %s, sum=%sr)%copyregcollections.abchasattrsys	Exceptionwarm_cacheswarningsfiltersdispatch_tablecopypath_importer_cache	zipimportImportError_zip_directory_cacher__all__r__subclasses__rrangeZ
huntrleaksospathjoinrZSAVEDCWDlistgetallocatedblocksrfd_countquietprintstderrdash_R_cleanupsumopenr$)'nsZ	test_nameZ	test_funcr.fspspicr9zdcabcsrr	r ZnwarmupZntrackedZfnameZrepcountZ	rep_rangeZ	rc_deltasZalloc_deltasZ	fd_deltasrCrrDZ	rc_beforeZalloc_beforeZ	fd_beforeiZalloc_afterZrc_afterZfd_afterr+r-Zfailedr*Z	item_nameZcheckermsgZrefrepr
)rrrdash_Rs








rScsddl}ddl|tjdd<|j|j|tjtj|zddl	}Wnt
k
rjYnX|j|j|tfddj
jD}tt|}|D]J}||gD]6}	||	tD]}
|
dk	r|	|
q|	qqtdS)Nrcsg|]}tj|qSr
rrrr
rrsz"dash_R_cleanup.<locals>.<listcomp>)r.r/r4r5r6clearupdater1r8r9r:r;_clear_type_cacherr<filterrr=getr
register_abc_caches_clearclear_caches)rLrMrNrOrPr.r9Zabs_classesrr	rr
rrrHs.




rHcCs^tjD]}t|dr
|`q
tjtjtjtjfD]}|dk	r2|	q2ztjd}Wnt
k
rjYnX|jt
ztjd}Wnt
k
rYnX|jztjd}Wnt
k
rYn
X|ztjd}Wnt
k
rYn
X|ztjd}Wnt
k
r(Yn
X|ztjd}Wnt
k
rVYn
X|ztjd}Wnt
k
rYnX|jztjd	}	Wnt
k
rYn
X|	ztjd
}
Wnt
k
rYnXd|
_ztjd}Wnt
k
rYn
X|ztjd}Wnt
k
r<YnX|jD]}
|
qDtdS)
N__warningregistry__zdistutils.dir_util	_strptimezurllib.parsezurllib.request	linecache	mimetypesfilecmpstructdoctestctypestyping)r1modulesvaluesr0r\stdoutrG
__stdout__
__stderr__r$KeyErrorZ
_path_createdrTrepurgeZ_regex_cacheZclear_cache
urlcleanup
clearcacheZ_default_mime_types_cache_clearcacheZmasterZ_reset_cacheZ	_cleanupsr
gc_collect)modstreamZdistutils_dir_utilr]Zurllib_parseZurllib_requestr^r_r`rarbrcrdfr
r
rr[s






r[cCsNttd}tdD]}|||dqddtdDttdddS)Nr#cSsg|]}t|qSr
)chr)rrQr
r
rrszwarm_caches.<locals>.<listcomp>i)bytesr>rB)srQr
r
rr3s
r3)r?rkr1r4inspectrtestr_abcrr:rrSrHr[r3r
r
r
r<module>s"`

Zerion Mini Shell 1.0