summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod
diff options
context:
space:
mode:
Diffstat (limited to 'tests/extmod')
-rw-r--r--tests/extmod/framebuf1.py41
-rw-r--r--tests/extmod/framebuf1.py.exp9
-rw-r--r--tests/extmod/ubinascii_crc32.py20
-rw-r--r--tests/extmod/uzlib_decompio.py32
-rw-r--r--tests/extmod/uzlib_decompio.py.exp12
-rw-r--r--tests/extmod/uzlib_decompress.py (renamed from tests/extmod/zlibd_decompress.py)8
-rw-r--r--tests/extmod/vfs_fat_ramdisk.py13
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']