summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/builtin_delattr.py18
-rw-r--r--tests/basics/builtin_slice.py6
-rw-r--r--tests/basics/gc1.py8
-rw-r--r--tests/basics/list_slice_3arg.py19
-rw-r--r--tests/extmod/btree1.py2
-rw-r--r--tests/extmod/framebuf1.py15
-rw-r--r--tests/extmod/framebuf1.py.exp4
-rw-r--r--tests/extmod/ticks_diff.py33
-rw-r--r--tests/extmod/ticks_diff.py.exp1
-rw-r--r--tests/extmod/uhashlib_sha1.py22
-rw-r--r--tests/extmod/uhashlib_sha256.py (renamed from tests/extmod/sha256.py)0
-rw-r--r--tests/extmod/vfs_fat_fileio.py156
-rw-r--r--tests/extmod/vfs_fat_fileio.py.exp22
-rw-r--r--tests/extmod/vfs_fat_fsusermount.py96
-rw-r--r--tests/extmod/vfs_fat_fsusermount.py.exp7
-rw-r--r--tests/extmod/vfs_fat_oldproto.py63
-rw-r--r--tests/extmod/vfs_fat_oldproto.py.exp4
-rw-r--r--tests/extmod/vfs_fat_ramdisk.py63
-rw-r--r--tests/extmod/vfs_fat_ramdisk.py.exp14
19 files changed, 500 insertions, 53 deletions
diff --git a/tests/basics/builtin_delattr.py b/tests/basics/builtin_delattr.py
new file mode 100644
index 0000000000..3743df227c
--- /dev/null
+++ b/tests/basics/builtin_delattr.py
@@ -0,0 +1,18 @@
+# test builtin delattr
+
+class A: pass
+a = A()
+a.x = 1
+print(a.x)
+
+delattr(a, 'x')
+
+try:
+ a.x
+except AttributeError:
+ print('AttributeError')
+
+try:
+ delattr(a, 'x')
+except AttributeError:
+ print('AttributeError')
diff --git a/tests/basics/builtin_slice.py b/tests/basics/builtin_slice.py
index 4da1229fa0..df84d5c57b 100644
--- a/tests/basics/builtin_slice.py
+++ b/tests/basics/builtin_slice.py
@@ -4,4 +4,8 @@
class A:
def __getitem__(self, idx):
print(idx)
-A()[1:2:3]
+ return idx
+s = A()[1:2:3]
+
+# check type
+print(type(s) is slice)
diff --git a/tests/basics/gc1.py b/tests/basics/gc1.py
index 140c8b0a60..be6c6faed2 100644
--- a/tests/basics/gc1.py
+++ b/tests/basics/gc1.py
@@ -20,3 +20,11 @@ if hasattr(gc, 'mem_free'):
# just test they execute and return an int
assert type(gc.mem_free()) is int
assert type(gc.mem_alloc()) is int
+
+if hasattr(gc, 'threshold'):
+ # uPy has this extra function
+ # check execution and returns
+ assert(gc.threshold(1) is None)
+ assert(gc.threshold() == 0)
+ assert(gc.threshold(-1) is None)
+ assert(gc.threshold() == -1)
diff --git a/tests/basics/list_slice_3arg.py b/tests/basics/list_slice_3arg.py
index b98ca3e4f2..8578d5855e 100644
--- a/tests/basics/list_slice_3arg.py
+++ b/tests/basics/list_slice_3arg.py
@@ -7,3 +7,22 @@ x = list(range(9))
print(x[::-1])
print(x[::2])
print(x[::-2])
+
+x = list(range(5))
+print(x[:0:-1])
+print(x[:1:-1])
+print(x[:2:-1])
+print(x[0::-1])
+print(x[1::-1])
+print(x[2::-1])
+
+x = list(range(5))
+print(x[0:0:-1])
+print(x[4:4:-1])
+print(x[5:5:-1])
+
+x = list(range(10))
+print(x[-1:-1:-1])
+print(x[-1:-2:-1])
+print(x[-1:-11:-1])
+print(x[-10:-11:-1])
diff --git a/tests/extmod/btree1.py b/tests/extmod/btree1.py
index 6629837661..715f628246 100644
--- a/tests/extmod/btree1.py
+++ b/tests/extmod/btree1.py
@@ -9,7 +9,7 @@ except ImportError:
#f = open("_test.db", "w+b")
f = uio.BytesIO()
-db = btree.open(f)
+db = btree.open(f, pagesize=512)
db[b"foo3"] = b"bar3"
db[b"foo1"] = b"bar1"
diff --git a/tests/extmod/framebuf1.py b/tests/extmod/framebuf1.py
index f550b6b4f4..52899028c7 100644
--- a/tests/extmod/framebuf1.py
+++ b/tests/extmod/framebuf1.py
@@ -23,6 +23,10 @@ fbuf.pixel(0, 15, 1)
fbuf.pixel(4, 15, 1)
print(buf)
+# clear pixel
+fbuf.pixel(4, 15, 0)
+print(buf)
+
# get pixel
print(fbuf.pixel(0, 0), fbuf.pixel(1, 1))
@@ -39,3 +43,14 @@ fbuf.scroll(-1, 0)
print(buf)
fbuf.scroll(2, 2)
print(buf)
+
+# print text
+fbuf.fill(0)
+fbuf.text("hello", 0, 0, 1)
+print(buf)
+fbuf.text("hello", 0, 0, 0) # clear
+print(buf)
+
+# char out of font range set to chr(127)
+fbuf.text(str(chr(31)), 0, 0)
+print(buf)
diff --git a/tests/extmod/framebuf1.py.exp b/tests/extmod/framebuf1.py.exp
index 8fd8c37098..1577faac8a 100644
--- a/tests/extmod/framebuf1.py.exp
+++ b/tests/extmod/framebuf1.py.exp
@@ -1,9 +1,13 @@
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')
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')
+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')
diff --git a/tests/extmod/ticks_diff.py b/tests/extmod/ticks_diff.py
new file mode 100644
index 0000000000..4d8df83cf9
--- /dev/null
+++ b/tests/extmod/ticks_diff.py
@@ -0,0 +1,33 @@
+from utime import ticks_diff, ticks_add
+
+MAX = ticks_add(0, -1)
+# Should be done like this to avoid small int overflow
+MODULO_HALF = MAX // 2 + 1
+
+# Invariants:
+# if ticks_diff(a, b) = c,
+# then ticks_diff(b, a) = -c
+
+assert ticks_diff(1, 0) == 1, ticks_diff(1, 0)
+assert ticks_diff(0, 1) == -1
+
+assert ticks_diff(0, MAX) == 1
+assert ticks_diff(MAX, 0) == -1
+
+assert ticks_diff(0, MAX - 1) == 2
+
+# Maximum "positive" distance
+assert ticks_diff(MODULO_HALF, 1) == MODULO_HALF - 1, ticks_diff(MODULO_HALF, 1)
+# Step further, and it becomes a negative distance
+assert ticks_diff(MODULO_HALF, 0) == -MODULO_HALF
+
+# Offsetting that in either direction doesn't affect the result
+off = 100
+# Cheating and skipping to use ticks_add() when we know there's no wraparound
+# Real apps should use always it.
+assert ticks_diff(MODULO_HALF + off, 1 + off) == MODULO_HALF - 1
+assert ticks_diff(MODULO_HALF + off, 0 + off) == -MODULO_HALF
+assert ticks_diff(MODULO_HALF - off, ticks_add(1, -off)) == MODULO_HALF - 1
+assert ticks_diff(MODULO_HALF - off, ticks_add(0, -off)) == -MODULO_HALF
+
+print("OK")
diff --git a/tests/extmod/ticks_diff.py.exp b/tests/extmod/ticks_diff.py.exp
new file mode 100644
index 0000000000..d86bac9de5
--- /dev/null
+++ b/tests/extmod/ticks_diff.py.exp
@@ -0,0 +1 @@
+OK
diff --git a/tests/extmod/uhashlib_sha1.py b/tests/extmod/uhashlib_sha1.py
new file mode 100644
index 0000000000..f12fc649aa
--- /dev/null
+++ b/tests/extmod/uhashlib_sha1.py
@@ -0,0 +1,22 @@
+import sys
+try:
+ import uhashlib as hashlib
+except ImportError:
+ try:
+ import hashlib
+ except ImportError:
+ # This is neither uPy, nor cPy, so must be uPy with
+ # uhashlib module disabled.
+ print("SKIP")
+ sys.exit()
+
+try:
+ hashlib.sha1
+except AttributeError:
+ # SHA1 is only available on some ports
+ print("SKIP")
+ sys.exit()
+
+sha1 = hashlib.sha1(b'hello')
+sha1.update(b'world')
+print(sha1.digest())
diff --git a/tests/extmod/sha256.py b/tests/extmod/uhashlib_sha256.py
index ff51f2ffa5..ff51f2ffa5 100644
--- a/tests/extmod/sha256.py
+++ b/tests/extmod/uhashlib_sha256.py
diff --git a/tests/extmod/vfs_fat_fileio.py b/tests/extmod/vfs_fat_fileio.py
new file mode 100644
index 0000000000..de8d4953c4
--- /dev/null
+++ b/tests/extmod/vfs_fat_fileio.py
@@ -0,0 +1,156 @@
+import sys
+import uos
+import uerrno
+try:
+ uos.VfsFat
+except AttributeError:
+ print("SKIP")
+ sys.exit()
+
+
+class RAMFS:
+
+ SEC_SIZE = 512
+
+ def __init__(self, blocks):
+ self.data = bytearray(blocks * self.SEC_SIZE)
+
+ def readblocks(self, n, buf):
+ #print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf)))
+ for i in range(len(buf)):
+ buf[i] = self.data[n * self.SEC_SIZE + i]
+
+ def writeblocks(self, n, buf):
+ #print("writeblocks(%s, %x)" % (n, id(buf)))
+ for i in range(len(buf)):
+ self.data[n * self.SEC_SIZE + i] = buf[i]
+
+ def ioctl(self, op, arg):
+ #print("ioctl(%d, %r)" % (op, arg))
+ if op == 4: # BP_IOCTL_SEC_COUNT
+ return len(self.data) // self.SEC_SIZE
+ if op == 5: # BP_IOCTL_SEC_SIZE
+ return self.SEC_SIZE
+
+
+try:
+ bdev = RAMFS(48)
+except MemoryError:
+ print("SKIP")
+ sys.exit()
+
+uos.VfsFat.mkfs(bdev)
+vfs = uos.VfsFat(bdev, "/ramdisk")
+
+# file IO
+f = vfs.open("foo_file.txt", "w")
+print(str(f)[:17], str(f)[-1:])
+f.write("hello!")
+f.flush()
+f.close()
+f.close() # allowed
+try:
+ f.write("world!")
+except OSError as e:
+ print(e.args[0] == uerrno.EINVAL)
+
+try:
+ f.read()
+except OSError as e:
+ print(e.args[0] == uerrno.EINVAL)
+
+try:
+ f.flush()
+except OSError as e:
+ print(e.args[0] == uerrno.EINVAL)
+
+try:
+ vfs.open("foo_file.txt", "x")
+except OSError as e:
+ print(e.args[0] == uerrno.EEXIST)
+
+with vfs.open("foo_file.txt", "a") as f:
+ f.write("world!")
+
+with vfs.open("foo_file.txt") as f2:
+ print(f2.read())
+ print(f2.tell())
+
+ f2.seek(0, 0) # SEEK_SET
+ print(f2.read(1))
+
+ f2.seek(0, 1) # SEEK_CUR
+ print(f2.read(1))
+ try:
+ f2.seek(1, 1) # SEEK_END
+ except OSError as e:
+ print(e.args[0] == uerrno.EOPNOTSUPP)
+
+ f2.seek(-2, 2) # SEEK_END
+ print(f2.read(1))
+
+# dirs
+vfs.mkdir("foo_dir")
+
+try:
+ vfs.rmdir("foo_file.txt")
+except OSError as e:
+ print(e.args[0] == 20) # uerrno.ENOTDIR
+
+try:
+ vfs.mkdir("foo_dir")
+except OSError as e:
+ print(e.args[0] == uerrno.EEXIST)
+
+try:
+ vfs.remove("foo_dir")
+except OSError as e:
+ print(e.args[0] == uerrno.EISDIR)
+
+try:
+ vfs.remove("no_file.txt")
+except OSError as e:
+ print(e.args[0] == uerrno.ENOENT)
+
+try:
+ vfs.rename("foo_dir", "/null")
+except OSError as e:
+ print(e.args[0] == uerrno.ENODEV)
+
+# file in dir
+with vfs.open("foo_dir/file-in-dir.txt", "w+t") as f:
+ f.write("data in file")
+
+with vfs.open("foo_dir/file-in-dir.txt", "r+b") as f:
+ print(f.read())
+
+with vfs.open("foo_dir/sub_file.txt", "w") as f:
+ f.write("subdir file")
+
+# directory not empty
+try:
+ vfs.rmdir("foo_dir")
+except OSError as e:
+ print(e.args[0] == uerrno.EACCES)
+
+# trim full path
+vfs.rename("foo_dir/file-in-dir.txt", "/ramdisk/foo_dir/file.txt")
+print(vfs.listdir("foo_dir"))
+
+vfs.rename("foo_dir/file.txt", "moved-to-root.txt")
+print(vfs.listdir())
+
+# valid removes
+vfs.remove("foo_dir/sub_file.txt")
+vfs.remove("foo_file.txt")
+vfs.rmdir("foo_dir")
+print(vfs.listdir())
+
+# disk full
+try:
+ bsize = vfs.statvfs("/ramdisk")[0]
+ free = vfs.statvfs("/ramdisk")[2] + 1
+ f = vfs.open("large_file.txt", "wb")
+ f.write(bytearray(bsize * free))
+except OSError as e:
+ print("ENOSPC:", e.args[0] == 28) # uerrno.ENOSPC
diff --git a/tests/extmod/vfs_fat_fileio.py.exp b/tests/extmod/vfs_fat_fileio.py.exp
new file mode 100644
index 0000000000..c438bc850c
--- /dev/null
+++ b/tests/extmod/vfs_fat_fileio.py.exp
@@ -0,0 +1,22 @@
+<io.TextIOWrapper >
+True
+True
+True
+True
+hello!world!
+12
+h
+e
+True
+d
+True
+True
+True
+True
+True
+b'data in file'
+True
+['sub_file.txt', 'file.txt']
+['foo_file.txt', 'foo_dir', 'moved-to-root.txt']
+['moved-to-root.txt']
+ENOSPC: True
diff --git a/tests/extmod/vfs_fat_fsusermount.py b/tests/extmod/vfs_fat_fsusermount.py
new file mode 100644
index 0000000000..7326172eed
--- /dev/null
+++ b/tests/extmod/vfs_fat_fsusermount.py
@@ -0,0 +1,96 @@
+import sys
+import uos
+import uerrno
+try:
+ uos.VfsFat
+except AttributeError:
+ print("SKIP")
+ sys.exit()
+
+
+class RAMFS:
+
+ SEC_SIZE = 512
+
+ def __init__(self, blocks):
+ self.data = bytearray(blocks * self.SEC_SIZE)
+
+ def readblocks(self, n, buf):
+ #print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf)))
+ for i in range(len(buf)):
+ buf[i] = self.data[n * self.SEC_SIZE + i]
+
+ def writeblocks(self, n, buf):
+ #print("writeblocks(%s, %x)" % (n, id(buf)))
+ for i in range(len(buf)):
+ self.data[n * self.SEC_SIZE + i] = buf[i]
+
+ def ioctl(self, op, arg):
+ #print("ioctl(%d, %r)" % (op, arg))
+ if op == 4: # BP_IOCTL_SEC_COUNT
+ return len(self.data) // self.SEC_SIZE
+ if op == 5: # BP_IOCTL_SEC_SIZE
+ return self.SEC_SIZE
+
+
+try:
+ bdev = RAMFS(48)
+except MemoryError:
+ print("SKIP")
+ sys.exit()
+
+# can't mkfs readonly device
+try:
+ uos.vfs_mkfs(bdev, "/ramdisk", readonly=True)
+except OSError as e:
+ print(e)
+
+# mount before mkfs
+try:
+ uos.vfs_mount(bdev, "/ramdisk")
+except OSError as e:
+ print(e)
+
+# invalid umount
+try:
+ uos.vfs_umount("/ramdisk")
+except OSError as e:
+ print(e.args[0] == uerrno.EINVAL)
+
+try:
+ uos.vfs_mount(None, "/ramdisk")
+except OSError as e:
+ print(e)
+
+try:
+ uos.vfs_mkfs(None, "/ramdisk")
+except OSError as e:
+ print(e)
+
+# valid mkfs/mount
+uos.vfs_mkfs(bdev, "/ramdisk")
+uos.vfs_mount(bdev, "/ramdisk")
+
+# umount by path
+uos.vfs_umount("/ramdisk")
+
+# readonly mount
+uos.vfs_mount(bdev, "/ramdisk", readonly=True)
+vfs = uos.VfsFat(bdev, "/ramdisk")
+try:
+ f = vfs.open("file.txt", "w")
+except OSError as e:
+ print("EROFS:", e.args[0] == 30) # uerrno.EROFS
+
+# device is None == umount
+uos.vfs_mount(None, "/ramdisk")
+
+# max mounted devices
+dev = []
+try:
+ for i in range(0,4):
+ dev.append(RAMFS(48))
+ uos.vfs_mkfs(dev[i], "/ramdisk" + str(i))
+ uos.vfs_mount(dev[i], "/ramdisk" + str(i))
+except OSError as e:
+ print(e)
diff --git a/tests/extmod/vfs_fat_fsusermount.py.exp b/tests/extmod/vfs_fat_fsusermount.py.exp
new file mode 100644
index 0000000000..3b30688dd9
--- /dev/null
+++ b/tests/extmod/vfs_fat_fsusermount.py.exp
@@ -0,0 +1,7 @@
+can't mkfs
+can't mount
+True
+can't umount
+can't umount
+EROFS: True
+too many devices mounted
diff --git a/tests/extmod/vfs_fat_oldproto.py b/tests/extmod/vfs_fat_oldproto.py
new file mode 100644
index 0000000000..73983567d9
--- /dev/null
+++ b/tests/extmod/vfs_fat_oldproto.py
@@ -0,0 +1,63 @@
+import sys
+import uos
+import uerrno
+try:
+ uos.VfsFat
+ uos.vfs_mkfs
+ uos.vfs_mount
+except AttributeError:
+ print("SKIP")
+ sys.exit()
+
+class RAMFS_OLD:
+
+ SEC_SIZE = 512
+
+ def __init__(self, blocks):
+ self.data = bytearray(blocks * self.SEC_SIZE)
+
+ def readblocks(self, n, buf):
+ #print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf)))
+ for i in range(len(buf)):
+ buf[i] = self.data[n * self.SEC_SIZE + i]
+
+ def writeblocks(self, n, buf):
+ #print("writeblocks(%s, %x)" % (n, id(buf)))
+ for i in range(len(buf)):
+ self.data[n * self.SEC_SIZE + i] = buf[i]
+
+ def sync(self):
+ pass
+
+ def count(self):
+ return len(self.data) // self.SEC_SIZE
+
+
+try:
+ bdev = RAMFS_OLD(48)
+except MemoryError:
+ print("SKIP")
+ sys.exit()
+
+uos.vfs_mkfs(bdev, "/ramdisk")
+uos.vfs_mount(bdev, "/ramdisk")
+
+# file io
+vfs = uos.VfsFat(bdev, "/ramdisk")
+with vfs.open("file.txt", "w") as f:
+ f.write("hello!")
+
+print(vfs.listdir())
+
+with vfs.open("file.txt", "r") as f:
+ print(f.read())
+
+vfs.remove("file.txt")
+print(vfs.listdir())
+
+# umount by device
+uos.vfs_umount(bdev)
+try:
+ vfs.listdir()
+except OSError as e:
+ print(e.args[0] == uerrno.ENODEV)
diff --git a/tests/extmod/vfs_fat_oldproto.py.exp b/tests/extmod/vfs_fat_oldproto.py.exp
new file mode 100644
index 0000000000..4120c277ac
--- /dev/null
+++ b/tests/extmod/vfs_fat_oldproto.py.exp
@@ -0,0 +1,4 @@
+['file.txt']
+hello!
+[]
+True
diff --git a/tests/extmod/vfs_fat_ramdisk.py b/tests/extmod/vfs_fat_ramdisk.py
index 6380761c6d..184672ff15 100644
--- a/tests/extmod/vfs_fat_ramdisk.py
+++ b/tests/extmod/vfs_fat_ramdisk.py
@@ -45,55 +45,38 @@ print(b"FOO_FILETXT" not in bdev.data)
print(b"hello!" not in bdev.data)
vfs = uos.VfsFat(bdev, "/ramdisk")
-print("statvfs:", vfs.statvfs("/ramdisk"))
-
-print("getcwd:", vfs.getcwd())
-
-f = vfs.open("foo_file.txt", "w")
-f.write("hello!")
-f.close()
-
-f2 = vfs.open("foo_file.txt")
-print(f2.read())
-f2.close()
-
-print(b"FOO_FILETXT" in bdev.data)
-print(b"hello!" in bdev.data)
-
-print(vfs.listdir())
try:
- vfs.rmdir("foo_file.txt")
+ vfs.statvfs("/null")
except OSError as e:
- print(e.args[0] == 20) # uerrno.ENOTDIR
-
-vfs.remove('foo_file.txt')
-print(vfs.listdir())
+ print(e.args[0] == uerrno.ENODEV)
-vfs.mkdir("foo_dir")
-print(vfs.listdir())
+print("statvfs:", vfs.statvfs("/ramdisk"))
+print("getcwd:", vfs.getcwd())
try:
- vfs.remove("foo_dir")
+ vfs.stat("no_file.txt")
except OSError as e:
- print(e.args[0] == uerrno.EISDIR)
+ print(e.args[0] == uerrno.ENOENT)
-f = vfs.open("foo_dir/file-in-dir.txt", "w")
-f.write("data in file")
-f.close()
+with vfs.open("foo_file.txt", "w") as f:
+ f.write("hello!")
+print(vfs.listdir())
-print(vfs.listdir("foo_dir"))
+print("stat root:", vfs.stat("/"))
+print("stat disk:", vfs.stat("/ramdisk/"))
+print("stat file:", vfs.stat("foo_file.txt"))
-vfs.rename("foo_dir/file-in-dir.txt", "moved-to-root.txt")
-print(vfs.listdir())
+print(b"FOO_FILETXT" in bdev.data)
+print(b"hello!" in bdev.data)
+vfs.mkdir("foo_dir")
vfs.chdir("foo_dir")
print("getcwd:", vfs.getcwd())
print(vfs.listdir())
with vfs.open("sub_file.txt", "w") as f:
- f.write("test2")
-print(vfs.listdir())
+ f.write("subdir file")
try:
vfs.chdir("sub_file.txt")
@@ -103,20 +86,16 @@ except OSError as e:
vfs.chdir("..")
print("getcwd:", vfs.getcwd())
+vfs.umount()
try:
- vfs.rmdir("foo_dir")
+ vfs.listdir()
except OSError as e:
- print(e.args[0] == uerrno.EACCES)
-
-vfs.remove("foo_dir/sub_file.txt")
-vfs.rmdir("foo_dir")
-print(vfs.listdir())
+ print(e.args[0] == uerrno.ENODEV)
-vfs.umount()
try:
- vfs.listdir()
+ vfs.getcwd()
except OSError as e:
print(e.args[0] == uerrno.ENODEV)
vfs = uos.VfsFat(bdev, "/ramdisk")
-print(vfs.listdir())
+print(vfs.listdir(b""))
diff --git a/tests/extmod/vfs_fat_ramdisk.py.exp b/tests/extmod/vfs_fat_ramdisk.py.exp
index 8a498b2fc4..eaf6371998 100644
--- a/tests/extmod/vfs_fat_ramdisk.py.exp
+++ b/tests/extmod/vfs_fat_ramdisk.py.exp
@@ -1,23 +1,19 @@
True
True
+True
statvfs: (512, 512, 14, 14, 14, 0, 0, 0, 0, 255)
getcwd: /ramdisk
-hello!
-True
True
['foo_file.txt']
+stat root: (16384, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+stat disk: (16384, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+stat file: (32768, 0, 0, 0, 0, 0, 6, -631238400, -631238400, -631238400)
True
-[]
-['foo_dir']
True
-['file-in-dir.txt']
-['foo_dir', 'moved-to-root.txt']
getcwd: /ramdisk/foo_dir
[]
-['sub_file.txt']
True
getcwd: /ramdisk
True
-['moved-to-root.txt']
True
-['moved-to-root.txt']
+[b'foo_file.txt', b'foo_dir']