Check that all matching nodes have the correct compatible and that there
is at least one match.

Signed-off-by: Michael Walle <mich...@walle.cc>
---
 test/dm/ofnode.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/test/dm/ofnode.c b/test/dm/ofnode.c
index 49efabe871..cea0746bb3 100644
--- a/test/dm/ofnode.c
+++ b/test/dm/ofnode.c
@@ -333,3 +333,21 @@ static int dm_test_ofnode_conf(struct unit_test_state *uts)
        return 0;
 }
 DM_TEST(dm_test_ofnode_conf, 0);
+
+static int dm_test_ofnode_for_each_compatible_node(struct unit_test_state *uts)
+{
+       const char compatible[] = "denx,u-boot-fdt-test";
+       bool found = false;
+       ofnode node;
+
+       ofnode_for_each_compatible_node(node, compatible) {
+               ut_assert(ofnode_device_is_compatible(node, compatible));
+               found = true;
+       }
+
+       /* There should be at least one matching node */
+       ut_assert(found);
+
+       return 0;
+}
+DM_TEST(dm_test_ofnode_for_each_compatible_node, UT_TESTF_SCAN_FDT);
-- 
2.30.2

Reply via email to