[RFC PATCH v2 24/74] tests: metadata: Add a test for export symbols sorting
From: Herve Codina <herve.codina@bootlin.com>
Date: 2026-08-26 09:51:54
Also in:
lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
dtc is able to sort the export symbols list when the --sort option is used. Add a test for this feature. Signed-off-by: Herve Codina <herve.codina@bootlin.com> --- tests/metadata_sort.dtb.dts.expect | 18 ++++++++++++++++++ tests/metadata_sort.dtb.expect | 15 +++++++++++++++ tests/metadata_sort.dts | 21 +++++++++++++++++++++ tests/run_tests.sh | 9 +++++++++ 4 files changed, 63 insertions(+) create mode 100644 tests/metadata_sort.dtb.dts.expect create mode 100644 tests/metadata_sort.dtb.expect create mode 100644 tests/metadata_sort.dts
diff --git a/tests/metadata_sort.dtb.dts.expect b/tests/metadata_sort.dtb.dts.expect
new file mode 100644
index 00000000..f07a42b2
--- /dev/null
+++ b/tests/metadata_sort.dtb.dts.expect@@ -0,0 +1,18 @@ +/dts-v1/; +/addon/; + +/ { + + node-a { + prop_a = <0x1c8>; + prop_b = <0x7b>; + + /export/ a: &{/node-b}; + /export/ ba: &{/node-b}; + /export/ bb: &{/node-b}; + }; + + node-b { + phandle = <0x01>; + }; +};
diff --git a/tests/metadata_sort.dtb.expect b/tests/metadata_sort.dtb.expect
new file mode 100644
index 00000000..ed10b59a
--- /dev/null
+++ b/tests/metadata_sort.dtb.expect@@ -0,0 +1,15 @@ +/dts-v1/; +/addon/; + +/ { + node-a { + // [FDT_EXPORT_SYM] 'a' -> phandle 0x00000001 + // [FDT_EXPORT_SYM] 'ba' -> phandle 0x00000001 + // [FDT_EXPORT_SYM] 'bb' -> phandle 0x00000001 + prop_a = <0x000001c8>; + prop_b = <0x0000007b>; + }; + node-b { + phandle = <0x00000001>; + }; +};
diff --git a/tests/metadata_sort.dts b/tests/metadata_sort.dts
new file mode 100644
index 00000000..7d1cca7e
--- /dev/null
+++ b/tests/metadata_sort.dts@@ -0,0 +1,21 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * Copyright (C) 2026 Bootlin + */ + +/dts-v1/; +/addon/; + +/ { + node_b: node-b { + }; + + node-a { + prop_b = <123>; + prop_a = <456>; + + /export/ ba: &node_b; + /export/ bb: &node_b; + /export/ a: &node_b; + }; +};
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 06c27b71..0c5f2849 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh@@ -1266,6 +1266,15 @@ metadata_tests() { sed -i '/^\/\/ /d' $dt.dtb.dts.dtb.out base_run_test check_diff $dt.dtb.dts.dtb.out "$SRCDIR/$dt.dtb.expect" done + + run_dtc_test -I dts -O dtb -s -o metadata_sort.dtb "$SRCDIR/metadata_sort.dts" + base_run_test wrap_fdtdump metadata_sort.dtb metadata_sort.dtb.out + # Remove unneeded comments + sed -i '/^\/\/ /d' metadata_sort.dtb.out + base_run_test check_diff metadata_sort.dtb.out "$SRCDIR/metadata_sort.dtb.expect" + run_dtc_test -I dtb -O dts -o metadata_sort.dtb.dts metadata_sort.dtb + base_run_test check_diff metadata_sort.dtb.dts "$SRCDIR/metadata_sort.dtb.dts.expect" + run_test check_full metadata_sort.dtb } pylibfdt_tests () {
--
2.55.0