extmod/vfs_lfsx: Fix rename to respect cur dir for new path.

If the new name start with '/', cur_dir is not prepened any more, so that
the current working directory is respected.  And extend the test cases for
rename to cover this functionality.
This commit is contained in:
robert
2020-05-04 15:34:12 +02:00
committed by Damien George
parent d3ea28d04a
commit 0f83ef395c
3 changed files with 21 additions and 8 deletions

View File

@@ -63,7 +63,7 @@ def test(bdev, vfs_class):
# mkdir, rmdir
vfs.mkdir("testdir")
print(list(vfs.ilistdir()))
print(list(vfs.ilistdir("testdir")))
print(sorted(list(vfs.ilistdir("testdir"))))
vfs.rmdir("testdir")
print(list(vfs.ilistdir()))
vfs.mkdir("testdir")
@@ -91,11 +91,17 @@ def test(bdev, vfs_class):
# rename
vfs.rename("testbig", "testbig2")
print(list(vfs.ilistdir()))
print(sorted(list(vfs.ilistdir())))
vfs.chdir("testdir")
vfs.rename("/testbig2", "testbig2")
print(sorted(list(vfs.ilistdir())))
vfs.rename("testbig2", "/testbig2")
vfs.chdir("/")
print(sorted(list(vfs.ilistdir())))
# remove
vfs.remove("testbig2")
print(list(vfs.ilistdir()))
print(sorted(list(vfs.ilistdir())))
# getcwd, chdir
vfs.mkdir("/testdir2")

View File

@@ -16,7 +16,9 @@ write 1
write 2
write 3
(1024, 1024, 30, 6, 6, 0, 0, 0, 0, 255)
[('test', 32768, 0, 8), ('testdir', 16384, 0, 0), ('testbig2', 32768, 0, 16384)]
[('test', 32768, 0, 8), ('testbig2', 32768, 0, 16384), ('testdir', 16384, 0, 0)]
[('testbig2', 32768, 0, 16384)]
[('test', 32768, 0, 8), ('testbig2', 32768, 0, 16384), ('testdir', 16384, 0, 0)]
[('test', 32768, 0, 8), ('testdir', 16384, 0, 0)]
/
/testdir
@@ -51,8 +53,10 @@ write 1
write 2
write 3
(1024, 1024, 30, 7, 7, 0, 0, 0, 0, 255)
[('testbig2', 32768, 0, 16384), ('testdir', 16384, 0, 0), ('test', 32768, 0, 8)]
[('testdir', 16384, 0, 0), ('test', 32768, 0, 8)]
[('test', 32768, 0, 8), ('testbig2', 32768, 0, 16384), ('testdir', 16384, 0, 0)]
[('testbig2', 32768, 0, 16384)]
[('test', 32768, 0, 8), ('testbig2', 32768, 0, 16384), ('testdir', 16384, 0, 0)]
[('test', 32768, 0, 8), ('testdir', 16384, 0, 0)]
/
/testdir
(32768, 0, 0, 0, 0, 0, 0, 0, 0, 0)