Add a number of tests for dynamic objects/overlays. Re-use the original test by moving the contents to a .dtsi include Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> --- tests/overlay_overlay_dtc.dts | 76 +---------------------------------- tests/overlay_overlay_dtc.dtsi | 83 +++++++++++++++++++++++++++++++++++++++ tests/overlay_overlay_new_dtc.dts | 11 ++++++ tests/overlay_overlay_simple.dts | 12 ++++++ tests/run_tests.sh | 41 +++++++++++++++++++ 5 files changed, 148 insertions(+), 75 deletions(-) create mode 100644 tests/overlay_overlay_dtc.dtsi create mode 100644 tests/overlay_overlay_new_dtc.dts create mode 100644 tests/overlay_overlay_simple.dts diff --git a/tests/overlay_overlay_dtc.dts b/tests/overlay_overlay_dtc.dts index 30d2362..ca943ea 100644 --- a/tests/overlay_overlay_dtc.dts +++ b/tests/overlay_overlay_dtc.dts @@ -8,78 +8,4 @@ /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; - }; - }; - }; -}; +/include/ "overlay_overlay_dtc.dtsi" diff --git a/tests/overlay_overlay_dtc.dtsi b/tests/overlay_overlay_dtc.dtsi new file mode 100644 index 0000000..8ea8d5d --- /dev/null +++ b/tests/overlay_overlay_dtc.dtsi @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2016 NextThing Co + * Copyright (c) 2016 Free Electrons + * Copyright (c) 2016 Konsulko Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/ { + /* 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/overlay_overlay_new_dtc.dts b/tests/overlay_overlay_new_dtc.dts new file mode 100644 index 0000000..14d3f54 --- /dev/null +++ b/tests/overlay_overlay_new_dtc.dts @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2016 NextThing Co + * Copyright (c) 2016 Free Electrons + * Copyright (c) 2016 Konsulko Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/ /plugin/; + +/include/ "overlay_overlay_dtc.dtsi" diff --git a/tests/overlay_overlay_simple.dts b/tests/overlay_overlay_simple.dts new file mode 100644 index 0000000..8657e1e --- /dev/null +++ b/tests/overlay_overlay_simple.dts @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2016 Konsulko Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; +/plugin/; + +&test { + test-int-property = <43>; +}; diff --git a/tests/run_tests.sh b/tests/run_tests.sh index e4139dd..74af0ff 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -181,6 +181,47 @@ overlay_tests () { run_dtc_test -@ -I dts -O dtb -o overlay_base_with_symbols.test.dtb overlay_base.dts run_dtc_test -@ -I dts -O dtb -o overlay_overlay_with_symbols.test.dtb overlay_overlay_dtc.dts run_test overlay overlay_base_with_symbols.test.dtb overlay_overlay_with_symbols.test.dtb + + # new /plugin/ format + run_dtc_test -@ -I dts -O dtb -o overlay_overlay_new_with_symbols.test.dtb overlay_overlay_new_dtc.dts + run_test check_path overlay_overlay_new_with_symbols.test.dtb exists "/__symbols__" + run_test check_path overlay_overlay_new_with_symbols.test.dtb exists "/__fixups__" + run_test check_path overlay_overlay_new_with_symbols.test.dtb exists "/__local_fixups__" + + # test new magic option + run_dtc_test -M@ -I dts -O dtb -o overlay_overlay_with_symbols_new_magic.test.dtb overlay_overlay_dtc.dts + run_test check_path overlay_overlay_with_symbols_new_magic.test.dtb exists "/__symbols__" + run_test check_path overlay_overlay_with_symbols_new_magic.test.dtb exists "/__fixups__" + run_test check_path overlay_overlay_with_symbols_new_magic.test.dtb exists "/__local_fixups__" + + # test plugin source to dtb and back + run_dtc_test -@ -I dtb -O dts -o overlay_overlay_dtc.test.dts overlay_overlay_with_symbols.test.dtb + run_dtc_test -@ -I dts -O dtb -o overlay_overlay_with_symbols.test.test.dtb overlay_overlay_dtc.test.dts + run_test dtbs_equal_ordered overlay_overlay_with_symbols.test.dtb overlay_overlay_with_symbols.test.test.dtb + + # test plugin source to dtb and back (with new magic) + run_dtc_test -@ -I dtb -O dts -o overlay_overlay_dtc_new_magic.test.dts overlay_overlay_with_symbols_new_magic.test.dtb + run_dtc_test -@ -I dts -O dtb -o overlay_overlay_with_symbols_new_magic.test.test.dtb overlay_overlay_dtc_new_magic.test.dts + run_test dtbs_equal_ordered overlay_overlay_with_symbols_new_magic.test.dtb overlay_overlay_with_symbols_new_magic.test.test.dtb + + # test plugin auto-generation without using -@ + run_dtc_test -I dts -O dtb -o overlay_overlay_new_with_symbols_auto.test.dtb overlay_overlay_dtc.dts + run_test check_path overlay_overlay_new_with_symbols_auto.test.dtb exists "/__symbols__" + run_test check_path overlay_overlay_new_with_symbols_auto.test.dtb exists "/__fixups__" + run_test check_path overlay_overlay_new_with_symbols_auto.test.dtb exists "/__local_fixups__" + + # Test suppression of fixups + run_dtc_test -F -@ -I dts -O dtb -o overlay_base_with_symbols_no_fixups.test.dtb overlay_base.dts + run_test check_path overlay_base_with_symbols_no_fixups.test.dtb exists "/__symbols__" + run_test check_path overlay_base_with_symbols_no_fixups.test.dtb not-exists "/__fixups__" + run_test check_path overlay_base_with_symbols_no_fixups.test.dtb not-exists "/__local_fixups__" + + # Test generation of aliases insted of symbols + run_dtc_test -A -I dts -O dtb -o overlay_overlay_with_aliases.dtb overlay_overlay_dtc.dts + run_test check_path overlay_overlay_with_aliases.dtb exists "/aliases" + run_test check_path overlay_overlay_with_aliases.dtb exists "/__symbols__" + run_test check_path overlay_overlay_with_aliases.dtb exists "/__fixups__" + run_test check_path overlay_overlay_with_aliases.dtb exists "/__local_fixups__" fi # Bad fixup tests -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html