aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcel.braun <marcel.braun@ost.ch>2026-03-23 22:18:54 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-26 21:18:56 +0100
commitb3cb1d0f8864bf54362f1da2b7a65ca693778cff (patch)
tree27e600e43d7f4eb6d1cdac8570598a97d1600cd9
parentfbb4eefce7bf825b0406f6fa63de318153a3b95a (diff)
downloadteachos-b3cb1d0f8864bf54362f1da2b7a65ca693778cff.tar.xz
teachos-b3cb1d0f8864bf54362f1da2b7a65ca693778cff.zip
Add test for resolve_path
-rw-r--r--kernel/src/filesystem/ext2/ext2_filesystem.cpp5
-rw-r--r--kernel/src/main.cpp14
2 files changed, 18 insertions, 1 deletions
diff --git a/kernel/src/filesystem/ext2/ext2_filesystem.cpp b/kernel/src/filesystem/ext2/ext2_filesystem.cpp
index 536e328..3f5774c 100644
--- a/kernel/src/filesystem/ext2/ext2_filesystem.cpp
+++ b/kernel/src/filesystem/ext2/ext2_filesystem.cpp
@@ -1,6 +1,7 @@
#include "kernel/filesystem/ext2/ext2_filesystem.hpp"
#include "kernel/devices/device.hpp"
+#include "kernel/filesystem/ext2/ext2_inode.hpp"
#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/inode.hpp"
@@ -17,6 +18,7 @@ namespace filesystem::ext2
// m_root_inode = inode{inode_kind::directory};
// TODO BA-FS26 implement
+ m_root_inode = kstd::make_shared<ext2_inode>();
return 0;
}
@@ -24,6 +26,7 @@ namespace filesystem::ext2
-> kstd::shared_ptr<inode>
{
// TODO BA-FS26 implement ext2 directory traversal and inode loading
- return nullptr;
+ // return nullptr;
+ return kstd::make_shared<ext2_inode>();
}
} // namespace filesystem::ext2
diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp
index 3ba240d..a575be2 100644
--- a/kernel/src/main.cpp
+++ b/kernel/src/main.cpp
@@ -104,6 +104,16 @@ auto test_device_with_vfs() -> void
kstd::println("buffer: {::#04x}", buffer);
}
+auto test_file_lookup() -> void
+{
+ // TODO BA-FS26 implement a more complete test with multiple files and directories and mounts etc.
+
+ auto vfs = filesystem::vfs::get();
+ vfs.open("/a/b/c");
+ vfs.open("/a/d/e");
+ vfs.open("x/y/z");
+}
+
auto run_test_code() -> void
{
kstd::println("[TEST] Running test code...");
@@ -119,6 +129,10 @@ auto run_test_code() -> void
kstd::println("[TEST] device with VFS");
test_device_with_vfs();
kstd::println("---------------------------------");
+
+ kstd::println("[TEST] file lookup");
+ test_file_lookup();
+ kstd::println("---------------------------------");
}
auto main() -> int