[RFC PATCH 30/77] tests: metadata: Add export symbols with external references tests
Herve Codina <[email protected]> Mon, 12 Jan 2026 15:19:20 +0100
| Newsgroups | org.kernel.vger.devicetree-spec,org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add tests related to export symbols using external references (FDT_EXPORT_SYM_REF dtb tag). Signed-off-by: Herve Codina <[email protected]> --- tests/metadata_exportsyms_ref.dtb.dts.expect | 25 +++++++++++++++++++ tests/metadata_exportsyms_ref.dtb.expect | 18 ++++++++++++++ tests/metadata_exportsyms_ref.dts | 26 ++++++++++++++++++++ tests/metadata_exportsyms_ref.dts.dts.expect | 25 +++++++++++++++++++ tests/run_tests.sh | 3 ++- 5 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 tests/metadata_exportsyms_ref.dtb.dts.expect create mode 100644 tests/metadata_exportsyms_ref.dtb.expect create mode 100644 tests/metadata_exportsyms_ref.dts create mode 100644 tests/metadata_exportsyms_ref.dts.dts.expect diff --git a/tests/metadata_exportsyms_ref.dtb.dts.expect b/tests/metadata_exportsyms_ref.dtb.dts.expect new file mode 100644 index 0000000..d2c3320 --- /dev/null +++ b/tests/metadata_exportsyms_ref.dtb.dts.expect @@ -0,0 +1,25 @@ +/dts-v1/; +/addon/; + +/ { + + node-a { + }; + + node-b { + }; + + node-c { + + sub-node { + + /export/ ref_base_node_a: &base_node_a; + /export/ ref_base_node_b: &base_node_b; + }; + }; + + node-d { + + /export/ ref_base_node_c: &base_node_c; + }; +}; diff --git a/tests/metadata_exportsyms_ref.dtb.expect b/tests/metadata_exportsyms_ref.dtb.expect new file mode 100644 index 0000000..395861b --- /dev/null +++ b/tests/metadata_exportsyms_ref.dtb.expect @@ -0,0 +1,18 @@ +/dts-v1/; +/addon/; + +/ { + node-a { + }; + node-b { + }; + node-c { + sub-node { + // [FDT_EXPORT_SYM_REF] 'ref_base_node_a' -> 'base_node_a' + // [FDT_EXPORT_SYM_REF] 'ref_base_node_b' -> 'base_node_b' + }; + }; + node-d { + // [FDT_EXPORT_SYM_REF] 'ref_base_node_c' -> 'base_node_c' + }; +}; diff --git a/tests/metadata_exportsyms_ref.dts b/tests/metadata_exportsyms_ref.dts new file mode 100644 index 0000000..c094be1 --- /dev/null +++ b/tests/metadata_exportsyms_ref.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * Copyright (C) 2026 Bootlin + */ + +/dts-v1/; +/addon/; + +/ { + node-a { + }; + + node-b { + }; + + node-c { + sub_node: sub-node { + /export/ ref_base_node_a: &base_node_a; + /export/ ref_base_node_b: &base_node_b; + }; + }; + + node-d { + /export/ ref_base_node_c: &base_node_c; + }; +}; diff --git a/tests/metadata_exportsyms_ref.dts.dts.expect b/tests/metadata_exportsyms_ref.dts.dts.expect new file mode 100644 index 0000000..2654df1 --- /dev/null +++ b/tests/metadata_exportsyms_ref.dts.dts.expect @@ -0,0 +1,25 @@ +/dts-v1/; +/addon/; + +/ { + + node-a { + }; + + node-b { + }; + + node-c { + + sub_node: sub-node { + + /export/ ref_base_node_a: &base_node_a; + /export/ ref_base_node_b: &base_node_b; + }; + }; + + node-d { + + /export/ ref_base_node_c: &base_node_c; + }; +}; diff --git a/tests/run_tests.sh b/tests/run_tests.sh index fc270e2..1973525 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -1126,7 +1126,8 @@ wrap_fdtdump () { metadata_tests() { for dt in metadata_reflocal metadata_refphandle \ - metadata_addon_base metadata_exportsyms_local; do + metadata_addon_base metadata_exportsyms_local \ + metadata_exportsyms_ref; do run_dtc_test -I dts -O dts -o $dt.dts.dts "$SRCDIR/$dt.dts" base_run_test check_diff $dt.dts.dts "$SRCDIR/$dt.dts.dts.expect" run_dtc_test -I dts -O dtb -o $dt.dtb "$SRCDIR/$dt.dts" -- 2.52.0