Mercurial > cpython-lru_cache-weakref
diff Lib/test/support.py @ 72119:babc90f3cbf4 3.2
Issue #11564: Avoid crashes when trying to pickle huge objects or containers
(more than 2**31 items). Instead, in most cases, an OverflowError is raised.
| author | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| date | Mon, 29 Aug 2011 23:09:33 +0200 |
| parents | 5d7a2bd9a3d1 |
| children | bf39434dd506 56242682a931 |
line wrap: on
line diff
--- a/Lib/test/support.py Sun Aug 28 17:51:43 2011 +0200 +++ b/Lib/test/support.py Mon Aug 29 23:09:33 2011 +0200 @@ -1089,7 +1089,7 @@ return wrapper return decorator -def precisionbigmemtest(size, memuse): +def precisionbigmemtest(size, memuse, dry_run=True): def decorator(f): def wrapper(self): size = wrapper.size @@ -1099,10 +1099,11 @@ else: maxsize = size - if real_max_memuse and real_max_memuse < maxsize * memuse: - raise unittest.SkipTest( - "not enough memory: %.1fG minimum needed" - % (size * memuse / (1024 ** 3))) + if ((real_max_memuse or not dry_run) + and real_max_memuse < maxsize * memuse): + raise unittest.SkipTest( + "not enough memory: %.1fG minimum needed" + % (size * memuse / (1024 ** 3))) return f(self, maxsize) wrapper.size = size
