mirror of https://github.com/python/cpython
Closes #15632: regrtest.py: fix spurious refleaks due to various caches
filling up with random data.
This commit is contained in:
parent
6aaa03a901
commit
5c3ddc8066
|
@ -381,9 +381,9 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
huntrleaks[1] = int(huntrleaks[1])
|
||||
if len(huntrleaks) == 2 or not huntrleaks[2]:
|
||||
huntrleaks[2:] = ["reflog.txt"]
|
||||
# Avoid false positives due to the character cache in
|
||||
# stringobject.c filling slowly with random data
|
||||
warm_char_cache()
|
||||
# Avoid false positives due to various caches
|
||||
# filling slowly with random data:
|
||||
warm_caches()
|
||||
elif o in ('-M', '--memlimit'):
|
||||
support.set_memlimit(a)
|
||||
elif o in ('-u', '--use'):
|
||||
|
@ -1430,10 +1430,15 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
|
|||
# Collect cyclic trash.
|
||||
gc.collect()
|
||||
|
||||
def warm_char_cache():
|
||||
def warm_caches():
|
||||
# char cache
|
||||
s = bytes(range(256))
|
||||
for i in range(256):
|
||||
s[i:i+1]
|
||||
# unicode cache
|
||||
x = [chr(i) for i in range(256)]
|
||||
# int cache
|
||||
x = list(range(-5, 257))
|
||||
|
||||
def findtestdir(path=None):
|
||||
return path or os.path.dirname(__file__) or os.curdir
|
||||
|
|
Loading…
Reference in New Issue