diff options
-rw-r--r-- | tests/extmod/vfs_basic.py | 58 | ||||
-rw-r--r-- | tests/extmod/vfs_basic.py.exp | 17 |
2 files changed, 72 insertions, 3 deletions
diff --git a/tests/extmod/vfs_basic.py b/tests/extmod/vfs_basic.py index b481841e62..c8f4eaee92 100644 --- a/tests/extmod/vfs_basic.py +++ b/tests/extmod/vfs_basic.py @@ -25,10 +25,33 @@ class Filesystem: return ['a%d' % self.id] def chdir(self, dir): print(self.id, 'chdir', dir) + def getcwd(self): + print(self.id, 'getcwd') + return 'dir%d' % self.id + def mkdir(self, path): + print(self.id, 'mkdir', path) + def remove(self, path): + print(self.id, 'remove', path) + def rename(self, old_path, new_path): + print(self.id, 'rename', old_path, new_path) + def rmdir(self, path): + print(self.id, 'rmdir', path) + def stat(self, path): + print(self.id, 'stat', path) + return (self.id,) + def statvfs(self, path): + print(self.id, 'statvfs', path) + return (self.id,) def open(self, file, mode): print(self.id, 'open', file, mode) +# stat root dir +print(uos.stat('/')) + +# getcwd when in root dir +print(uos.getcwd()) + # basic mounting and listdir uos.mount(Filesystem(1), '/test_mnt') print(uos.listdir()) @@ -42,14 +65,43 @@ uos.mount(Filesystem(2), '/test_mnt2', readonly=True) print(uos.listdir()) print(uos.listdir('/test_mnt2')) -# chdir +# mounting over an existing mount point +try: + uos.mount(Filesystem(3), '/test_mnt2') +except OSError: + print('OSError') + +# mkdir of a mount point +try: + uos.mkdir('/test_mnt') +except OSError: + print('OSError') + +# rename across a filesystem +try: + uos.rename('/test_mnt/a', '/test_mnt2/b') +except OSError: + print('OSError') + +# delegating to mounted filesystem uos.chdir('test_mnt') print(uos.listdir()) - -# open +print(uos.getcwd()) +uos.mkdir('test_dir') +uos.remove('test_file') +uos.rename('test_file', 'test_file2') +uos.rmdir('test_dir') +print(uos.stat('test_file')) +print(uos.statvfs('/test_mnt')) open('test_file') open('test_file', 'wb') # umount uos.umount('/test_mnt') uos.umount('/test_mnt2') + +# umount a non-existent mount point +try: + uos.umount('/test_mnt') +except OSError: + print('OSError') diff --git a/tests/extmod/vfs_basic.py.exp b/tests/extmod/vfs_basic.py.exp index c9ed65191b..5104a16a69 100644 --- a/tests/extmod/vfs_basic.py.exp +++ b/tests/extmod/vfs_basic.py.exp @@ -1,3 +1,5 @@ +(16384, 0, 0, 0, 0, 0, 0, 0, 0, 0) +/ 1 mount False False ['test_mnt'] 1 listdir / @@ -8,10 +10,25 @@ ['test_mnt', 'test_mnt2'] 2 listdir / ['a2'] +3 mount False False +OSError +OSError +OSError 1 chdir / 1 listdir ['a1'] +1 getcwd +/test_mntdir1 +1 mkdir test_dir +1 remove test_file +1 rename test_file test_file2 +1 rmdir test_dir +1 stat test_file +(1,) +1 statvfs / +(1,) 1 open test_file r 1 open test_file wb 1 umount 2 umount +OSError |