[PATCH 1/1] test: missing dependency for test/cmd/setexpr.c

test/cmd/setexpr.c cannot be linked with CONFIG_CMD_SETEXPR=n:
ld.bfd: test/built-in.o: in function `setexpr_test_sub': test/cmd/setexpr.c:227: undefined reference to `setexpr_regex_sub' ld.bfd: test/built-in.o: in function `setexpr_test_backref': test/cmd/setexpr.c:267: undefined reference to `setexpr_regex_sub'
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- test/cmd/Makefile | 2 +- test/cmd_ut.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/test/cmd/Makefile b/test/cmd/Makefile index 5451e9ea90..c84df60395 100644 --- a/test/cmd/Makefile +++ b/test/cmd/Makefile @@ -8,4 +8,4 @@ endif obj-y += mem.o obj-$(CONFIG_CMD_MEM_SEARCH) += mem_search.o obj-$(CONFIG_CMD_PWM) += pwm.o -obj-y += setexpr.o +obj-$(CONFIG_CMD_SETEXPR) += setexpr.o diff --git a/test/cmd_ut.c b/test/cmd_ut.c index 90674d5de5..8f3089890e 100644 --- a/test/cmd_ut.c +++ b/test/cmd_ut.c @@ -75,8 +75,10 @@ static struct cmd_tbl cmd_ut_sub[] = { U_BOOT_CMD_MKENT(log, CONFIG_SYS_MAXARGS, 1, do_ut_log, "", ""), #endif U_BOOT_CMD_MKENT(mem, CONFIG_SYS_MAXARGS, 1, do_ut_mem, "", ""), +#ifdef CONFIG_CMD_SETEXPR U_BOOT_CMD_MKENT(setexpr, CONFIG_SYS_MAXARGS, 1, do_ut_setexpr, "", ""), +#endif #ifdef CONFIG_UT_TIME U_BOOT_CMD_MKENT(time, CONFIG_SYS_MAXARGS, 1, do_ut_time, "", ""), #endif -- 2.30.0

Hi Heinrich,
On Wed, 17 Feb 2021 at 04:58, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
test/cmd/setexpr.c cannot be linked with CONFIG_CMD_SETEXPR=n:
ld.bfd: test/built-in.o: in function `setexpr_test_sub': test/cmd/setexpr.c:227: undefined reference to `setexpr_regex_sub' ld.bfd: test/built-in.o: in function `setexpr_test_backref': test/cmd/setexpr.c:267: undefined reference to `setexpr_regex_sub'
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
test/cmd/Makefile | 2 +- test/cmd_ut.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
But I wonder what the goal is here. There is an assumption at present that sandbox runs these tests and has the required features enabled. What are you trying to do?
- Simon

On 2/19/21 5:52 AM, Simon Glass wrote:
Hi Heinrich,
On Wed, 17 Feb 2021 at 04:58, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
test/cmd/setexpr.c cannot be linked with CONFIG_CMD_SETEXPR=n:
ld.bfd: test/built-in.o: in function `setexpr_test_sub': test/cmd/setexpr.c:227: undefined reference to `setexpr_regex_sub' ld.bfd: test/built-in.o: in function `setexpr_test_backref': test/cmd/setexpr.c:267: undefined reference to `setexpr_regex_sub'
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
test/cmd/Makefile | 2 +- test/cmd_ut.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
But I wonder what the goal is here. There is an assumption at present that sandbox runs these tests and has the required features enabled. What are you trying to do?
CONFIG_UNIT_TEST does not depend on the architecture.
I enable and run unit tests on my real hardware, e.g. under RISC-V. Tests that cannot be built or run with the current configuration should not lead to build failures.
Best regards
Heinrich

Hi Heinrich,
On Thu, 18 Feb 2021 at 22:08, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 2/19/21 5:52 AM, Simon Glass wrote:
Hi Heinrich,
On Wed, 17 Feb 2021 at 04:58, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
test/cmd/setexpr.c cannot be linked with CONFIG_CMD_SETEXPR=n:
ld.bfd: test/built-in.o: in function `setexpr_test_sub': test/cmd/setexpr.c:227: undefined reference to `setexpr_regex_sub' ld.bfd: test/built-in.o: in function `setexpr_test_backref': test/cmd/setexpr.c:267: undefined reference to `setexpr_regex_sub'
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
test/cmd/Makefile | 2 +- test/cmd_ut.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
But I wonder what the goal is here. There is an assumption at present that sandbox runs these tests and has the required features enabled. What are you trying to do?
CONFIG_UNIT_TEST does not depend on the architecture.
I enable and run unit tests on my real hardware, e.g. under RISC-V. Tests that cannot be built or run with the current configuration should not lead to build failures.
If you want to support this we probably have quite a few things to fix up. It might be worth doing it all at once and documenting what sort of tests are permitted on real hardware. For example, some tests rely on the test .dts and resetting DM which probably won't go down well on real hardware. Are you just thinking about the cmd tests for now?
What sort of bugs are you trying to find?
Regards, Simon

On Wed, Feb 17, 2021 at 12:58:14PM +0100, Heinrich Schuchardt wrote:
test/cmd/setexpr.c cannot be linked with CONFIG_CMD_SETEXPR=n:
ld.bfd: test/built-in.o: in function `setexpr_test_sub': test/cmd/setexpr.c:227: undefined reference to `setexpr_regex_sub' ld.bfd: test/built-in.o: in function `setexpr_test_backref': test/cmd/setexpr.c:267: undefined reference to `setexpr_regex_sub'
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
participants (3)
-
Heinrich Schuchardt
-
Simon Glass
-
Tom Rini