summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2021-07-05 18:04:21 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-07-07 11:39:42 +0100
commit493d1abff7ea1ec0f6c99f37d9d13bafed527543 (patch)
tree7c646f5759b557b5b9af60014596af706e3bd8af /meta
parentc1fea579f0fde4a52108056645e73236a83774dd (diff)
downloadpoky-493d1abff7ea1ec0f6c99f37d9d13bafed527543.tar.gz
util-linux: rewrite the ptest integration
Instead of duplicating logic, we can use the run.sh that the test suite installs. Unless told otherwise, the util-linux test suite assumes that it is running in a build tree and looks for binaries to run, but we're on target so pass --use-system-commands (drops ~180 skips to tens). Add --show-diff so that debugging can be done from the logs alone. Remove redundant path manipulation that is now done upstream. If PAM is disabled, delete the chfn test: it will run the chfn from shadow which has different output, and the test will fail. [ YOCTO #14244 ] (From OE-Core rev: 720660b936b5523ec48a7c04712d10c88198e12c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/util-linux/util-linux/run-ptest23
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.37.bb25
2 files changed, 7 insertions, 41 deletions
diff --git a/meta/recipes-core/util-linux/util-linux/run-ptest b/meta/recipes-core/util-linux/util-linux/run-ptest
index e135ee583b..3a910be121 100644
--- a/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -13,31 +13,12 @@ current_path=$(readlink -f $0)
13export bindir=$(dirname $current_path) 13export bindir=$(dirname $current_path)
14export PATH=$bindir/bin:$PATH 14export PATH=$bindir/bin:$PATH
15 15
16cd tests || exit 1 16./tests/run.sh --use-system-commands --parsable --show-diff | sed -u '{
17
18comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" | sort)
19
20
21echo
22echo "-------------------- util-linux regression tests --------------------"
23echo
24echo " For development purpose only. "
25echo " Don't execute on production system! "
26echo
27
28res=0
29count=0
30for ts in $comps;
31do
32 $ts | sed -u '{
33 s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/ 17 s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/
34 s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/ 18 s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/
35 s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/ 19 s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/
36 }' 20 }'
37done
38
39 21
40if [ "x$UDEV_PID" != "x" ]; then 22if [ "x$UDEV_PID" != "x" ]; then
41 /etc/init.d/udev start 23 /etc/init.d/udev start
42fi 24fi
43
diff --git a/meta/recipes-core/util-linux/util-linux_2.37.bb b/meta/recipes-core/util-linux/util-linux_2.37.bb
index 48b6208612..399f66d6a0 100644
--- a/meta/recipes-core/util-linux/util-linux_2.37.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.37.bb
@@ -280,25 +280,10 @@ do_install_ptest() {
280 cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ 280 cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
281 cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} 281 cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH}
282 282
283 # The original paths of executables to be tested point to a local folder containing 283 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
284 # the executables. We want to test the installed executables, not the local copies.
285 # So strip the paths, the executables will be located via "which"
286 sed -i \
287 -e '/^TS_CMD/ s|$top_builddir/||g' \
288 -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \
289 ${D}${PTEST_PATH}/tests/commands.sh
290
291 # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]'
292 sed -i -e \
293 '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
294 ${D}${PTEST_PATH}/tests/functions.sh
295
296 # Running "kill" without the the complete path would use the shell's built-in kill
297 sed -i -e \
298 '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
299 ${D}${PTEST_PATH}/tests/commands.sh
300
301
302 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
303 284
285 # chfn needs PAM
286 if ! ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
287 rm -rf ${D}${PTEST_PATH}/tests/ts/chfn
288 fi
304} 289}