diff --git a/tests/overlay_overlay.dts b/tests/overlay_overlay.dts index b6d841b..c4ef1d4 100644 --- a/tests/overlay_overlay.dts +++ b/tests/overlay_overlay.dts @@ -9,78 +9,44 @@ /dts-v1/; /plugin/; -/ { - /* Test that we can change an int by another */ - fragment@0 { - target = <&test>; - - __overlay__ { - test-int-property = <43>; - }; - }; - - /* Test that we can replace a string by a longer one */ - fragment@1 { - target = <&test>; - - __overlay__ { - test-str-property = "foobar"; - }; - }; - - /* Test that we add a new property */ - fragment@2 { - target = <&test>; - - __overlay__ { - test-str-property-2 = "foobar2"; - }; - }; - - /* Test that we add a new node (by phandle) */ - fragment@3 { - target = <&test>; +/* Test that we can change an int by another */ +&test { + test-int-property = <43>; +}; - __overlay__ { - new-node { - new-property; - }; - }; - }; +/* Test that we can replace a string by a longer one */ +&test { + test-str-property = "foobar"; +}; - fragment@5 { - target = <&test>; +/* Test that we add a new property */ +&test { + test-str-property-2 = "foobar2"; +}; - __overlay__ { - local: new-local-node { - new-property; - }; - }; +/* Test that we add a new node (by phandle) */ +&test { + new-node { + new-property; }; +}; - fragment@6 { - target = <&test>; - - __overlay__ { - test-phandle = <&test>, <&local>; - }; +&test { + local: new-local-node { + new-property; }; +}; - fragment@7 { - target = <&test>; - - __overlay__ { - test-several-phandle = <&local>, <&local>; - }; - }; +&test { + test-phandle = <&test>, <&local>; +}; - fragment@8 { - target = <&test>; +&test { + test-several-phandle = <&local>, <&local>; +}; - __overlay__ { - sub-test-node { - new-sub-test-property; - }; - }; +&test { + sub-test-node { + new-sub-test-property; }; }; diff --git a/tests/overlay_overlay_manual_fixups.dts b/tests/overlay_overlay_manual_fixups.dts index e34c4fc..a5715b6 100644 --- a/tests/overlay_overlay_manual_fixups.dts +++ b/tests/overlay_overlay_manual_fixups.dts @@ -50,7 +50,7 @@ }; }; - fragment@5 { + fragment@4 { target = <0xffffffff /*&test*/>; __overlay__ { @@ -60,7 +60,7 @@ }; }; - fragment@6 { + fragment@5 { target = <0xffffffff /*&test*/>; __overlay__ { @@ -68,7 +68,7 @@ }; }; - fragment@7 { + fragment@6 { target = <0xffffffff /*&test*/>; __overlay__ { @@ -76,7 +76,7 @@ }; }; - fragment@8 { + fragment@7 { target = <0xffffffff /*&test*/>; __overlay__ { @@ -86,27 +86,27 @@ }; }; + __fixups__ { + test = "/fragment@0:target:0", + "/fragment@1:target:0", + "/fragment@2:target:0", + "/fragment@3:target:0", + "/fragment@4:target:0", + "/fragment@5:target:0", + "/fragment@5/__overlay__:test-phandle:0", + "/fragment@6:target:0", + "/fragment@7:target:0"; + }; __local_fixups__ { - fragment@6 { + fragment@5 { __overlay__ { test-phandle = <4>; }; }; - fragment@7 { + fragment@6 { __overlay__ { test-several-phandle = <0 4>; }; }; }; - __fixups__ { - test = "/fragment@0:target:0", - "/fragment@1:target:0", - "/fragment@2:target:0", - "/fragment@3:target:0", - "/fragment@5:target:0", - "/fragment@6:target:0", - "/fragment@6/__overlay__:test-phandle:0", - "/fragment@7:target:0", - "/fragment@8:target:0"; - }; }; diff --git a/tests/overlay_overlay_nosugar.dts b/tests/overlay_overlay_nosugar.dts new file mode 100644 index 0000000..b6d841b --- /dev/null +++ b/tests/overlay_overlay_nosugar.dts @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2016 NextThing Co + * Copyright (c) 2016 Free Electrons + * Copyright (c) 2016 Konsulko Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; +/plugin/; + +/ { + /* Test that we can change an int by another */ + fragment@0 { + target = <&test>; + + __overlay__ { + test-int-property = <43>; + }; + }; + + /* Test that we can replace a string by a longer one */ + fragment@1 { + target = <&test>; + + __overlay__ { + test-str-property = "foobar"; + }; + }; + + /* Test that we add a new property */ + fragment@2 { + target = <&test>; + + __overlay__ { + test-str-property-2 = "foobar2"; + }; + }; + + /* Test that we add a new node (by phandle) */ + fragment@3 { + target = <&test>; + + __overlay__ { + new-node { + new-property; + }; + }; + }; + + fragment@5 { + target = <&test>; + + __overlay__ { + local: new-local-node { + new-property; + }; + }; + }; + + fragment@6 { + target = <&test>; + + __overlay__ { + test-phandle = <&test>, <&local>; + }; + }; + + fragment@7 { + target = <&test>; + + __overlay__ { + test-several-phandle = <&local>, <&local>; + }; + }; + + fragment@8 { + target = <&test>; + + __overlay__ { + sub-test-node { + new-sub-test-property; + }; + }; + }; +}; diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 0d30edf..4d944fa 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -239,11 +239,24 @@ dtc_overlay_tests () { run_test check_path overlay_base.test.dtb not-exists "/__fixups__" run_test check_path overlay_base.test.dtb not-exists "/__local_fixups__" + # With syntactic sugar run_dtc_test -I dts -O dtb -o overlay_overlay.test.dtb overlay_overlay.dts run_test check_path overlay_overlay.test.dtb not-exists "/__symbols__" run_test check_path overlay_overlay.test.dtb exists "/__fixups__" run_test check_path overlay_overlay.test.dtb exists "/__local_fixups__" + # Without syntactic sugar + run_dtc_test -I dts -O dtb -o overlay_overlay_nosugar.test.dtb overlay_overlay.dts + run_test check_path overlay_overlay_nosugar.test.dtb not-exists "/__symbols__" + run_test check_path overlay_overlay_nosugar.test.dtb exists "/__fixups__" + run_test check_path overlay_overlay_nosugar.test.dtb exists "/__local_fixups__" + + # Check building works the same as manual constructions + run_test dtbs_equal_ordered overlay_overlay.test.dtb overlay_overlay_nosugar.test.dtb + + run_dtc_test -I dts -O dtb -o overlay_overlay_manual_fixups.test.dtb overlay_overlay_manual_fixups.dts + run_test dtbs_equal_ordered overlay_overlay.test.dtb overlay_overlay_manual_fixups.test.dtb + run_test overlay overlay_base.test.dtb overlay_overlay.test.dtb # test plugin source to dtb and back