diff options
| author | Marcel Braun <marcel.braun@ost.ch> | 2026-04-16 22:04:32 +0200 |
|---|---|---|
| committer | Marcel Braun <marcel.braun@ost.ch> | 2026-04-16 22:04:32 +0200 |
| commit | f642efb5cf199d3bbb8e3b01c451c71a1fbeabf8 (patch) | |
| tree | 7e680dd885a59678d7075d352ee623f659d64d48 /kernel/src/filesystem/ext2/filesystem.tests.cpp | |
| parent | 3c210c07c60fbe9378cfb720847e8c1d3c763ead (diff) | |
| parent | e70ea2357a80386b0a12138201b353d942910296 (diff) | |
| download | teachos-f642efb5cf199d3bbb8e3b01c451c71a1fbeabf8.tar.xz teachos-f642efb5cf199d3bbb8e3b01c451c71a1fbeabf8.zip | |
Merge branch 'syscall-interface' into 'develop-BA-FS26'
Add fs syscall handler
See merge request teachos/kernel!23
Diffstat (limited to 'kernel/src/filesystem/ext2/filesystem.tests.cpp')
| -rw-r--r-- | kernel/src/filesystem/ext2/filesystem.tests.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/kernel/src/filesystem/ext2/filesystem.tests.cpp b/kernel/src/filesystem/ext2/filesystem.tests.cpp index b13ebf3..a7b8d5b 100644 --- a/kernel/src/filesystem/ext2/filesystem.tests.cpp +++ b/kernel/src/filesystem/ext2/filesystem.tests.cpp @@ -1,6 +1,7 @@ #include "kernel/filesystem/ext2/filesystem.hpp" #include "kernel/devices/storage/management.hpp" +#include "kernel/filesystem/device_inode.hpp" #include "kernel/filesystem/ext2/inode.hpp" #include "kernel/filesystem/filesystem.hpp" #include "kernel/test_support/devices/block_device.hpp" @@ -29,8 +30,10 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_fixture, auto boot_device = kernel::devices::storage::management::get().determine_boot_device(); REQUIRE(boot_device != nullptr); + auto dev_inode = kstd::make_shared<kernel::filesystem::device_inode>(boot_device); + auto fs = kernel::filesystem::ext2::filesystem{}; - REQUIRE(fs.mount(boot_device) == kernel::filesystem::filesystem::operation_result::success); + REQUIRE(fs.mount(dev_inode) == kernel::filesystem::filesystem::operation_result::success); THEN("the root inode is available and is a directory") { @@ -72,11 +75,13 @@ SCENARIO("Ext2 filesystem rejects invalid magic", "[filesystem][ext2][filesystem auto device = kstd::make_shared<kernel::tests::devices::block_device>(0, 0, "mock", block_size, 2 * block_size); REQUIRE(device != nullptr); + auto dev_inode = kstd::make_shared<kernel::filesystem::device_inode>(device); + auto fs = kernel::filesystem::ext2::filesystem{}; THEN("mount fails with invalid_magic_number") { - REQUIRE(fs.mount(device) == kernel::filesystem::filesystem::operation_result::invalid_magic_number); + REQUIRE(fs.mount(dev_inode) == kernel::filesystem::filesystem::operation_result::invalid_magic_number); } } } @@ -92,8 +97,10 @@ SCENARIO("Ext2 block mapping includes direct and all indirect levels", "[filesys kernel::tests::filesystem::ext2::setup_mock_ext2_layout(*device); + auto dev_inode = kstd::make_shared<kernel::filesystem::device_inode>(device); + auto fs = kernel::filesystem::ext2::filesystem{}; - REQUIRE(fs.mount(device) == kernel::filesystem::filesystem::operation_result::success); + REQUIRE(fs.mount(dev_inode) == kernel::filesystem::filesystem::operation_result::success); auto inode_data = kernel::filesystem::ext2::inode_data{}; inode_data.block[0] = 7; |
