diff options
| author | Marcel Braun <marcel.braun@ost.ch> | 2026-05-14 16:29:29 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-16 11:56:07 +0200 |
| commit | c6953852b9e10823830688bdfb269650b080f1bb (patch) | |
| tree | cbf3f05555fd6dc7760f116eeae825d674877e59 /kernel/src/filesystem/open_file_descriptor.tests.cpp | |
| parent | 245f47af9362e83235a28f993c89f844886e65c3 (diff) | |
| download | kernel-c6953852b9e10823830688bdfb269650b080f1bb.tar.xz kernel-c6953852b9e10823830688bdfb269650b080f1bb.zip | |
Track dentry instead of inode in open_file_descriptor
Diffstat (limited to 'kernel/src/filesystem/open_file_descriptor.tests.cpp')
| -rw-r--r-- | kernel/src/filesystem/open_file_descriptor.tests.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/kernel/src/filesystem/open_file_descriptor.tests.cpp b/kernel/src/filesystem/open_file_descriptor.tests.cpp index 53835ba..8c24cf0 100644 --- a/kernel/src/filesystem/open_file_descriptor.tests.cpp +++ b/kernel/src/filesystem/open_file_descriptor.tests.cpp @@ -1,5 +1,7 @@ #include <kernel/filesystem/open_file_descriptor.hpp> +#include <kernel/filesystem/dentry.hpp> +#include <kernel/filesystem/inode.hpp> #include <kernel/filesystem/vfs.hpp> #include <kernel/test_support/filesystem/inode.hpp> #include <kernel/test_support/filesystem/storage_boot_module_vfs_fixture.hpp> @@ -16,10 +18,11 @@ SCENARIO("Open file descriptor construction", "[filesystem][open_file_descriptor]") { - GIVEN("an inode and an open file descriptor for that inode") + GIVEN("a dentry and an open file descriptor for that dentry") { auto inode = kstd::make_shared<kernel::tests::filesystem::inode>(); - auto file_descriptor = kernel::filesystem::open_file_descriptor{inode}; + auto dentry = kstd::make_shared<kernel::filesystem::dentry>(nullptr, inode, "test_dentry"); + auto file_descriptor = kernel::filesystem::open_file_descriptor{dentry}; THEN("the initial offset is zero") { @@ -30,10 +33,11 @@ SCENARIO("Open file descriptor construction", "[filesystem][open_file_descriptor SCENARIO("Open file descriptor read/write offset management", "[filesystem][open_file_descriptor]") { - GIVEN("an inode that tracks read/write calls and an open file descriptor for that inode") + GIVEN("a dentry that tracks read/write calls and an open file descriptor for that dentry") { auto inode = kstd::make_shared<kernel::tests::filesystem::inode>(); - auto file_descriptor = kernel::filesystem::open_file_descriptor{inode}; + auto dentry = kstd::make_shared<kernel::filesystem::dentry>(nullptr, inode, "test_dentry"); + auto file_descriptor = kernel::filesystem::open_file_descriptor{dentry}; THEN("the offset is updated correctly after reads") { @@ -78,7 +82,7 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Ope auto & vfs = kernel::filesystem::vfs::get(); auto dentry = vfs.open("/information/info_1.txt"); REQUIRE(dentry != nullptr); - auto ofd = kstd::make_shared<kernel::filesystem::open_file_descriptor>(dentry->get_inode()); + auto ofd = kstd::make_shared<kernel::filesystem::open_file_descriptor>(dentry); THEN("the file can be read and the offset is updated") { |
