summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Walther <cwalther@gmx.ch>2023-08-02 13:15:21 +0200
committerChristian Walther <cwalther@gmx.ch>2023-10-19 16:21:09 +0200
commit7be16e05402a49a432523d6a55e614c7d87627b6 (patch)
tree962ee080a00eb704eac384f61665ccaf62975c8a
parentbe28829ae8d22e1a0373bda116022ee446fb2ed8 (diff)
extmod/vfs_posix: Additional tests for coverage of error cases.
Signed-off-by: Christian Walther <cwalther@gmx.ch>
-rw-r--r--tests/extmod/vfs_posix_enoent.py42
-rw-r--r--tests/extmod/vfs_posix_enoent.py.exp2
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/extmod/vfs_posix_enoent.py b/tests/extmod/vfs_posix_enoent.py
new file mode 100644
index 000000000..e6010d79d
--- /dev/null
+++ b/tests/extmod/vfs_posix_enoent.py
@@ -0,0 +1,42 @@
+# Test for VfsPosix error conditions
+
+try:
+ import os
+ import sys
+
+ os.VfsPosix
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
+
+if sys.platform == "win32":
+ # Windows doesn't let you delete the current directory, so this cannot be
+ # tested.
+ print("SKIP")
+ raise SystemExit
+
+# We need an empty directory for testing.
+# Skip the test if it already exists.
+temp_dir = "vfs_posix_enoent_test_dir"
+try:
+ os.stat(temp_dir)
+ print("SKIP")
+ raise SystemExit
+except OSError:
+ pass
+
+curdir = os.getcwd()
+os.mkdir(temp_dir)
+os.chdir(temp_dir)
+os.rmdir(curdir + "/" + temp_dir)
+try:
+ print("getcwd():", os.getcwd())
+except OSError as e:
+ # expecting ENOENT = 2
+ print("getcwd():", repr(e))
+
+try:
+ print("VfsPosix():", os.VfsPosix("something"))
+except OSError as e:
+ # expecting ENOENT = 2
+ print("VfsPosix():", repr(e))
diff --git a/tests/extmod/vfs_posix_enoent.py.exp b/tests/extmod/vfs_posix_enoent.py.exp
new file mode 100644
index 000000000..f2d9a0d55
--- /dev/null
+++ b/tests/extmod/vfs_posix_enoent.py.exp
@@ -0,0 +1,2 @@
+getcwd(): OSError(2,)
+VfsPosix(): OSError(2,)