From 0ee1d0f407005f61776b1fb6bd827ac2ebc253ec Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 14 Feb 2016 19:02:34 +0200 Subject: [PATCH] tests/vfs_fat_ramdisk: Add test for VfsFat. --- tests/extmod/vfs_fat_ramdisk.py | 48 +++++++++++++++++++++++++++++ tests/extmod/vfs_fat_ramdisk.py.exp | 1 + 2 files changed, 49 insertions(+) create mode 100644 tests/extmod/vfs_fat_ramdisk.py create mode 100644 tests/extmod/vfs_fat_ramdisk.py.exp diff --git a/tests/extmod/vfs_fat_ramdisk.py b/tests/extmod/vfs_fat_ramdisk.py new file mode 100644 index 000000000000..4750c761103c --- /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 000000000000..4effa19f4f75 --- /dev/null +++ b/tests/extmod/vfs_fat_ramdisk.py.exp @@ -0,0 +1 @@ +hello!