diff options
Diffstat (limited to 'kernel/src/main.cpp')
| -rw-r--r-- | kernel/src/main.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp index e296bd5..aee3579 100644 --- a/kernel/src/main.cpp +++ b/kernel/src/main.cpp @@ -88,13 +88,14 @@ auto test_file_description_manually() -> void auto test_device_with_vfs() -> void { auto vfs = kernel::filesystem::vfs::get(); - auto ofd = vfs.open("/dev/ram0"); - if (!ofd) + auto dentry = vfs.open("/dev/ram0"); + if (!dentry) { kstd::os::panic("test code failed"); } auto fd_table = kernel::filesystem::file_descriptor_table::get(); + auto ofd = kstd::make_shared<kernel::filesystem::open_file_description>(dentry->get_inode()); auto fd = fd_table.add_file(ofd); kstd::vector<std::byte> buffer{2}; auto file = fd_table.get_file(fd); @@ -113,13 +114,14 @@ auto test_file_lookup() -> void auto vfs = kernel::filesystem::vfs::get(); auto read_and_write_file = [&vfs](std::string_view path) { kstd::println("[TEST] Reading and writing file at path: {}", path); - auto ofd = vfs.open(path); - if (!ofd) + auto dentry = vfs.open(path); + if (!dentry) { kstd::os::panic("test code failed"); } kstd::vector<std::byte> buffer{32}; + auto ofd = kstd::make_shared<kernel::filesystem::open_file_description>(dentry->get_inode()); auto number_of_read_bytes = ofd->read(buffer.data(), buffer.size()); kstd::println("read bytes: {}", number_of_read_bytes); kstd::println("buffer: {::#04x}", buffer); |
