platform_external_dtc/tests/overlay_overlay_no_fixups.dts
David Gibson 6ea8cd944f tests: More thorough tests of libfdt overlay application without dtc
At the moment we have some rudimentary tests of the fdt_overlay_apply()
function which don't rely on overlay generation support in dtc.  This is
done by avoiding any external references in the sample overlay, in
particularly using the 'target-path' syntax instead of 'target' to avoid
needing external references in the fragment targets.  Thus this test case
doesn't exercise libfdt's processing of the __fixups__ node at all.

We do test that somewhat in combination with dtc's overlay support.
However, in the interests of being able to quickly determine which side a
bug is on, it would be nice to exercise this without requiring the dtc
support.

This adds testcases to do so, by making some examples with manually
constructed __symbols__ and __fixups__ nodes.  In addition we rename some
of the test data files and add some extra check_path tests to make it a bit
clearer what's going on here.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-12-09 16:13:35 +11:00

82 lines
1.1 KiB
Text

/*
* Copyright (c) 2016 NextThing Co
* Copyright (c) 2016 Free Electrons
*
* SPDX-License-Identifier: GPL-2.0+
*/
/dts-v1/;
/ {
fragment@0 {
target-path = "/test-node";
__overlay__ {
test-int-property = <43>;
};
};
/* Test that we can replace a string by a longer one */
fragment@1 {
target-path = "/test-node";
__overlay__ {
test-str-property = "foobar";
};
};
/* Test that we add a new property */
fragment@2 {
target-path = "/test-node";
__overlay__ {
test-str-property-2 = "foobar2";
};
};
fragment@3 {
target-path = "/test-node";
__overlay__ {
new-node {
new-property;
};
};
};
fragment@4 {
target-path = "/";
__overlay__ {
local: new-local-node {
new-property;
};
};
};
fragment@5 {
target-path = "/";
__overlay__ {
test-several-phandle = <&local>, <&local>;
};
};
fragment@6 {
target-path = "/test-node";
__overlay__ {
sub-test-node {
new-sub-test-property;
};
};
};
__local_fixups__ {
fragment@5 {
__overlay__ {
test-several-phandle = <0 4>;
};
};
};
};