Extend path_offset testcase for handling of duplicated separators

Paths with multiple '/' characters in a row (e.g. //somenode//somsubnode),
or trailing '/' characters (e.g. '/somenode/somesubnode/') should be
handled by fdt_path_offset(), and treated as equivalent to
/somenode/somesubnode.

Our current path_offset testcase doesn't check for these cases, so extend
it so it does.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/tests/path_offset.c b/tests/path_offset.c
index 0ff710d..af53daf 100644
--- a/tests/path_offset.c
+++ b/tests/path_offset.c
@@ -58,6 +58,8 @@
 {
 	int rc;
 
+	verbose_printf("Checking offset of \"%s\" is %d...\n", path, offset);
+
 	rc = fdt_path_offset(fdt, path);
 	if (rc < 0)
 		FAIL("fdt_path_offset(\"%s\") failed: %s",
@@ -92,5 +94,13 @@
 	check_path_offset(fdt, "/subnode@2/subsubnode@0", subsubnode2_offset);
 	check_path_offset(fdt, "/subnode@2/subsubnode", subsubnode2_offset2);
 
+	/* Test paths with extraneous separators */
+	check_path_offset(fdt, "//", 0);
+	check_path_offset(fdt, "///", 0);
+	check_path_offset(fdt, "//subnode@1", subnode1_offset);
+	check_path_offset(fdt, "/subnode@1/", subnode1_offset);
+	check_path_offset(fdt, "//subnode@1///", subnode1_offset);
+	check_path_offset(fdt, "/subnode@2////subsubnode", subsubnode2_offset2);
+
 	PASS();
 }