aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/open_file_descriptor.tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/filesystem/open_file_descriptor.tests.cpp')
-rw-r--r--kernel/src/filesystem/open_file_descriptor.tests.cpp14
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")
{