cpython: 3c3df33f2655 (original) (raw)
Mercurial > cpython
changeset 100527:3c3df33f2655
Issue #26516: Fix test_capi on Windows Pointers are formatted differently. [#26516]
Victor Stinner victor.stinner@gmail.com | |
---|---|
date | Mon, 14 Mar 2016 17:10:36 +0100 |
parents | 8a5a0e223559 |
children | d8d6ec1333e6 |
files | Lib/test/test_capi.py |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-)[+] [-] Lib/test/test_capi.py 12 |
line wrap: on
line diff
--- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -559,6 +559,8 @@ class Test_testcapi(unittest.TestCase): class MallocTests(unittest.TestCase): ENV = 'debug'
def check(self, code): with support.SuppressCrashReport(): @@ -568,10 +570,10 @@ class MallocTests(unittest.TestCase): def test_buffer_overflow(self): out = self.check('import _testcapi; _testcapi.pymem_buffer_overflow()')
regex = (r"Debug memory block at address p=0x[0-9a-f]+: API 'm'\n"[](#l1.16)
regex = (r"Debug memory block at address p={ptr}: API 'm'\n"[](#l1.17) r" 16 bytes originally requested\n"[](#l1.18) r" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n"[](#l1.19)
r" The 8 pad bytes at tail=0x[0-9a-f]+ are not all FORBIDDENBYTE \(0x[0-9a-f]{2}\):\n"[](#l1.20)
r" The 8 pad bytes at tail={ptr} are not all FORBIDDENBYTE \(0x[0-9a-f]{{2}}\):\n"[](#l1.21) r" at tail\+0: 0x78 \*\*\* OUCH\n"[](#l1.22) r" at tail\+1: 0xfb\n"[](#l1.23) r" at tail\+2: 0xfb\n"[](#l1.24)
@@ -583,17 +585,19 @@ class MallocTests(unittest.TestCase): 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"Fatal Python error: bad trailing pad byte")
regex = regex.format(ptr=self.PTR_REGEX)[](#l1.29) self.assertRegex(out, regex)[](#l1.30)
def test_api_misuse(self): out = self.check('import _testcapi; _testcapi.pymem_api_misuse()')
regex = (r"Debug memory block at address p=0x[0-9a-f]+: API 'm'\n"[](#l1.34)
regex = (r"Debug memory block at address p={ptr}: API 'm'\n"[](#l1.35) r" 16 bytes originally requested\n"[](#l1.36) r" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n"[](#l1.37)
r" The 8 pad bytes at tail=0x[0-9a-f]+ are FORBIDDENBYTE, as expected.\n"[](#l1.38)
r" The 8 pad bytes at tail={ptr} are FORBIDDENBYTE, as expected.\n"[](#l1.39) r" The block was made by call #[0-9]+ to debug malloc/realloc.\n"[](#l1.40) r" Data at p: .*\n"[](#l1.41) r"Fatal Python error: bad ID: Allocated using API 'm', verified using API 'r'\n")[](#l1.42)
regex = regex.format(ptr=self.PTR_REGEX)[](#l1.43) self.assertRegex(out, regex)[](#l1.44)