diff options
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/run_tests.sh | 4 | ||||
-rw-r--r-- | tests/test_tree1.dts | 37 | ||||
-rw-r--r-- | tests/test_tree1_body.dtsi | 36 | ||||
-rw-r--r-- | tests/test_tree1_delete.dts | 68 |
4 files changed, 109 insertions, 36 deletions
diff --git a/tests/run_tests.sh b/tests/run_tests.sh index f5eebd6..e2158f7 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -367,6 +367,10 @@ dtc_tests () { run_dtc_test -I dts -O dtb -o dtc_tree1_merge_path.test.dtb test_tree1_merge_path.dts tree1_tests dtc_tree1_merge_path.test.dtb test_tree1.dtb + # Check prop/node delete functionality + run_dtc_test -I dts -O dtb -o dtc_tree1_delete.test.dtb test_tree1_delete.dts + tree1_tests dtc_tree1_delete.test.dtb + # Check some checks check_tests dup-nodename.dts duplicate_node_names check_tests dup-propname.dts duplicate_property_names diff --git a/tests/test_tree1.dts b/tests/test_tree1.dts index cf530ce..c7b170c 100644 --- a/tests/test_tree1.dts +++ b/tests/test_tree1.dts @@ -1,38 +1,3 @@ /dts-v1/; -/memreserve/ 0xdeadbeef00000000 0x100000; -/memreserve/ 123456789 010000; - -/ { - compatible = "test_tree1"; - prop-int = <0xdeadbeef>; - prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; - prop-str = "hello world"; - - subnode@1 { - compatible = "subnode1"; - prop-int = [deadbeef]; - - subsubnode { - compatible = "subsubnode1", "subsubnode"; - prop-int = <0xdeadbeef>; - }; - - ss1 { - }; - }; - - subnode@2 { - linux,phandle = <0x2000>; - prop-int = <123456789>; - - ssn0: subsubnode@0 { - phandle = <0x2001>; - compatible = "subsubnode2", "subsubnode"; - prop-int = <0726746425>; - }; - - ss2 { - }; - }; -}; +/include/ "test_tree1_body.dtsi" diff --git a/tests/test_tree1_body.dtsi b/tests/test_tree1_body.dtsi new file mode 100644 index 0000000..1446191 --- /dev/null +++ b/tests/test_tree1_body.dtsi @@ -0,0 +1,36 @@ +/memreserve/ 0xdeadbeef00000000 0x100000; +/memreserve/ 123456789 010000; + +/ { + compatible = "test_tree1"; + prop-int = <0xdeadbeef>; + prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; + prop-str = "hello world"; + + subnode@1 { + compatible = "subnode1"; + prop-int = [deadbeef]; + + subsubnode { + compatible = "subsubnode1", "subsubnode"; + prop-int = <0xdeadbeef>; + }; + + ss1 { + }; + }; + + subnode@2 { + linux,phandle = <0x2000>; + prop-int = <123456789>; + + ssn0: subsubnode@0 { + phandle = <0x2001>; + compatible = "subsubnode2", "subsubnode"; + prop-int = <0726746425>; + }; + + ss2 { + }; + }; +}; diff --git a/tests/test_tree1_delete.dts b/tests/test_tree1_delete.dts new file mode 100644 index 0000000..a2f1bfd --- /dev/null +++ b/tests/test_tree1_delete.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +/include/ "test_tree1_body.dtsi" + +/ { + nonexistant-property = <0xdeadbeef>; + + nonexistant-subnode { + prop-int = <1>; + }; + + dellabel: deleted-by-label { + prop-int = <1>; + }; + + subnode@1 { + delete-this-str = "deadbeef"; + }; + +}; + +/ { + /delete-property/ nonexistant-property; + + /delete-node/ nonexistant-subnode; + + subnode@1 { + /delete-property/ delete-this-str; + }; +}; + +/delete-node/ &dellabel; + +/ { + /delete-property/ prop-str; +}; + +/ { + prop-str = "hello world"; +}; + +/ { + subnode@1 { + /delete-node/ ss1; + }; +}; + +/ { + subnode@1 { + ss1 { + }; + }; +}; + +/{ + duplabel1: foo1 = "bar"; + duplabel2: foo2 = "bar"; +}; + +/{ + duplabel1: baz1 = "qux"; + duplabel2: baz2 = "qux"; +}; + +/{ + /delete-property/ foo1; + /delete-property/ baz2; +}; |