aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp')
-rw-r--r--kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp b/kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp
index 20ef7009..2d817e0b 100644
--- a/kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp
+++ b/kernel/kernel/filesystem/ext2/directory_iterator.tests.cpp
@@ -4,6 +4,7 @@
#include <kernel/filesystem/device_inode.hpp>
#include <kernel/filesystem/ext2/filesystem.hpp>
#include <kernel/filesystem/ext2/inode.hpp>
+#include <kernel/filesystem/ext2/mount_state.hpp>
#include <kernel/filesystem/mount.hpp>
#include <kernel/test_support/filesystem/storage_boot_module_fixture.hpp>
@@ -37,12 +38,14 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_fixture,
auto root = (*mount)->root_dentry()->inode();
auto const & root_ext2_inode = static_cast<kernel::filesystem::ext2::inode const &>(*root);
+ auto mount_state = static_pointer_cast<kernel::filesystem::ext2::mount_state>((*mount)->driver_data());
+
WHEN("iterating from begin to the default-constructed end sentinel")
{
auto names = std::vector<std::string>{};
auto guard = 0;
- for (auto it = kernel::filesystem::ext2::directory_iterator{root_ext2_inode};
+ for (auto it = kernel::filesystem::ext2::directory_iterator{root_ext2_inode, *fs, *mount_state};
it != kernel::filesystem::ext2::directory_iterator{}; ++it)
{
REQUIRE(guard++ < 64); // fails loudly on a non-terminating loop rather than hanging the suite
@@ -82,7 +85,9 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_fixture,
auto root = (*mount)->root_dentry()->inode();
auto const & root_ext2_inode = static_cast<kernel::filesystem::ext2::inode const &>(*root);
- auto original = kernel::filesystem::ext2::directory_iterator{root_ext2_inode};
+ auto mount_state = static_pointer_cast<kernel::filesystem::ext2::mount_state>((*mount)->driver_data());
+
+ auto original = kernel::filesystem::ext2::directory_iterator{root_ext2_inode, *fs, *mount_state};
auto const first_name = std::string{&original->name_start, original->name_len};
WHEN("the iterator is copied, then only the original is advanced")