From 5a42081f6ab2133392871eea923ff9b1f299f583 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Wed, 11 Aug 2021 00:35:14 -0700 Subject: [PATCH] write "long zero" for END record padding padding --- fatamorgana/test/utils.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fatamorgana/test/utils.py b/fatamorgana/test/utils.py index 5407ada..0f60e7c 100644 --- a/fatamorgana/test/utils.py +++ b/fatamorgana/test/utils.py @@ -5,7 +5,7 @@ import struct import pytest # type: ignore -from ..basic import write_uint, write_sint, read_uint, read_sint, write_bstring +from ..basic import write_uint, write_sint, read_uint, read_sint, write_bstring, write_byte from ..main import OasisLayout @@ -31,7 +31,13 @@ def _gen_footer() -> bytes: buf = BytesIO() write_uint(buf, 2) # END record - write_bstring(buf, b'\0' * 252) # padding (1 + 1 + (2 + 252)) = 256 + + # 254-byte padding, (0-byte bstring with length 0; + # length is written as 0x80 0x80 ... 0x80 0x00) + for _ in range(253): + write_byte(buf, 0x80) + write_byte(buf, 0) + write_uint(buf, 0) # no validation return buf.getvalue()