From: Serhiy Storchaka Date: Fri, 10 Jan 2014 11:36:56 +0000 (+0200) Subject: Issue #19886: Use better estimated memory requirements for bigmem tests. X-Git-Tag: v2.7.8~139 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c9da0893d3b49b99e29e95276437d792c6ac0c9a;p=python Issue #19886: Use better estimated memory requirements for bigmem tests. Incorrect requirements can cause memory swapping. --- diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py index e6365c5c5f..dac945c97a 100644 --- a/Lib/test/test_hashlib.py +++ b/Lib/test/test_hashlib.py @@ -207,30 +207,20 @@ class HashLibTestCase(unittest.TestCase): self.check('md5', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', 'd174ab98d277d9f5a5611c2c9f419d9f') - @precisionbigmemtest(size=_4G + 5, memuse=1) + @unittest.skipIf(sys.maxsize < _4G + 5, 'test cannot run on 32-bit systems') + @precisionbigmemtest(size=_4G + 5, memuse=1, dry_run=False) def test_case_md5_huge(self, size): - if size == _4G + 5: - try: - self.check('md5', 'A'*size, 'c9af2dff37468ce5dfee8f2cfc0a9c6d') - except OverflowError: - pass # 32-bit arch + self.check('md5', 'A'*size, 'c9af2dff37468ce5dfee8f2cfc0a9c6d') - @precisionbigmemtest(size=_4G + 5, memuse=1) + @unittest.skipIf(sys.maxsize < _4G + 5, 'test cannot run on 32-bit systems') + @precisionbigmemtest(size=_4G + 5, memuse=1, dry_run=False) def test_case_md5_huge_update(self, size): - if size == _4G + 5: - try: - self.check_update('md5', 'A'*size, - 'c9af2dff37468ce5dfee8f2cfc0a9c6d') - except OverflowError: - pass # 32-bit arch + self.check_update('md5', 'A'*size, 'c9af2dff37468ce5dfee8f2cfc0a9c6d') - @precisionbigmemtest(size=_4G - 1, memuse=1) + @unittest.skipIf(sys.maxsize < _4G - 1, 'test cannot run on 32-bit systems') + @precisionbigmemtest(size=_4G - 1, memuse=1, dry_run=False) def test_case_md5_uintmax(self, size): - if size == _4G - 1: - try: - self.check('md5', 'A'*size, '28138d306ff1b8281f1a9067e1a1a2b3') - except OverflowError: - pass # 32-bit arch + self.check('md5', 'A'*size, '28138d306ff1b8281f1a9067e1a1a2b3') # use the three examples from Federal Information Processing Standards # Publication 180-1, Secure Hash Standard, 1995 April 17 diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py index bbe8eac3e6..f7cd195006 100644 --- a/Lib/test/test_marshal.py +++ b/Lib/test/test_marshal.py @@ -286,7 +286,7 @@ class LargeValuesTestCase(unittest.TestCase): self.check_unmarshallable('x' * size) @test_support.precisionbigmemtest(size=LARGE_SIZE, - memuse=character_size, dry_run=False) + memuse=character_size + 2, dry_run=False) def test_unicode(self, size): self.check_unmarshallable(u'x' * size) diff --git a/Misc/NEWS b/Misc/NEWS index 481e901708..5999b111f7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -161,6 +161,8 @@ IDLE Tests ----- +- Issue #19886: Use better estimated memory requirements for bigmem tests. + - Backported tests for Tkinter variables. - Issue #19320: test_tcl no longer fails when wantobjects is false.