Hi David, > On Nov 30, 2016, at 02:35 , David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Nov 29, 2016 at 01:11:43PM +0200, Pantelis Antoniou wrote: >> Hi David, >> >>> On Nov 29, 2016, at 05:08 , David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote: >>> >>> On Mon, Nov 28, 2016 at 06:05:38PM +0200, Pantelis Antoniou wrote: >>>> 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" >>> >>> Don't duplicate this, just replace it with the new style. This only >>> existed as essentially documentation for the libfdt overlay >>> application stuff. Since the new dtc won't support the old tag >>> format, there's no point having a test for it. >> >> The parser now handles both tag formats just fine. I could remove support >> for it if you’re willing to tackle the flak. > > Oh, sorry, I missed that. > > I'd suggest having that controlled by the same "backwards compat" > option to control magic number and other things. Although changing > parser behaviour based on flags can get fiddly. > Ugh, I’d rather not. It’s not going to look good. I’d rather leave it like this, make a note that it’s deprecated and remove it completely a year down the line letting enough time for users to get up to date. >> >>>> 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__" >>> >>> Looks like you're mixing tabs and spaces here. I don't really mind >>> which, but keep it consistent at least at the same indentation level. >>> >> >> Oh, sorry, I use tabs but this sections has spaces… Will fix. > > Well, it's more tha the first line in the block seems to be using > spaces, then the rest using tabs. > >> >>>> + # 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 >>> >> >> Regards >> >> — Pantelis >> > > -- > David Gibson | I'll have my music baroque, and my code > david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ > | _way_ _around_! > http://www.ozlabs.org/~dgibson -- 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