diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-02-14 19:02:34 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-02-14 19:15:22 +0200 |
commit | 0ee1d0f407005f61776b1fb6bd827ac2ebc253ec (patch) | |
tree | da99eccfed74dd9e431df45990d800ef8c7f0fa5 | |
parent | e3c66a5a675a91810ca9c1874ba706dced6036ec (diff) | |
download | micropython-0ee1d0f407005f61776b1fb6bd827ac2ebc253ec.tar.gz micropython-0ee1d0f407005f61776b1fb6bd827ac2ebc253ec.zip |
tests/vfs_fat_ramdisk: Add test for VfsFat.
-rw-r--r-- | tests/extmod/vfs_fat_ramdisk.py | 48 | ||||
-rw-r--r-- | tests/extmod/vfs_fat_ramdisk.py.exp | 1 |
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! |