summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-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 0000000000..e6010d79d5
--- /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 0000000000..f2d9a0d551
--- /dev/null
+++ b/tests/extmod/vfs_posix_enoent.py.exp
@@ -0,0 +1,2 @@
+getcwd(): OSError(2,)
+VfsPosix(): OSError(2,)