diff options
Diffstat (limited to 'kernel/kapi/devices/interface_registry.tests.cpp')
| -rw-r--r-- | kernel/kapi/devices/interface_registry.tests.cpp | 16 |
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") |
