diff options
Diffstat (limited to 'tests/extmod')
-rw-r--r-- | tests/extmod/framebuf1.py | 41 | ||||
-rw-r--r-- | tests/extmod/framebuf1.py.exp | 9 | ||||
-rw-r--r-- | tests/extmod/ubinascii_crc32.py | 20 | ||||
-rw-r--r-- | tests/extmod/uzlib_decompio.py | 32 | ||||
-rw-r--r-- | tests/extmod/uzlib_decompio.py.exp | 12 | ||||
-rw-r--r-- | tests/extmod/uzlib_decompress.py (renamed from tests/extmod/zlibd_decompress.py) | 8 | ||||
-rw-r--r-- | tests/extmod/vfs_fat_ramdisk.py | 13 |
7 files changed, 134 insertions, 1 deletions
diff --git a/tests/extmod/framebuf1.py b/tests/extmod/framebuf1.py new file mode 100644 index 0000000000..f550b6b4f4 --- /dev/null +++ b/tests/extmod/framebuf1.py @@ -0,0 +1,41 @@ +try: + import framebuf +except ImportError: + print("SKIP") + import sys + sys.exit() + +w = 5 +h = 16 +buf = bytearray(w * h // 8) +fbuf = framebuf.FrameBuffer1(buf, w, h, w) + +# fill +fbuf.fill(1) +print(buf) +fbuf.fill(0) +print(buf) + +# put pixel +fbuf.pixel(0, 0, 1) +fbuf.pixel(4, 0, 1) +fbuf.pixel(0, 15, 1) +fbuf.pixel(4, 15, 1) +print(buf) + +# get pixel +print(fbuf.pixel(0, 0), fbuf.pixel(1, 1)) + +# scroll +fbuf.fill(0) +fbuf.pixel(2, 7, 1) +fbuf.scroll(0, 1) +print(buf) +fbuf.scroll(0, -2) +print(buf) +fbuf.scroll(1, 0) +print(buf) +fbuf.scroll(-1, 0) +print(buf) +fbuf.scroll(2, 2) +print(buf) diff --git a/tests/extmod/framebuf1.py.exp b/tests/extmod/framebuf1.py.exp new file mode 100644 index 0000000000..8fd8c37098 --- /dev/null +++ b/tests/extmod/framebuf1.py.exp @@ -0,0 +1,9 @@ +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') +1 0 +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') diff --git a/tests/extmod/ubinascii_crc32.py b/tests/extmod/ubinascii_crc32.py new file mode 100644 index 0000000000..2c40177518 --- /dev/null +++ b/tests/extmod/ubinascii_crc32.py @@ -0,0 +1,20 @@ +try: + import ubinascii as binascii +except ImportError: + import binascii +try: + binascii.crc32 +except AttributeError: + print("SKIP") + import sys + sys.exit() + +print(hex(binascii.crc32(b'The quick brown fox jumps over the lazy dog'))) +print(hex(binascii.crc32(b'\x00' * 32))) +print(hex(binascii.crc32(b'\xff' * 32))) +print(hex(binascii.crc32(bytes(range(32))))) + +print(hex(binascii.crc32(b' over the lazy dog', binascii.crc32(b'The quick brown fox jumps')))) +print(hex(binascii.crc32(b'\x00' * 16, binascii.crc32(b'\x00' * 16)))) +print(hex(binascii.crc32(b'\xff' * 16, binascii.crc32(b'\xff' * 16)))) +print(hex(binascii.crc32(bytes(range(16, 32)), binascii.crc32(bytes(range(16)))))) diff --git a/tests/extmod/uzlib_decompio.py b/tests/extmod/uzlib_decompio.py new file mode 100644 index 0000000000..75a6df0ca4 --- /dev/null +++ b/tests/extmod/uzlib_decompio.py @@ -0,0 +1,32 @@ +try: + import zlib +except ImportError: + import uzlib as zlib +import uio as io + + +# Raw DEFLATE bitstream +buf = io.BytesIO(b'\xcbH\xcd\xc9\xc9\x07\x00') +inp = zlib.DecompIO(buf, -8) +print(buf.seek(0, 1)) +print(inp.read(1)) +print(buf.seek(0, 1)) +print(inp.read(2)) +print(inp.read()) +print(buf.seek(0, 1)) +print(inp.read(1)) +print(inp.read()) +print(buf.seek(0, 1)) + + +# zlib bitstream +inp = zlib.DecompIO(io.BytesIO(b'x\x9c30\xa0=\x00\x00\xb3q\x12\xc1')) +print(inp.read(10)) +print(inp.read()) + +# zlib bitstream, wrong checksum +inp = zlib.DecompIO(io.BytesIO(b'x\x9c30\xa0=\x00\x00\xb3q\x12\xc0')) +try: + print(inp.read()) +except OSError as e: + print(repr(e)) diff --git a/tests/extmod/uzlib_decompio.py.exp b/tests/extmod/uzlib_decompio.py.exp new file mode 100644 index 0000000000..3f5f360fa3 --- /dev/null +++ b/tests/extmod/uzlib_decompio.py.exp @@ -0,0 +1,12 @@ +0 +b'h' +2 +b'el' +b'lo' +7 +b'' +b'' +7 +b'0000000000' +b'000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' +OSError(22,) diff --git a/tests/extmod/zlibd_decompress.py b/tests/extmod/uzlib_decompress.py index 4a898f27c7..468335a0d1 100644 --- a/tests/extmod/zlibd_decompress.py +++ b/tests/extmod/uzlib_decompress.py @@ -18,11 +18,17 @@ for unpacked, packed in PATTERNS: # Raw DEFLATE bitstream -v = b'\xcbH\xcd\xc9\xc9\x07\x00\x86\xa6\x106\x05\x00\x00\x00' +v = b'\xcbH\xcd\xc9\xc9\x07\x00' exp = b"hello" out = zlib.decompress(v, -15) assert(out == exp) print(exp) +# Even when you ask CPython zlib.compress to produce Raw DEFLATE stream, +# it returns it with adler2 and oriignal size appended, as if it was a +# zlib stream. Make sure there're no random issues decompressing such. +v = b'\xcbH\xcd\xc9\xc9\x07\x00\x86\xa6\x106\x05\x00\x00\x00' +out = zlib.decompress(v, -15) +assert(out == exp) # this should error try: diff --git a/tests/extmod/vfs_fat_ramdisk.py b/tests/extmod/vfs_fat_ramdisk.py index 7860d68124..57c8eeba89 100644 --- a/tests/extmod/vfs_fat_ramdisk.py +++ b/tests/extmod/vfs_fat_ramdisk.py @@ -1,5 +1,6 @@ import sys import uos +import uerrno try: uos.VfsFat except AttributeError: @@ -84,3 +85,15 @@ assert vfs.listdir() == ["sub_file.txt"] vfs.chdir("..") print("getcwd:", vfs.getcwd()) + + +vfs.umount() +try: + vfs.listdir() +except OSError as e: + assert e.args[0] == uerrno.ENODEV +else: + raise AssertionError("expected OSError not thrown") + +vfs = uos.VfsFat(bdev, "/ramdisk") +assert vfs.listdir() == ['foo_dir', 'moved-to-root.txt'] |