summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-02-14 19:02:34 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-02-14 19:15:22 +0200
commit0ee1d0f407005f61776b1fb6bd827ac2ebc253ec (patch)
treeda99eccfed74dd9e431df45990d800ef8c7f0fa5
parente3c66a5a675a91810ca9c1874ba706dced6036ec (diff)
downloadmicropython-0ee1d0f407005f61776b1fb6bd827ac2ebc253ec.tar.gz
micropython-0ee1d0f407005f61776b1fb6bd827ac2ebc253ec.zip
tests/vfs_fat_ramdisk: Add test for VfsFat.
-rw-r--r--tests/extmod/vfs_fat_ramdisk.py48
-rw-r--r--tests/extmod/vfs_fat_ramdisk.py.exp1
2 files changed, 49 insertions, 0 deletions
diff --git a/tests/extmod/vfs_fat_ramdisk.py b/tests/extmod/vfs_fat_ramdisk.py
new file mode 100644
index 0000000000..4750c76110
--- /dev/null
+++ b/tests/extmod/vfs_fat_ramdisk.py
@@ -0,0 +1,48 @@
+import sys
+import uos
+try:
+ uos.VfsFat
+except AttributeError:
+ print("SKIP")
+ sys.exit()
+
+
+class RAMFS:
+ def __init__(self, blocks):
+ self.data = bytearray(blocks * 512)
+
+ 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*512+i]
+
+ def writeblocks(self, n, buf):
+ #print("writeblocks(%s, %x)" % (n, id(buf)))
+ for i in range(len(buf)):
+ self.data[n*512+i] = buf[i]
+
+ def sync(self):
+ pass
+
+ def count(self):
+ return len(self.data) // 512
+
+
+bdev = RAMFS(48)
+uos.VfsFat.mkfs(bdev)
+
+assert b"FOO_FILETXT" not in bdev.data
+assert b"hello!" not in bdev.data
+
+vfs = uos.VfsFat(bdev, "/ramdisk")
+
+f = vfs.open("foo_file.txt", "w")
+f.write("hello!")
+f.close()
+
+f2 = vfs.open("foo_file.txt")
+print(f2.read())
+f2.close()
+
+assert b"FOO_FILETXT" in bdev.data
+assert b"hello!" in bdev.data
diff --git a/tests/extmod/vfs_fat_ramdisk.py.exp b/tests/extmod/vfs_fat_ramdisk.py.exp
new file mode 100644
index 0000000000..4effa19f4f
--- /dev/null
+++ b/tests/extmod/vfs_fat_ramdisk.py.exp
@@ -0,0 +1 @@
+hello!