[Python-checkins] cpython: Fix test_bytes on Windows
victor.stinner
python-checkins at python.org
Tue Oct 13 20:55:52 EDT 2015
https://hg.python.org/cpython/rev/60dc5d351304
changeset: 98730:60dc5d351304
user: Victor Stinner <victor.stinner at gmail.com>
date: Wed Oct 14 02:55:12 2015 +0200
summary:
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.
files:
Lib/test/test_bytes.py | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -782,7 +782,7 @@
# Test PyBytes_FromFormat()
def test_from_format(self):
- test.support.import_module('ctypes')
+ ctypes = test.support.import_module('ctypes')
_testcapi = test.support.import_module('_testcapi')
from ctypes import pythonapi, py_object
from ctypes import (
@@ -825,9 +825,12 @@
b'i=-123')
self.assertEqual(PyBytes_FromFormat(b'x=%x', c_int(0xabc)),
b'x=abc')
- self.assertEqual(PyBytes_FromFormat(b'ptr=%p',
- c_char_p(0xabcdef)),
- b'ptr=0xabcdef')
+ ptr = 0xabcdef
+ expected = [b'ptr=%#x' % ptr]
+ 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')),
b's=cstr')
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list