aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/interface_registry.tests.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-24 15:21:41 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-24 15:21:41 +0200
commit88db123ae14fd2de55a9cd986dade018839cb4d4 (patch)
treee4d63f97662d2fd29847ee288bee61abc024b2e7 /kernel/kapi/devices/interface_registry.tests.cpp
parent6b539cfdf04f8f647ad953431be00e3fa561a65c (diff)
downloadkernel-88db123ae14fd2de55a9cd986dade018839cb4d4.tar.xz
kernel-88db123ae14fd2de55a9cd986dade018839cb4d4.zip
kapi: fix interface registry tests
Diffstat (limited to 'kernel/kapi/devices/interface_registry.tests.cpp')
-rw-r--r--kernel/kapi/devices/interface_registry.tests.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/kapi/devices/interface_registry.tests.cpp b/kernel/kapi/devices/interface_registry.tests.cpp
index f82e867e..1982edbf 100644
--- a/kernel/kapi/devices/interface_registry.tests.cpp
+++ b/kernel/kapi/devices/interface_registry.tests.cpp
@@ -27,6 +27,13 @@ namespace
}
};
+ struct unimplemented_device
+ {
+ constexpr auto static id = kapi::devices::interface{"unimplemented"};
+
+ virtual ~unimplemented_device() = default;
+ };
+
struct test_device final : kapi::devices::device, probe_device
{
explicit test_device(int value, const_device & const_device)
@@ -136,9 +143,14 @@ SCENARIO("Publishing and finding a device", "[kapi][devices][interface_registry]
REQUIRE(registry.resolve<probe_device>("probe0"));
}
- THEN("find for an unpublished capability does not find a device")
+ THEN("resolve finds a capability the device implements but never published")
+ {
+ REQUIRE(registry.resolve<const_device>("probe0"));
+ }
+
+ THEN("resolve for a capability the device implements nowhere at all does not find anything")
{
- REQUIRE_FALSE(registry.resolve<const_device>("probe0"));
+ REQUIRE_FALSE(registry.resolve<unimplemented_device>("probe0"));
}
THEN("find for an unpublished device does not find a device")