Issue #22031: Reprs now always use hexadecimal format with the "0x" prefix
when contain an id in form " at 0x...".
This commit is contained in:
parent
fbc877b794
commit
0c937b3ed6
|
@ -353,7 +353,7 @@ class CDLL(object):
|
||||||
self._handle = handle
|
self._handle = handle
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<%s '%s', handle %x at %x>" % \
|
return "<%s '%s', handle %x at %#x>" % \
|
||||||
(self.__class__.__name__, self._name,
|
(self.__class__.__name__, self._name,
|
||||||
(self._handle & (_sys.maxsize*2 + 1)),
|
(self._handle & (_sys.maxsize*2 + 1)),
|
||||||
id(self) & (_sys.maxsize*2 + 1))
|
id(self) & (_sys.maxsize*2 + 1))
|
||||||
|
|
|
@ -136,7 +136,7 @@ class Repr:
|
||||||
# Bugs in x.__repr__() can cause arbitrary
|
# Bugs in x.__repr__() can cause arbitrary
|
||||||
# exceptions -- then make up something
|
# exceptions -- then make up something
|
||||||
except Exception:
|
except Exception:
|
||||||
return '<%s instance at %x>' % (x.__class__.__name__, id(x))
|
return '<%s instance at %#x>' % (x.__class__.__name__, id(x))
|
||||||
if len(s) > self.maxother:
|
if len(s) > self.maxother:
|
||||||
i = max(0, (self.maxother-3)//2)
|
i = max(0, (self.maxother-3)//2)
|
||||||
j = max(0, self.maxother-3-i)
|
j = max(0, self.maxother-3-i)
|
||||||
|
|
|
@ -123,7 +123,7 @@ class ReprTests(unittest.TestCase):
|
||||||
eq(r(i2), expected)
|
eq(r(i2), expected)
|
||||||
|
|
||||||
i3 = ClassWithFailingRepr()
|
i3 = ClassWithFailingRepr()
|
||||||
eq(r(i3), ("<ClassWithFailingRepr instance at %x>"%id(i3)))
|
eq(r(i3), ("<ClassWithFailingRepr instance at %#x>"%id(i3)))
|
||||||
|
|
||||||
s = r(ClassWithFailingRepr)
|
s = r(ClassWithFailingRepr)
|
||||||
self.assertTrue(s.startswith("<class "))
|
self.assertTrue(s.startswith("<class "))
|
||||||
|
|
|
@ -1536,6 +1536,14 @@ class MappingTestCase(TestBase):
|
||||||
self.assertEqual(len(d), 0)
|
self.assertEqual(len(d), 0)
|
||||||
self.assertEqual(count, 2)
|
self.assertEqual(count, 2)
|
||||||
|
|
||||||
|
def test_make_weak_valued_dict_repr(self):
|
||||||
|
dict = weakref.WeakValueDictionary()
|
||||||
|
self.assertRegex(repr(dict), '<WeakValueDictionary at 0x.*>')
|
||||||
|
|
||||||
|
def test_make_weak_keyed_dict_repr(self):
|
||||||
|
dict = weakref.WeakKeyDictionary()
|
||||||
|
self.assertRegex(repr(dict), '<WeakKeyDictionary at 0x.*>')
|
||||||
|
|
||||||
from test import mapping_tests
|
from test import mapping_tests
|
||||||
|
|
||||||
class WeakValueDictionaryTestCase(mapping_tests.BasicTestMappingProtocol):
|
class WeakValueDictionaryTestCase(mapping_tests.BasicTestMappingProtocol):
|
||||||
|
|
|
@ -287,7 +287,7 @@ class DateTimeTestCase(unittest.TestCase):
|
||||||
def test_repr(self):
|
def test_repr(self):
|
||||||
d = datetime.datetime(2007,1,2,3,4,5)
|
d = datetime.datetime(2007,1,2,3,4,5)
|
||||||
t = xmlrpclib.DateTime(d)
|
t = xmlrpclib.DateTime(d)
|
||||||
val ="<DateTime '20070102T03:04:05' at %x>" % id(t)
|
val ="<DateTime '20070102T03:04:05' at %#x>" % id(t)
|
||||||
self.assertEqual(repr(t), val)
|
self.assertEqual(repr(t), val)
|
||||||
|
|
||||||
def test_decode(self):
|
def test_decode(self):
|
||||||
|
|
|
@ -144,7 +144,7 @@ class WeakValueDictionary(collections.MutableMapping):
|
||||||
return o is not None
|
return o is not None
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<WeakValueDictionary at %s>" % id(self)
|
return "<WeakValueDictionary at %#x>" % id(self)
|
||||||
|
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
if self._pending_removals:
|
if self._pending_removals:
|
||||||
|
@ -348,7 +348,7 @@ class WeakKeyDictionary(collections.MutableMapping):
|
||||||
return len(self.data) - len(self._pending_removals)
|
return len(self.data) - len(self._pending_removals)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<WeakKeyDictionary at %s>" % id(self)
|
return "<WeakKeyDictionary at %#x>" % id(self)
|
||||||
|
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
self.data[ref(key, self._remove)] = value
|
self.data[ref(key, self._remove)] = value
|
||||||
|
|
|
@ -354,7 +354,7 @@ class DateTime:
|
||||||
return self.value
|
return self.value
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<DateTime %r at %x>" % (self.value, id(self))
|
return "<DateTime %r at %#x>" % (self.value, id(self))
|
||||||
|
|
||||||
def decode(self, data):
|
def decode(self, data):
|
||||||
self.value = str(data).strip()
|
self.value = str(data).strip()
|
||||||
|
@ -846,7 +846,7 @@ class MultiCall:
|
||||||
self.__call_list = []
|
self.__call_list = []
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<MultiCall at %x>" % id(self)
|
return "<MultiCall at %#x>" % id(self)
|
||||||
|
|
||||||
__str__ = __repr__
|
__str__ = __repr__
|
||||||
|
|
||||||
|
|
|
@ -108,6 +108,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #22031: Reprs now always use hexadecimal format with the "0x" prefix
|
||||||
|
when contain an id in form " at 0x...".
|
||||||
|
|
||||||
- Issue #22018: signal.set_wakeup_fd() now raises an OSError instead of a
|
- Issue #22018: signal.set_wakeup_fd() now raises an OSError instead of a
|
||||||
ValueError on ``fstat()`` failure.
|
ValueError on ``fstat()`` failure.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue