Kaydet (Commit) 7ab986dd authored tarafından Victor Stinner's avatar Victor Stinner

Fix test_bytes on Windows

On Windows, sprintf("%p", 0xabcdef) formats hexadecimal in uppercase and pad to
16 characters (on 64-bit system) with zeros.
üst 03dab786
...@@ -782,7 +782,7 @@ class BytesTest(BaseBytesTest, unittest.TestCase): ...@@ -782,7 +782,7 @@ class BytesTest(BaseBytesTest, unittest.TestCase):
# Test PyBytes_FromFormat() # Test PyBytes_FromFormat()
def test_from_format(self): def test_from_format(self):
test.support.import_module('ctypes') ctypes = test.support.import_module('ctypes')
_testcapi = test.support.import_module('_testcapi') _testcapi = test.support.import_module('_testcapi')
from ctypes import pythonapi, py_object from ctypes import pythonapi, py_object
from ctypes import ( from ctypes import (
...@@ -825,9 +825,12 @@ class BytesTest(BaseBytesTest, unittest.TestCase): ...@@ -825,9 +825,12 @@ class BytesTest(BaseBytesTest, unittest.TestCase):
b'i=-123') b'i=-123')
self.assertEqual(PyBytes_FromFormat(b'x=%x', c_int(0xabc)), self.assertEqual(PyBytes_FromFormat(b'x=%x', c_int(0xabc)),
b'x=abc') b'x=abc')
self.assertEqual(PyBytes_FromFormat(b'ptr=%p', ptr = 0xabcdef
c_char_p(0xabcdef)), expected = [b'ptr=%#x' % ptr]
b'ptr=0xabcdef') win_format = 'ptr=0x%0{}X'.format(2 * ctypes.sizeof(c_char_p))
expected.append((win_format % ptr).encode('ascii'))
self.assertIn(PyBytes_FromFormat(b'ptr=%p', c_char_p(ptr)),
expected)
self.assertEqual(PyBytes_FromFormat(b's=%s', c_char_p(b'cstr')), self.assertEqual(PyBytes_FromFormat(b's=%s', c_char_p(b'cstr')),
b's=cstr') b's=cstr')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment