summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/vfs_userfs.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/extmod/vfs_userfs.py')
-rw-r--r--tests/extmod/vfs_userfs.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/extmod/vfs_userfs.py b/tests/extmod/vfs_userfs.py
index 06e546b081..3cdfe82eea 100644
--- a/tests/extmod/vfs_userfs.py
+++ b/tests/extmod/vfs_userfs.py
@@ -16,14 +16,20 @@ except (ImportError, AttributeError):
class UserFile(uio.IOBase):
- def __init__(self, data):
+ def __init__(self, mode, data):
+ assert isinstance(data, bytes)
+ self.is_text = mode.find("b") == -1
self.data = data
self.pos = 0
def read(self):
- return self.data
+ if self.is_text:
+ return str(self.data, "utf8")
+ else:
+ return self.data
def readinto(self, buf):
+ assert not self.is_text
n = 0
while n < len(buf) and self.pos < len(self.data):
buf[n] = self.data[self.pos]
@@ -54,12 +60,12 @@ class UserFS:
def open(self, path, mode):
print("open", path, mode)
- return UserFile(self.files[path])
+ return UserFile(mode, self.files[path])
# create and mount a user filesystem
user_files = {
- "/data.txt": b"some data in a text file\n",
+ "/data.txt": b"some data in a text file",
"/usermod1.py": b"print('in usermod1')\nimport usermod2",
"/usermod2.py": b"print('in usermod2')",
}