[PATCH 2/2] tools: binman: ftest.py: Add testcase for bootph-* propagation

Quentin Schulz quentin.schulz at cherry.de
Tue May 13 12:07:13 CEST 2025


Hi Moteen,

On 5/12/25 1:50 PM, Moteen Shah wrote:
> Add a testcase to ensure that scan_and_prop_bootph() actually
> propagates bootph-* properties to supernodes.
> 
> Signed-off-by: Moteen Shah <m-shah at ti.com>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>   tools/binman/ftest.py                 | 22 ++++++++++++++++++++++
>   tools/binman/test/347_bootph_prop.dts | 19 +++++++++++++++++++
>   2 files changed, 41 insertions(+)
>   create mode 100644 tools/binman/test/347_bootph_prop.dts
> 
> diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
> index fa174900014..5c3138b271a 100644
> --- a/tools/binman/ftest.py
> +++ b/tools/binman/ftest.py
> @@ -8011,5 +8011,27 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap
>           self._DoTestFile('346_remove_template.dts',
>                            force_missing_bintools='openssl',)
>   
> +    def testBootphPropagation(self):
> +        """Test that bootph-* properties are propagated correctly to supernodes"""
> +        _, _, _, out_dtb_fname = self._DoReadFileDtb(
> +                '347_bootph_prop.dts', use_real_dtb=True, update_dtb=True)
> +        dtb = fdt.Fdt(out_dtb_fname)
> +        dtb.Scan()
> +        root = dtb.GetRoot()
> +        parent_node = root.FindNode('dummy-parent')
> +        subnode1 = parent_node.FindNode('subnode-1')
> +        subnode2 = parent_node.FindNode('subnode-2')
> +        subnode3 = parent_node.FindNode('subnode-3')
> +
> +        self.assertIn('bootph-some-ram', subnode1.props,
> +                      "Child node is missing 'bootph-some-ram' property")
> +        self.assertIn('bootph-all', subnode1.props,
> +                      "Child node is missing 'bootph-all' property")
> +        self.assertIn('bootph-some-ram', parent_node.props,
> +                      "Parent node is missing 'bootph-some-ram' property")
> +        self.assertIn('bootph-all', parent_node.props,
> +                      "Parent node is missing 'bootph-all' property")
> +
> +
>   if __name__ == "__main__":
>       unittest.main()
> diff --git a/tools/binman/test/347_bootph_prop.dts b/tools/binman/test/347_bootph_prop.dts
> new file mode 100644
> index 00000000000..2bcc116cb4d
> --- /dev/null
> +++ b/tools/binman/test/347_bootph_prop.dts
> @@ -0,0 +1,19 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +
> +/dts-v1/;
> +/ {
> +	dummy-parent {
> +		subnode-1 {
> +			subnode-2 {
> +				bootph-all;
> +			};
> +			subnode-3 {
> +				bootph-some-ram;

add a subnode-4 here as a subnode of subnode-3 and without a bootph- 
property, then test that the node doesn't get it. Just for the sake of 
completeness.

Cheers,
Quentin


More information about the U-Boot mailing list