From 41c91422f083aaf61036c8ead26bf0c43111ae00 Mon Sep 17 00:00:00 2001 From: Duncan Lowther Date: Thu, 15 Jun 2023 09:33:10 +0100 Subject: [PATCH] tests/extmod/framebuf: Fix buffer size issues. Tests framebuf1 and framebuf2 do not take the need for byte-aligned strides into consideration when calculating buffer lengths. Accordingly, the buffers allocated are slightly too small. Fixed buffer length calculations. Signed-off-by: Duncan Lowther --- tests/extmod/framebuf1.py | 2 +- tests/extmod/framebuf1.py.exp | 108 +++++++++++++++++----------------- tests/extmod/framebuf2.py | 2 +- 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/tests/extmod/framebuf1.py b/tests/extmod/framebuf1.py index c8e0132265..d35674a709 100644 --- a/tests/extmod/framebuf1.py +++ b/tests/extmod/framebuf1.py @@ -6,7 +6,7 @@ except ImportError: w = 5 h = 16 -size = w * h // 8 +size = ((w + 7) & ~7) * ((h + 7) & ~7) // 8 buf = bytearray(size) maps = { framebuf.MONO_VLSB: "MONO_VLSB", diff --git a/tests/extmod/framebuf1.py.exp b/tests/extmod/framebuf1.py.exp index d954623dee..b9cd97835d 100644 --- a/tests/extmod/framebuf1.py.exp +++ b/tests/extmod/framebuf1.py.exp @@ -1,68 +1,68 @@ MONO_VLSB 0 -bytearray(b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x01\x00\x00\x00\x01\x80\x00\x00\x00\x80') -bytearray(b'\x01\x00\x00\x00\x01\x80\x00\x00\x00\x00') +bytearray(b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x01\x00\x00\x00\x01\x80\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00') +bytearray(b'\x01\x00\x00\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 1 0 -hline bytearray(b'\x02\x02\x02\x02\x02\x00\x00\x00\x00\x00') -vline bytearray(b'\x00\xff\x00\x00\x00\x00\xff\x00\x00\x00') -rect bytearray(b'\x00\x0e\n\x0e\x00\x00\x00\x00\x00\x00') -fill_rect bytearray(b'\x00\x0e\x0e\x0e\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00\x02\x04\x08\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00\x00\x06\x08\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00') -bytearray(b'\x00\x00@\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00@\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00@\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01') -bytearray(b'\x00\x7f\x7f\x04\x04\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\xaaU\xaaU\xaa\x00\x00\x00\x00\x00') +hline bytearray(b'\x02\x02\x02\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +vline bytearray(b'\x00\xff\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00') +rect bytearray(b'\x00\x0e\n\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +fill_rect bytearray(b'\x00\x0e\x0e\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00\x02\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00\x00\x06\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x7f\x7f\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\xaaU\xaaU\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') MONO_HLSB 0 -bytearray(b'\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88') +bytearray(b'\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80') 1 0 -hline bytearray(b'\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00') -vline bytearray(b'@@@@@@@@@@') -rect bytearray(b'\x00pPp\x00\x00\x00\x00\x00\x00') -fill_rect bytearray(b'\x00ppp\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00@ \x10\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00 \x10\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00 \x00') -bytearray(b'\x00\x00\x00\x00\x00\x00 \x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00 \x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00') -bytearray(b'``x````\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'P\xa8P\xa8P\xa8P\xa8\x00\x00') +hline bytearray(b'\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +vline bytearray(b'@@@@@@@@@@@@@@@@') +rect bytearray(b'\x00pPp\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +fill_rect bytearray(b'\x00ppp\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00@ \x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00 \x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'``x````\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'P\xa8P\xa8P\xa8P\xa8\x00\x00\x00\x00\x00\x00\x00\x00') MONO_HMSB 0 -bytearray(b'\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11') +bytearray(b'\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01') 1 0 -hline bytearray(b'\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00') -vline bytearray(b'\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02') -rect bytearray(b'\x00\x0e\n\x0e\x00\x00\x00\x00\x00\x00') -fill_rect bytearray(b'\x00\x0e\x0e\x0e\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00\x02\x04\x08\x00\x00\x00\x00\x00\x00') -line bytearray(b'\x00\x04\x04\x08\x00\x00\x00\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00') -bytearray(b'\x06\x06\x1e\x06\x06\x06\x06\x00\x00\x00') -bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -bytearray(b'\n\x15\n\x15\n\x15\n\x15\x00\x00') +hline bytearray(b'\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +vline bytearray(b'\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02') +rect bytearray(b'\x00\x0e\n\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +fill_rect bytearray(b'\x00\x0e\x0e\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00\x02\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +line bytearray(b'\x00\x04\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x06\x06\x1e\x06\x06\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +bytearray(b'\n\x15\n\x15\n\x15\n\x15\x00\x00\x00\x00\x00\x00\x00\x00') ValueError True diff --git a/tests/extmod/framebuf2.py b/tests/extmod/framebuf2.py index 097057fe96..408a483bef 100644 --- a/tests/extmod/framebuf2.py +++ b/tests/extmod/framebuf2.py @@ -48,7 +48,7 @@ printbuf() w2 = 2 h2 = 3 -buf2 = bytearray(w2 * h2 // 4) +buf2 = bytearray(h2 * ((w2 + 3) // 4)) fbuf2 = framebuf.FrameBuffer(buf2, w2, h2, framebuf.GS2_HMSB) # blit