]> granicus.if.org Git - python/commitdiff
Closes #15632: regrtest.py: fix spurious refleaks due to various caches
authorStefan Krah <skrah@bytereef.org>
Fri, 17 Aug 2012 21:09:48 +0000 (23:09 +0200)
committerStefan Krah <skrah@bytereef.org>
Fri, 17 Aug 2012 21:09:48 +0000 (23:09 +0200)
filling up with random data.

Lib/test/regrtest.py

index c9ef0ff34927400a09ecf0685d05c1da742e767a..e977e42d3cceb1d51aa0748cc3922034e1042db9 100755 (executable)
@@ -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