[BUG] test/test-main.c does not compile on non-sandbox

Simon Glass sjg at chromium.org
Sat Mar 27 18:54:40 CET 2021


Hi Heinrich,

On Sun, 28 Mar 2021 at 00:10, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> Hello Simon,
>
> commit
>
>    c79705ea938e ("test: Move dm_test_init() into test-main.c")
>
> merged into origin/next breaks compiling qemu-riscv64_defconfig with
> CONFIG_UNIT_TEST=y:
>
> test/test-main.c:10:10: fatal error: asm/state.h: No such file or directory
>     10 | #include <asm/state.h>
>        |          ^~~~~~~~~~~~~
> compilation terminated.
>
> Could you, please, provide a fix and set CONFIG_UNIT_TEST=y for some
> QEMU boards so that we avoid such errors in future.

Please see:

http://patchwork.ozlabs.org/project/uboot/patch/20210324214434.46584-2-sjg@chromium.org/

I enabled it on snow, which is a real board, to help prevent this in future.

>
> Please, also fix test/cmd/setexpr.c not compiling on non-sandbox leading
> to an additional build error.

I will send another patch for what I think you see there. But I also
see this warning which I could not figure out.

In file included from test/cmd/setexpr.c:14:
test/cmd/setexpr.c: In function 'setexpr_test_sub':
include/test/ut.h:156:3: warning: '%s' directive argument is null
[-Wformat-overflow=]
  156 |   ut_failf(uts, __FILE__, __LINE__, __func__,  \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  157 |     #expr1 " = " #expr2,    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~
  158 |     "Expected \"%s\", got \"%s\"", _val1, _val2); \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test/cmd/setexpr.c:229:2: note: in expansion of macro 'ut_asserteq_str'
  229 |  ut_asserteq_str("thus it is longer us it is longer a test", buf);
      |  ^~~~~~~~~~~~~~~
include/test/ut.h:158:29: note: format string is defined here
  158 |     "Expected \"%s\", got \"%s\"", _val1, _val2); \
      |

Regards,
Simon


More information about the U-Boot mailing list