mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
of: unittest: Check tree matches original after reverting a changeset
Enhance the changeset unittest to ensure after a revert, the tree matches the original tree before the changeset was applied. Specifically, check an added node is removed, a removed property is added back, and an updated property has its original value. Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
b37c60d23d
commit
500d45100a
@ -797,6 +797,7 @@ static void __init of_unittest_property_copy(void)
|
||||
static void __init of_unittest_changeset(void)
|
||||
{
|
||||
#ifdef CONFIG_OF_DYNAMIC
|
||||
int ret;
|
||||
struct property *ppadd, padd = { .name = "prop-add", .length = 1, .value = "" };
|
||||
struct property *ppname_n1, pname_n1 = { .name = "name", .length = 3, .value = "n1" };
|
||||
struct property *ppname_n2, pname_n2 = { .name = "name", .length = 3, .value = "n2" };
|
||||
@ -807,6 +808,7 @@ static void __init of_unittest_changeset(void)
|
||||
static const char * const str_array[] = { "str1", "str2", "str3" };
|
||||
const u32 u32_array[] = { 1, 2, 3 };
|
||||
struct of_changeset chgset;
|
||||
const char *propstr = NULL;
|
||||
|
||||
n1 = __of_node_dup(NULL, "n1");
|
||||
unittest(n1, "testcase setup failure\n");
|
||||
@ -886,6 +888,17 @@ static void __init of_unittest_changeset(void)
|
||||
|
||||
unittest(!of_changeset_revert(&chgset), "revert failed\n");
|
||||
|
||||
unittest(!of_find_node_by_path("/testcase-data/changeset/n2/n21"),
|
||||
"'%pOF' still present after revert\n", n21);
|
||||
|
||||
ppremove = of_find_property(parent, "prop-remove", NULL);
|
||||
unittest(ppremove, "failed to find removed prop after revert\n");
|
||||
|
||||
ret = of_property_read_string(parent, "prop-update", &propstr);
|
||||
unittest(!ret, "failed to find updated prop after revert\n");
|
||||
if (!ret)
|
||||
unittest(strcmp(propstr, "hello") == 0, "original value not in updated property after revert");
|
||||
|
||||
of_changeset_destroy(&chgset);
|
||||
|
||||
of_node_put(n1);
|
||||
|
Loading…
Reference in New Issue
Block a user