Add exception raising tests for traversal_limit_in_words

This commit is contained in:
Jason Paryani
2017-04-09 17:17:10 -07:00
parent 073a503add
commit e4db5e6d66

View File

@@ -175,6 +175,11 @@ def test_from_bytes_traversal_limit(all_types):
bld.init("structList", size) bld.init("structList", size)
data = bld.to_bytes() data = bld.to_bytes()
msg = all_types.TestAllTypes.from_bytes(data)
with pytest.raises(capnp.KjException):
for i in range(0, size):
msg.structList[i].uInt8Field == 0
msg = all_types.TestAllTypes.from_bytes(data, msg = all_types.TestAllTypes.from_bytes(data,
traversal_limit_in_words=2**62) traversal_limit_in_words=2**62)
for i in range(0, size): for i in range(0, size):
@@ -187,6 +192,11 @@ def test_from_bytes_packed_traversal_limit(all_types):
bld.init("structList", size) bld.init("structList", size)
data = bld.to_bytes_packed() data = bld.to_bytes_packed()
msg = all_types.TestAllTypes.from_bytes_packed(data)
with pytest.raises(capnp.KjException):
for i in range(0, size):
msg.structList[i].uInt8Field == 0
msg = all_types.TestAllTypes.from_bytes_packed(data, msg = all_types.TestAllTypes.from_bytes_packed(data,
traversal_limit_in_words=2**62) traversal_limit_in_words=2**62)
for i in range(0, size): for i in range(0, size):