Merge pull request #139 from tundra/develop
Pass options correctly through from_bytes to FlatArrayMessageReader
This commit is contained in:
@@ -3761,7 +3761,9 @@ cdef class _FlatArrayMessageReader(_MessageReader):
|
||||
else:
|
||||
self._object_to_pin = buf
|
||||
|
||||
self.thisptr = new schema_cpp.FlatArrayMessageReader(schema_cpp.WordArrayPtr(<schema_cpp.word*>ptr, sz//8))
|
||||
self.thisptr = new schema_cpp.FlatArrayMessageReader(
|
||||
schema_cpp.WordArrayPtr(<schema_cpp.word*>ptr, sz//8),
|
||||
opts)
|
||||
|
||||
def __dealloc__(self):
|
||||
del self.thisptr
|
||||
|
||||
@@ -168,3 +168,26 @@ def test_pickle(all_types):
|
||||
msg2 = pickle.loads(data)
|
||||
|
||||
test_regression.check_all_types(msg2)
|
||||
|
||||
def test_from_bytes_traversal_limit(all_types):
|
||||
size = 1024
|
||||
bld = all_types.TestAllTypes.new_message()
|
||||
bld.init("structList", size)
|
||||
data = bld.to_bytes()
|
||||
|
||||
msg = all_types.TestAllTypes.from_bytes(data,
|
||||
traversal_limit_in_words=2**62)
|
||||
for i in range(0, size):
|
||||
assert msg.structList[i].uInt8Field == 0
|
||||
|
||||
|
||||
def test_from_bytes_packed_traversal_limit(all_types):
|
||||
size = 1024
|
||||
bld = all_types.TestAllTypes.new_message()
|
||||
bld.init("structList", size)
|
||||
data = bld.to_bytes_packed()
|
||||
|
||||
msg = all_types.TestAllTypes.from_bytes_packed(data,
|
||||
traversal_limit_in_words=2**62)
|
||||
for i in range(0, size):
|
||||
assert msg.structList[i].uInt8Field == 0
|
||||
|
||||
Reference in New Issue
Block a user