If gcc is installed in image, ptest result has 4 ERROR.
ERROR: tests/rm/r-root.sh
ERROR: tests/rm/rm-readdir-fail.sh
ERROR: tests/cp/nfs-removal-race.sh
ERROR: tests/ls/getxattr-speedup.sh
r-root.log as an example:
--------------------------
k.c:1:10: fatal error: stdio.h: No such file or directory
1 | #include <stdio.h>
| ^~~~~~~~~
compilation terminated.
r-root.sh: set-up failure: failed to build shared library
ERROR tests/rm/r-root.sh (exit status: 99)
--------------------------
reason:
The run-ptest calls make cmd to run test cases.
In these cases, k.c file is created and compiled by gcc before run.
There is a stdio.h file in /usr/include/ directory.
Normally, gcc has /usr/include as part of its default search path.
But in Makefile, it has the "--sysroot=recipe-sysroot" parameter
which makes it does not work.
solution:
Delete "--sysroot=recipe-sysroot" from Makefile.
other:
If gcc is not installed in image, these cases will be skipped.
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile
+ sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile
chmod -R 777 ${D}${PTEST_PATH}
# Disable subcase stty-pairs.sh, it will cause test framework hang