From df85e4881396d0ebb5942a111fba974ea5c80b77 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 11 Feb 2021 23:24:39 +1100 Subject: [PATCH] tests/extmod/vfs_posix.py: Add more tests for VfsPosix class. Signed-off-by: Damien George --- tests/extmod/vfs_posix.py | 52 +++++++++++++++++++++++++++++++---- tests/extmod/vfs_posix.py.exp | 11 ++++++++ 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/tests/extmod/vfs_posix.py b/tests/extmod/vfs_posix.py index aea447e182..f8c4aae406 100644 --- a/tests/extmod/vfs_posix.py +++ b/tests/extmod/vfs_posix.py @@ -8,11 +8,11 @@ except (ImportError, AttributeError): print("SKIP") raise SystemExit -# We need a file for testing that doesn't already exist. +# We need a directory for testing that doesn't already exist. # Skip the test if it does exist. -temp_file = "micropy_test_file.txt" +temp_dir = "micropy_test_dir" try: - uos.stat(temp_file) + uos.stat(temp_dir) print("SKIP") raise SystemExit except OSError: @@ -31,18 +31,58 @@ print(type(uos.stat("/"))) # listdir and ilistdir print(type(uos.listdir("/"))) +# mkdir +uos.mkdir(temp_dir) + # file create -f = open(temp_file, "w") +f = open(temp_dir + "/test", "w") f.write("hello") f.close() # close on a closed file should succeed f.close() +# construct a file object using the type constructor, with a raw fileno +f = type(f)(2) +print(f) + # file read -f = open(temp_file, "r") +f = open(temp_dir + "/test", "r") print(f.read()) f.close() +# rename +uos.rename(temp_dir + "/test", temp_dir + "/test2") +print(uos.listdir(temp_dir)) + +# construct new VfsPosix with path argument +vfs = uos.VfsPosix(temp_dir) +print(list(i[0] for i in vfs.ilistdir("."))) + +# stat, statvfs +print(type(vfs.stat("."))) +print(type(vfs.statvfs("."))) + +# check types of ilistdir with str/bytes arguments +print(type(list(vfs.ilistdir("."))[0][0])) +print(type(list(vfs.ilistdir(b"."))[0][0])) + # remove -uos.remove(temp_file) +uos.remove(temp_dir + "/test2") +print(uos.listdir(temp_dir)) + +# remove with error +try: + uos.remove(temp_dir + "/test2") +except OSError: + print("remove OSError") + +# rmdir +uos.rmdir(temp_dir) +print(temp_dir in uos.listdir()) + +# rmdir with error +try: + uos.rmdir(temp_dir) +except OSError: + print("rmdir OSError") diff --git a/tests/extmod/vfs_posix.py.exp b/tests/extmod/vfs_posix.py.exp index c0a4ed000b..e7d68f38ec 100644 --- a/tests/extmod/vfs_posix.py.exp +++ b/tests/extmod/vfs_posix.py.exp @@ -2,4 +2,15 @@ True + hello +['test2'] +['test2'] + + + + +[] +remove OSError +False +rmdir OSError