diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-07-22 09:14:52 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-07-22 09:14:52 (GMT) |
commit | 0c937b3ed6d2eeca84fa4aca1a9aef685db65abc (patch) | |
tree | f5691e459361ce03018098bbad26f9472e8340e5 | |
parent | fbc877b7940beaa23fea020b8a137a660eff419e (diff) | |
download | cpython-0c937b3ed6d2eeca84fa4aca1a9aef685db65abc.zip cpython-0c937b3ed6d2eeca84fa4aca1a9aef685db65abc.tar.gz cpython-0c937b3ed6d2eeca84fa4aca1a9aef685db65abc.tar.bz2 |
Issue #22031: Reprs now always use hexadecimal format with the "0x" prefix
when contain an id in form " at 0x...".
-rw-r--r-- | Lib/ctypes/__init__.py | 2 | ||||
-rw-r--r-- | Lib/reprlib.py | 2 | ||||
-rw-r--r-- | Lib/test/test_reprlib.py | 2 | ||||
-rw-r--r-- | Lib/test/test_weakref.py | 8 | ||||
-rw-r--r-- | Lib/test/test_xmlrpc.py | 2 | ||||
-rw-r--r-- | Lib/weakref.py | 4 | ||||
-rw-r--r-- | Lib/xmlrpc/client.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
8 files changed, 19 insertions, 8 deletions
diff --git a/Lib/ctypes/__init__.py b/Lib/ctypes/__init__.py index e34c646..785bd18 100644 --- a/Lib/ctypes/__init__.py +++ b/Lib/ctypes/__init__.py @@ -353,7 +353,7 @@ class CDLL(object): self._handle = handle def __repr__(self): - return "<%s '%s', handle %x at %x>" % \ + return "<%s '%s', handle %x at %#x>" % \ (self.__class__.__name__, self._name, (self._handle & (_sys.maxsize*2 + 1)), id(self) & (_sys.maxsize*2 + 1)) diff --git a/Lib/reprlib.py b/Lib/reprlib.py index f803360..b7fda23 100644 --- a/Lib/reprlib.py +++ b/Lib/reprlib.py @@ -136,7 +136,7 @@ class Repr: # Bugs in x.__repr__() can cause arbitrary # exceptions -- then make up something 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: i = max(0, (self.maxother-3)//2) j = max(0, self.maxother-3-i) diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py index ae67f06..d65494a 100644 --- a/Lib/test/test_reprlib.py +++ b/Lib/test/test_reprlib.py @@ -123,7 +123,7 @@ class ReprTests(unittest.TestCase): eq(r(i2), expected) i3 = ClassWithFailingRepr() - eq(r(i3), ("<ClassWithFailingRepr instance at %x>"%id(i3))) + eq(r(i3), ("<ClassWithFailingRepr instance at %#x>"%id(i3))) s = r(ClassWithFailingRepr) self.assertTrue(s.startswith("<class ")) diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index cccb515..adb923f 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -1536,6 +1536,14 @@ class MappingTestCase(TestBase): self.assertEqual(len(d), 0) 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 class WeakValueDictionaryTestCase(mapping_tests.BasicTestMappingProtocol): diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index 120c54f..c184da3 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -287,7 +287,7 @@ class DateTimeTestCase(unittest.TestCase): def test_repr(self): d = datetime.datetime(2007,1,2,3,4,5) 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) def test_decode(self): diff --git a/Lib/weakref.py b/Lib/weakref.py index f6a40ca..f780e7a 100644 --- a/Lib/weakref.py +++ b/Lib/weakref.py @@ -144,7 +144,7 @@ class WeakValueDictionary(collections.MutableMapping): return o is not None def __repr__(self): - return "<WeakValueDictionary at %s>" % id(self) + return "<WeakValueDictionary at %#x>" % id(self) def __setitem__(self, key, value): if self._pending_removals: @@ -348,7 +348,7 @@ class WeakKeyDictionary(collections.MutableMapping): return len(self.data) - len(self._pending_removals) def __repr__(self): - return "<WeakKeyDictionary at %s>" % id(self) + return "<WeakKeyDictionary at %#x>" % id(self) def __setitem__(self, key, value): self.data[ref(key, self._remove)] = value diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index 567554d..d46f32c 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -354,7 +354,7 @@ class DateTime: return self.value 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): self.value = str(data).strip() @@ -846,7 +846,7 @@ class MultiCall: self.__call_list = [] def __repr__(self): - return "<MultiCall at %x>" % id(self) + return "<MultiCall at %#x>" % id(self) __str__ = __repr__ @@ -108,6 +108,9 @@ Core and Builtins 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 ValueError on ``fstat()`` failure. |