summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/util-linux/util-linux/run-ptest
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux/run-ptest')
-rw-r--r--meta/recipes-core/util-linux/util-linux/run-ptest40
1 files changed, 25 insertions, 15 deletions
diff --git a/meta/recipes-core/util-linux/util-linux/run-ptest b/meta/recipes-core/util-linux/util-linux/run-ptest
index fbc2f9b56a..7b6b1d1dc2 100644
--- a/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -1,25 +1,35 @@
#!/bin/sh
-cd tests || exit 1
-comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" | sort)
+# When udevd (from eudev) is running most eject/mount tests will fail because
+# of automount. We need to stop udevd before executing util-linux's tests.
+# The systemd-udevd daemon doesn't change the outcome of util-linux's tests.
+UDEV_PID="`pidof "@base_sbindir@/udevd"`"
+if [ "x$UDEV_PID" != "x" ]; then
+ /etc/init.d/udev stop
+fi
+current_path=$(readlink -f $0)
+export bindir=$(dirname $current_path)
+export PATH=$bindir/bin:$PATH
-echo
-echo "-------------------- util-linux regression tests --------------------"
-echo
-echo " For development purpose only. "
-echo " Don't execute on production system! "
-echo
+# losetup tests will be skipped and/or fail otherwise
+modprobe loop
-res=0
-count=0
-for ts in $comps;
-do
- $ts | sed '{
+# required for mount/fallback test to pass
+# systemd does this by default, but ptest images do not use it
+# see https://man7.org/linux/man-pages/man7/mount_namespaces.7.html
+# for a long description of mount namespaces in Linux
+mount --make-shared /
+
+# lsfd/option-inet has races in the test script:
+# https://github.com/util-linux/util-linux/issues/2399
+./tests/run.sh --use-system-commands --parsable --show-diff --exclude=lsfd/option-inet | sed -u '{
s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/
s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/
s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/
- }'
-done
+ }'
+if [ "x$UDEV_PID" != "x" ]; then
+ /etc/init.d/udev start
+fi