[PATCH RESEND 1/9] test: fdt_test_apply requires CONFIG_OF_LIBFDT_OVERLAY
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Sun Nov 23 00:52:55 CET 2025
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 <heinrich.schuchardt at canonical.com>
>> ---
>> 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/20251122234920.80114-1-xypron.glpk@gmx.de/T/#u
Best regards
Heinrich
More information about the U-Boot
mailing list