summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/extmod/vfs_posix_ilistdir_filter.py47
-rw-r--r--tests/extmod/vfs_posix_ilistdir_filter.py.exp1
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/extmod/vfs_posix_ilistdir_filter.py b/tests/extmod/vfs_posix_ilistdir_filter.py
new file mode 100644
index 000000000..c32d12497
--- /dev/null
+++ b/tests/extmod/vfs_posix_ilistdir_filter.py
@@ -0,0 +1,47 @@
+# Test ilistdir filter of . and .. for VfsPosix.
+
+try:
+ import os
+
+ os.VfsPosix
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
+
+
+def test(testdir):
+ vfs = os.VfsPosix(testdir)
+
+ dirs = [".a", "..a", "...a", "a.b", "a..b"]
+
+ for dir in dirs:
+ vfs.mkdir(dir)
+
+ dirs = []
+ for entry in vfs.ilistdir("/"):
+ dirs.append(entry[0])
+ dirs.sort()
+
+ print(dirs)
+
+
+# We need an empty directory for testing.
+# Skip the test if it already exists.
+temp_dir = "vfs_posix_ilistdir_filter_test_dir"
+try:
+ os.stat(temp_dir)
+ print("SKIP")
+ raise SystemExit
+except OSError:
+ pass
+
+os.mkdir(temp_dir)
+
+try:
+ test(temp_dir)
+finally:
+ # Remove tempdir.
+ for td in os.listdir(temp_dir):
+ os.rmdir("/".join((temp_dir, td)))
+
+ os.rmdir(temp_dir)
diff --git a/tests/extmod/vfs_posix_ilistdir_filter.py.exp b/tests/extmod/vfs_posix_ilistdir_filter.py.exp
new file mode 100644
index 000000000..2f5107383
--- /dev/null
+++ b/tests/extmod/vfs_posix_ilistdir_filter.py.exp
@@ -0,0 +1 @@
+['...a', '..a', '.a', 'a..b', 'a.b']