diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-03-14 16:40:09 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-03-14 16:40:09 (GMT) |
commit | b3adb1adebc8090e8b838a7b921a4efef1adcf4c (patch) | |
tree | 74f49b87eae002dad5a8a533d5b9eb65939fa3d7 /Lib | |
parent | a1bc28a91de9bfe88fc16cab400cd50dd1a27467 (diff) | |
download | cpython-b3adb1adebc8090e8b838a7b921a4efef1adcf4c.zip cpython-b3adb1adebc8090e8b838a7b921a4efef1adcf4c.tar.gz cpython-b3adb1adebc8090e8b838a7b921a4efef1adcf4c.tar.bz2 |
Issue #26516: Fix test_capi on 32-bit system
On 32-bit system, only 4 bytes after dumped for the tail.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_capi.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index 6a066f1..5761686 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -4,6 +4,7 @@ import os import pickle import random +import re import subprocess import sys import sysconfig @@ -572,30 +573,27 @@ class MallocTests(unittest.TestCase): out = self.check('import _testcapi; _testcapi.pymem_buffer_overflow()') regex = (r"Debug memory block at address p={ptr}: API 'm'\n" r" 16 bytes originally requested\n" - r" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n" - r" The 8 pad bytes at tail={ptr} are not all FORBIDDENBYTE \(0x[0-9a-f]{{2}}\):\n" + r" The [0-9] pad bytes at p-[0-9] are FORBIDDENBYTE, as expected.\n" + r" The [0-9] pad bytes at tail={ptr} are not all FORBIDDENBYTE \(0x[0-9a-f]{{2}}\):\n" r" at tail\+0: 0x78 \*\*\* OUCH\n" r" at tail\+1: 0xfb\n" r" at tail\+2: 0xfb\n" - r" at tail\+3: 0xfb\n" - r" at tail\+4: 0xfb\n" - r" at tail\+5: 0xfb\n" - r" at tail\+6: 0xfb\n" - r" at tail\+7: 0xfb\n" + r" .*\n" r" The block was made by call #[0-9]+ to debug malloc/realloc.\n" - r" Data at p: cb cb cb cb cb cb cb cb cb cb cb cb cb cb cb cb\n" + r" Data at p: cb cb cb .*\n" r"Fatal Python error: bad trailing pad byte") regex = regex.format(ptr=self.PTR_REGEX) + regex = re.compile(regex, flags=re.DOTALL) self.assertRegex(out, regex) def test_api_misuse(self): out = self.check('import _testcapi; _testcapi.pymem_api_misuse()') regex = (r"Debug memory block at address p={ptr}: API 'm'\n" r" 16 bytes originally requested\n" - r" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n" - r" The 8 pad bytes at tail={ptr} are FORBIDDENBYTE, as expected.\n" + r" The [0-9] pad bytes at p-[0-9] are FORBIDDENBYTE, as expected.\n" + r" The [0-9] pad bytes at tail={ptr} are FORBIDDENBYTE, as expected.\n" r" The block was made by call #[0-9]+ to debug malloc/realloc.\n" - r" Data at p: .*\n" + r" Data at p: cb cb cb .*\n" r"Fatal Python error: bad ID: Allocated using API 'm', verified using API 'r'\n") regex = regex.format(ptr=self.PTR_REGEX) self.assertRegex(out, regex) |