[pypy-svn] r64092 - in pypy/trunk/pypy: interpreter module/__builtin__/test
iko at codespeak.net
iko at codespeak.net
Wed Apr 15 13:06:48 CEST 2009
Author: iko
Date: Wed Apr 15 13:06:47 2009
New Revision: 64092
Modified:
pypy/trunk/pypy/interpreter/baseobjspace.py
pypy/trunk/pypy/interpreter/buffer.py
pypy/trunk/pypy/module/__builtin__/test/test_buffer.py
Log:
improve buffer repr to approch cpython info, and pass cpython test
Modified: pypy/trunk/pypy/interpreter/baseobjspace.py
==============================================================================
--- pypy/trunk/pypy/interpreter/baseobjspace.py (original)
+++ pypy/trunk/pypy/interpreter/baseobjspace.py Wed Apr 15 13:06:47 2009
@@ -78,7 +78,7 @@
return default
raise
- def getrepr(self, space, info, moreinfo=''):
+ def getaddrstring(self, space):
# XXX slowish
w_id = space.id(self)
w_4 = space.wrap(4)
@@ -95,7 +95,11 @@
if i == 0:
break
w_id = space.rshift(w_id, w_4)
- return space.wrap("<%s at 0x%s%s>" % (info, ''.join(addrstring),
+ return ''.join(addrstring)
+
+ def getrepr(self, space, info, moreinfo=''):
+ addrstring = self.getaddrstring(space)
+ return space.wrap("<%s at 0x%s%s>" % (info, addrstring,
moreinfo))
def getslotvalue(self, index):
Modified: pypy/trunk/pypy/interpreter/buffer.py
==============================================================================
--- pypy/trunk/pypy/interpreter/buffer.py (original)
+++ pypy/trunk/pypy/interpreter/buffer.py Wed Apr 15 13:06:47 2009
@@ -132,7 +132,10 @@
info = 'read-write buffer'
else:
info = 'read-only buffer'
- return self.getrepr(space, info)
+ addrstring = self.getaddrstring(space)
+
+ return space.wrap("<%s for 0x%s, size %d>" %
+ (info, addrstring, self.getlength()))
descr_repr.unwrap_spec = ['self', ObjSpace]
Modified: pypy/trunk/pypy/module/__builtin__/test/test_buffer.py
==============================================================================
--- pypy/trunk/pypy/module/__builtin__/test/test_buffer.py (original)
+++ pypy/trunk/pypy/module/__builtin__/test/test_buffer.py Wed Apr 15 13:06:47 2009
@@ -36,6 +36,10 @@
def test_str(self):
assert str(buffer('hello')) == 'hello'
+ def test_repr(self):
+ # from 2.5.2 lib tests
+ assert repr(buffer('hello')).startswith('<read-only buffer for 0x')
+
def test_add(self):
assert buffer('abc') + 'def' == 'abcdef'
import array
More information about the Pypy-commit
mailing list