def test_dumps_alignment():
class Person(Struct):
pass
buf = b('\x20\x00\x00\x00\x00\x00\x00\x00' # age=32
'\x01\x00\x00\x00\x2a\x00\x00\x00' # name=ptr
'J' 'o' 'h' 'n' '\x00\x00\x00\x00') # John
p = Person.from_buffer(buf, 0, data_size=1, ptrs_size=1)
msg = dumps(p)
exp = b('\x00\x00\x00\x00\x04\x00\x00\x00' # message header: 1 segment, size 3 words
'\x00\x00\x00\x00\x01\x00\x01\x00' # ptr to payload
'\x20\x00\x00\x00\x00\x00\x00\x00' # age=32
'\x01\x00\x00\x00\x2a\x00\x00\x00' # name=ptr
'J' 'o' 'h' 'n' '\x00\x00\x00\x00') # John
assert msg == exp
评论列表
文章目录