From: Stefan Krah Date: Fri, 17 Aug 2012 21:09:48 +0000 (+0200) Subject: Closes #15632: regrtest.py: fix spurious refleaks due to various caches X-Git-Tag: v3.3.0rc1~89 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5c3ddc8066993199a6af25ce9011ae587a60117b;p=python Closes #15632: regrtest.py: fix spurious refleaks due to various caches filling up with random data. --- diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index c9ef0ff349..e977e42d3c 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -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