test: dm: add test for ofnode_for_each_compatible_node()

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

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
Michael Walle 2021-10-15 15:15:18 +02:00 committed by Priyanka Jain
parent b8ec9458a3
commit bce039acf2

View File

@ -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);