On 11/22/25 17:23, Tom Rini wrote:
On Sun, Nov 09, 2025 at 11:10:02AM +0100, Heinrich Schuchardt wrote:

The `fdt apply` sub-command is only available if CONFIG_OF_LIBFDT_OVERLAY
is enabled.

Signed-off-by: Heinrich Schuchardt <[email protected]>
---
  test/cmd/fdt.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/test/cmd/fdt.c b/test/cmd/fdt.c
index 96a8488e172..a36f2dcdda8 100644
--- a/test/cmd/fdt.c
+++ b/test/cmd/fdt.c
@@ -1319,6 +1319,9 @@ static int fdt_test_apply(struct unit_test_state *uts)
        char fdt[8192], fdto[8192];
        ulong addr, addro;
+ if (!IS_ENABLED(CONFIG_OF_LIBFDT_OVERLAY))
+               return -EAGAIN;
+
        /* Create base DT with __symbols__ node */
        ut_assertok(fdt_create(fdt, sizeof(fdt)));
        ut_assertok(fdt_finish_reservemap(fdt));

So, this is interesting. As part of merging this, I see that on
qemu_arm64 for example:
                u-boot: add: 0/0, grow: 4/-4 bytes: 284/-9691 (-9407)
                  function                                   old     new   delta
                  print_hexdump_line                         472     556     +84
                  fdt_test_move                              568     652     +84
                  print_do_hex_dump                         1704    1764     +60
                  print_display_buffer                      1736    1792     +56
                  static.__func__                           5670    5655     -15
                  bdinfo_test_all                           3064    2884    -180
                  fdt_test_chosen                           1496     516    -980
                  fdt_test_apply                            8524       8   -8516

So we're as expected shrinking fdt_test_apply with a build time
optimization. But we've been building and running this test as can be
seen in older pipelines and their published artifacts. Should it not
have been a failing test? Did it fail for you somewhere or was this
found by inspection?


Hello Tom,

The target of the series was to test QFW and ACPI passthrough in the CI using qemu-riscv64_smode_acpi_defconfig.

fdt_test_apply and other tests failed on qemu-riscv64_smode_acpi_defconfig. This is why I touched the tests.

CONFIG_OF_LIBFDT_OVERLAY is not enabled on qemu_arm64_defconfig in origin/master. Without this setting the `fdt apply` sub-command is not available. So the test would not pass on this board.

But running `fdt ut` for qemu_arm64_defconfig shows:

=> ut fdt
Running 19 fdt tests
Test: addr: fdt.c
Skipping: Console recording disabled
Test: addr_resize: fdt.c
Skipping: Console recording disabled
Test: apply: fdt.c
Skipping: Console recording disabled
Test: bootcpu: fdt.c

The fdt_test_apply_test was compiled but is always skipped.

We should enable console recording on boards where we want proper testing.

Furthermore we should change test/py/tests/test_ut.py to show skipped C tests by calling pytest.skip(), see

[PATCH 1/1] test: Let pytest indicate skipped C unit tests
https://lore.kernel.org/u-boot/[email protected]/T/#u

Best regards

Heinrich

Reply via email to