diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kapi/filesystem.cpp | 11 | ||||
| -rw-r--r-- | kernel/kapi/filesystem.tests.cpp | 9 |
2 files changed, 20 insertions, 0 deletions
diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp index e50ce2c0..7a0c2728 100644 --- a/kernel/kapi/filesystem.cpp +++ b/kernel/kapi/filesystem.cpp @@ -4,6 +4,7 @@ #include <kstd/memory.hpp> #include <kstd/result.hpp> +#include <kstd/system_error.hpp> #include <kstd/units.hpp> #include <cstddef> @@ -11,6 +12,7 @@ #include <expected> #include <span> #include <string_view> +#include <utility> namespace kapi::filesystem { @@ -88,4 +90,13 @@ namespace kapi::filesystem return kernel::vfs::vfs::get().create_device_node(path, static_cast<std::uint32_t>(type), number); } + auto read_directory(std::size_t file_descriptor, directory_cursor position, std::span<directory_entry> buffer) + -> kstd::result<std::pair<std::size_t, directory_cursor>> + { + static_cast<void>(file_descriptor); + static_cast<void>(position); + static_cast<void>(buffer); + return kstd::failure(make_error_code(kstd::errc::not_supported)); + } + } // namespace kapi::filesystem
\ No newline at end of file diff --git a/kernel/kapi/filesystem.tests.cpp b/kernel/kapi/filesystem.tests.cpp index d23255c3..b2e39967 100644 --- a/kernel/kapi/filesystem.tests.cpp +++ b/kernel/kapi/filesystem.tests.cpp @@ -292,6 +292,15 @@ SCENARIO_METHOD(kernel::tests::vfs::storage_boot_module_vfs_fixture, "Kapi files REQUIRE(kapi::filesystem::umount("/information")); } + + THEN("listing the contents of a directory fails") + { + auto directory = kapi::filesystem::open("/information"); + REQUIRE(directory); + + auto buffer = std::vector<kapi::filesystem::directory_entry>{10}; + REQUIRE_FALSE(kapi::filesystem::read_directory(*directory, {}, buffer)); + } } } |
