diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2018-01-12 21:44:53 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2018-01-12 21:44:53 +0000 |
commit | 2f36e4ecd0f0c04781c752e5382906a43feaf4e3 (patch) | |
tree | 27f6eba9c66c680c931ce0562e2586cc9a3c07de /tests/node_check_compatible.c | |
parent | f059bd1ebfc4cf2e96c4639ad7fa6cf3a3198a2f (diff) |
Notes
Diffstat (limited to 'tests/node_check_compatible.c')
-rw-r--r-- | tests/node_check_compatible.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/node_check_compatible.c b/tests/node_check_compatible.c index 4bdf09194c8b2..486f9c69e2b82 100644 --- a/tests/node_check_compatible.c +++ b/tests/node_check_compatible.c @@ -45,6 +45,23 @@ static void check_compatible(const void *fdt, const char *path, FAIL("%s is not compatible with \"%s\"", path, compat); } +static void check_not_compatible(const void *fdt, const char *path, + const char *compat) +{ + int offset, err; + + offset = fdt_path_offset(fdt, path); + if (offset < 0) + FAIL("fdt_path_offset(%s): %s", path, fdt_strerror(offset)); + + err = fdt_node_check_compatible(fdt, offset, compat); + if (err < 0) + FAIL("fdt_node_check_compatible(%s): %s", path, + fdt_strerror(err)); + if (err == 0) + FAIL("%s is incorrectly compatible with \"%s\"", path, compat); +} + int main(int argc, char *argv[]) { void *fdt; @@ -55,8 +72,10 @@ int main(int argc, char *argv[]) check_compatible(fdt, "/", "test_tree1"); check_compatible(fdt, "/subnode@1/subsubnode", "subsubnode1"); check_compatible(fdt, "/subnode@1/subsubnode", "subsubnode"); + check_not_compatible(fdt, "/subnode@1/subsubnode", "subsubnode2"); check_compatible(fdt, "/subnode@2/subsubnode", "subsubnode2"); check_compatible(fdt, "/subnode@2/subsubnode", "subsubnode"); + check_not_compatible(fdt, "/subnode@2/subsubnode", "subsubnode1"); PASS(); } |