[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