A simple test for both phandle symbols and string symbols. Also tests chaining symbol overlays. Signed-off-by: Ayush Singh <ayush@xxxxxxxxxxxxxxx> --- tests/overlay_overlay_symbols1.dts | 12 ++++++++++++ tests/overlay_overlay_symbols2.dts | 9 +++++++++ tests/overlay_overlay_symbols_user.dts | 26 ++++++++++++++++++++++++++ tests/run_tests.sh | 19 +++++++++++++++++++ 4 files changed, 66 insertions(+) diff --git a/tests/overlay_overlay_symbols1.dts b/tests/overlay_overlay_symbols1.dts new file mode 100644 index 0000000..bd74242 --- /dev/null +++ b/tests/overlay_overlay_symbols1.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +&{/} { + __symbols__ { + TEST_STR = "/test-node"; + TEST_PHANDLE = <&test>; + + SUBTEST_STR = "/test-node/sub-test-node"; + SUBTEST_PHANDLE = <&subtest>; + }; +}; diff --git a/tests/overlay_overlay_symbols2.dts b/tests/overlay_overlay_symbols2.dts new file mode 100644 index 0000000..b8da96b --- /dev/null +++ b/tests/overlay_overlay_symbols2.dts @@ -0,0 +1,9 @@ +/dts-v1/; +/plugin/; + +&{/} { + __symbols__ { + TEST_CHAIN = <&TEST_PHANDLE>; + SUBTEST_CHAIN = <&SUBTEST_PHANDLE>; + }; +}; diff --git a/tests/overlay_overlay_symbols_user.dts b/tests/overlay_overlay_symbols_user.dts new file mode 100644 index 0000000..4da2136 --- /dev/null +++ b/tests/overlay_overlay_symbols_user.dts @@ -0,0 +1,26 @@ +/dts-v1/; +/plugin/; + +&TEST_STR { + str-prop = "test-node"; +}; + +&TEST_PHANDLE { + phandle-prop = "test-node"; +}; + +&TEST_CHAIN { + chain-prop = "test-node"; +}; + +&SUBTEST_STR { + str-prop = "subtest-node"; +}; + +&SUBTEST_PHANDLE { + phandle-prop = "subtest-node"; +}; + +&SUBTEST_CHAIN { + chain-prop = "subtest-node"; +}; diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 937b128..56f8d0d 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -1018,6 +1018,25 @@ fdtoverlay_tests() { # test that the new property is installed run_fdtoverlay_test foobar "/test-node" "test-str-property" "-ts" ${basedtb} ${targetdtb} ${overlaydtb} + symbol1_overlay="$SRCDIR/overlay_overlay_symbols1.dts" + symbol1_overlaydtbo=overlay_overlay_symbols1.fdtoverlay.test.dtb + symbol2_overlay="$SRCDIR/overlay_overlay_symbols2.dts" + symbol2_overlaydtbo=overlay_overlay_symbols2.fdtoverlay.test.dtb + symbol_user_overlay="$SRCDIR/overlay_overlay_symbols_user.dts" + symbol_user_overlaydtbo=overlay_overlay_symbols_user.fdtoverlay.test.dtb + + # test overlay symbol resolution + run_dtc_test -@ -I dts -O dtb -o $symbol1_overlaydtbo $symbol1_overlay + run_dtc_test -@ -I dts -O dtb -o $symbol2_overlaydtbo $symbol2_overlay + run_dtc_test -@ -I dts -O dtb -o $symbol_user_overlaydtbo $symbol_user_overlay + + run_fdtoverlay_test test-node "/test-node" "str-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + run_fdtoverlay_test test-node "/test-node" "phandle-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + run_fdtoverlay_test test-node "/test-node" "chain-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + run_fdtoverlay_test subtest-node "/test-node/sub-test-node" "str-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + run_fdtoverlay_test subtest-node "/test-node/sub-test-node" "phandle-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + run_fdtoverlay_test subtest-node "/test-node/sub-test-node" "chain-prop" "-ts" ${basedtb} ${targetdtb} ${symbol1_overlaydtbo} ${symbol2_overlaydtbo} ${symbol_user_overlaydtbo} + stacked_base="$SRCDIR/stacked_overlay_base.dts" stacked_basedtb=stacked_overlay_base.fdtoverlay.test.dtb stacked_bar="$SRCDIR/stacked_overlay_bar.dts" -- 2.46.0