Author: Philip Jenvey <pjen...@underboss.org>
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
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to