diff --git a/Tests/Kernel/TestFileSystemDirentTypes.cpp b/Tests/Kernel/TestFileSystemDirentTypes.cpp index 963f2bf0b3..f3bd9f0058 100644 --- a/Tests/Kernel/TestFileSystemDirentTypes.cpp +++ b/Tests/Kernel/TestFileSystemDirentTypes.cpp @@ -68,6 +68,31 @@ TEST_CASE(test_devpts_root_directory) EXPECT_EQ(_dirent->d_type, DT_DIR); } +TEST_CASE(test_devloop_root_directory) +{ + auto dirfd = open("/dev/loop/", O_RDONLY | O_DIRECTORY); + auto cleanup_guard = ScopeGuard([&] { + close(dirfd); + }); + + DIR* dir = fdopendir(dirfd); + EXPECT(dir != nullptr); + + auto cleanup_dir_guard = ScopeGuard([&] { + closedir(dir); + }); + + auto* _dirent = readdir(dir); + EXPECT(_dirent != nullptr); + // NOTE: We should see '.' + EXPECT_EQ(_dirent->d_type, DT_DIR); + + _dirent = readdir(dir); + EXPECT(_dirent != nullptr); + // NOTE: We should see '..' + EXPECT_EQ(_dirent->d_type, DT_DIR); +} + TEST_CASE(test_procfs_root_directory) { auto dirfd = open("/proc/", O_RDONLY | O_DIRECTORY);