From eaee2798c45ea21e2d7f1b33b19c544b1083ee5a Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 24 Jul 2026 08:49:50 +0200 Subject: kernel: fix device inode tests --- kernel/kernel/filesystem/device_inode.tests.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kernel/kernel/filesystem/device_inode.tests.cpp b/kernel/kernel/filesystem/device_inode.tests.cpp index 09979030..aa97f8ca 100644 --- a/kernel/kernel/filesystem/device_inode.tests.cpp +++ b/kernel/kernel/filesystem/device_inode.tests.cpp @@ -21,6 +21,7 @@ #include #include +#include #include using namespace kstd::units_literals; @@ -35,6 +36,21 @@ namespace } }; + struct test_driver final : kapi::devices::driver + { + [[nodiscard]] auto probe(kapi::devices::device &) -> kstd::result override + { + return kstd::success(); + } + + auto unbind(kapi::devices::device &) -> void override {} + + [[nodiscard]] auto claimed_major() const -> std::optional override + { + return std::uint8_t{1}; + } + }; + struct mock_origin_inode : kernel::filesystem::inode { auto read(void *, kstd::units::bytes, kstd::units::bytes) const -> kstd::result override @@ -168,6 +184,10 @@ SCENARIO("Device inode raw_device()", "[filesystem][device-inode]") GIVEN("A block device that has been published and numbered") { auto device = kstd::make_shared("ram0", 512_B); + auto driver = kstd::make_shared(); + device->bind_driver(driver); + device->set_state(kapi::devices::state::bound); + REQUIRE(kapi::devices::interface_registry::get().publish(device, "ram0")); auto inode = kernel::filesystem::device_inode{device}; -- cgit v1.2.3