Support mmap objects for reading with from_bytes

This commit is contained in:
Benjamin Piwowarski
2016-02-05 17:15:26 +01:00
parent 2516e3e4f1
commit b7a9d05e5e
2 changed files with 43 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import platform
import test_regression
import tempfile
import pickle
import mmap
this_dir = os.path.dirname(__file__)
@@ -40,6 +41,20 @@ def test_roundtrip_bytes(all_types):
msg = all_types.TestAllTypes.from_bytes(message_bytes)
test_regression.check_all_types(msg)
def test_roundtrip_bytes_mmap(all_types):
msg = all_types.TestAllTypes.new_message()
test_regression.init_all_types(msg)
with tempfile.TemporaryFile() as f:
msg.write(f)
length = f.tell()
f.seek(0)
memory = mmap.mmap(f.fileno(), length)
msg = all_types.TestAllTypes.from_bytes(memory)
test_regression.check_all_types(msg)
def test_roundtrip_bytes_packed(all_types):
msg = all_types.TestAllTypes.new_message()
test_regression.init_all_types(msg)