Re: [Buildroot] [Automated-testing] Call for nommu LTP maintainer [was: Re: [PATCH 00/36] Remove UCLINUX from LTP]

Cyril Hrubis
2024-01-15T14:23:28Z

Hi!
> RANLIB libltp.a
> /home/wbx/arm/toolchain_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/usr/lib/gcc/arm-openadk-uclinuxfdpiceabi/13.2.0/../../../../arm-openadk-uclinuxfdpiceabi/bin/ld: ../../lib/libltp.a(tst_res.o): in function `tst_fork':
> /home/wbx/arm/build_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/w-ltp-20230929-1/ltp-full-20230929/lib/tst_res.c:430:(.text+0x952): undefined reference to `fork'
> /home/wbx/arm/toolchain_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/usr/lib/gcc/arm-openadk-uclinuxfdpiceabi/13.2.0/../../../../arm-openadk-uclinuxfdpiceabi/bin/ld: ../../lib/libltp.a(tst_test.o): in function `fork_testrun':
> /home/wbx/arm/build_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/w-ltp-20230929-1/ltp-full-20230929/lib/tst_test.c:1597:(.text+0xf4e): undefined reference to `fork'
> /home/wbx/arm/toolchain_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/usr/lib/gcc/arm-openadk-uclinuxfdpiceabi/13.2.0/../../../../arm-openadk-uclinuxfdpiceabi/bin/ld: ../../lib/libltp.a(tst_test.o): in function `safe_fork':
> /home/wbx/arm/build_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/w-ltp-20230929-1/ltp-full-20230929/lib/tst_test.c:435:(.text+0x345c): undefined reference to `fork'
> collect2: error: ld returned 1 exit status
> gmake[8]: *** [../../include/mk/rules.mk:45: test01] Error 1
> gmake[7]: *** [../include/mk/generic_trunk_target.inc:108: all] Error 2
> gmake[6]: *** [Makefile:94: lib-all] Error 2
> gmake[5]: *** [/home/wbx/arm/mk/pkg-bottom.mk:141: /home/wbx/arm/build_st-stm32f746g_uclibc-ng_cortex_m7_soft_eabi_thumb_nommu/w-ltp-20230929-1/ltp-full-20230929/.build_done] Error 2
> gmake[4]: *** [Makefile:61: ltp-compile] Error 2
> gmake[3]: *** [mk/build.mk:221: package/compile] Error 2
> gmake[2]: *** [/home/wbx/arm/mk/build.mk:176: world] Error 2
>
> So there is really work to be done to make the existing code work on noMMU.

The new test library in LTP runs the actuall test in a child process,
which provides all kinds of benefits, most notably isolation of the
setup/cleanup/result reporting from actuall test code that may crash.
This is of course useless on nommu targets, so I suppose that we would
need a test library tailored for nommu first. However the testcases
themselve fork quite often too. Which means that some kind of parameter
marshaling into a string needs to be done for such tests as well each
test needs to be adjusted to use that in a case of nommu. All in all
getting into a state where majority of tests runs on nommu would be a
major effort.

--
Cyril Hrubis
chrubis@suse.cz