Author: Philip Jenvey <[email protected]>
Branch: pypy3-release-2.4.x
Changeset: r73968:b987bd35c886
Date: 2014-10-15 11:15 -0700
http://bitbucket.org/pypy/pypy/changeset/b987bd35c886/
Log: issue1891: Struct's format field should be bytes (grafted from
adcf560c634b06ec87915ca9a811daca81c72c7d)
diff --git a/pypy/module/struct/interp_struct.py
b/pypy/module/struct/interp_struct.py
--- a/pypy/module/struct/interp_struct.py
+++ b/pypy/module/struct/interp_struct.py
@@ -6,7 +6,8 @@
from pypy.interpreter.baseobjspace import W_Root
from pypy.interpreter.gateway import interp2app, unwrap_spec
from pypy.interpreter.error import OperationError, oefmt
-from pypy.interpreter.typedef import TypeDef, interp_attrproperty
+from pypy.interpreter.typedef import (
+ TypeDef, interp_attrproperty, interp_attrproperty_bytes)
from pypy.module.struct.formatiterator import (
PackFormatIterator, UnpackFormatIterator
)
@@ -136,7 +137,7 @@
W_Struct.typedef = TypeDef("Struct",
__new__=interp2app(W_Struct.descr__new__.im_func),
- format=interp_attrproperty("format", cls=W_Struct),
+ format=interp_attrproperty_bytes("format", cls=W_Struct),
size=interp_attrproperty("size", cls=W_Struct),
pack=interp2app(W_Struct.descr_pack),
diff --git a/pypy/module/struct/test/test_struct.py
b/pypy/module/struct/test/test_struct.py
--- a/pypy/module/struct/test/test_struct.py
+++ b/pypy/module/struct/test/test_struct.py
@@ -405,6 +405,10 @@
assert s.unpack(s.pack(42)) == (42,)
assert s.unpack_from(memoryview(s.pack(42))) == (42,)
+ def test_struct_object_attrib(self):
+ s = self.struct.Struct('i')
+ assert s.format == b'i'
+
def test_trailing_counter(self):
import array
store = array.array('b', b' '*100)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit