From 7be16e05402a49a432523d6a55e614c7d87627b6 Mon Sep 17 00:00:00 2001 From: Christian Walther Date: Wed, 2 Aug 2023 13:15:21 +0200 Subject: [PATCH] extmod/vfs_posix: Additional tests for coverage of error cases. Signed-off-by: Christian Walther --- tests/extmod/vfs_posix_enoent.py | 42 ++++++++++++++++++++++++++++ tests/extmod/vfs_posix_enoent.py.exp | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 tests/extmod/vfs_posix_enoent.py create mode 100644 tests/extmod/vfs_posix_enoent.py.exp 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,)