From: Yu Watanabe Date: Sun, 7 Mar 2021 20:21:45 +0000 (+0900) Subject: test: add a simple test for udev watch X-Git-Tag: v249-rc1~315^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F18904%2Fhead;p=thirdparty%2Fsystemd.git test: add a simple test for udev watch --- diff --git a/test/TEST-17-UDEV/test.sh b/test/TEST-17-UDEV/test.sh index 43119d4c102..446f4a83db5 100755 --- a/test/TEST-17-UDEV/test.sh +++ b/test/TEST-17-UDEV/test.sh @@ -8,7 +8,7 @@ TEST_NO_NSPAWN=1 # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" -QEMU_TIMEOUT=500 +QEMU_TIMEOUT=800 test_append_files() { ( diff --git a/test/units/testsuite-17.06.sh b/test/units/testsuite-17.06.sh new file mode 100755 index 00000000000..68c1f7b2988 --- /dev/null +++ b/test/units/testsuite-17.06.sh @@ -0,0 +1,75 @@ +#!/bin/bash +set -ex +set -o pipefail + +# tests for udev watch + +function check_validity() { + local f ID_OR_HANDLE + + for f in /run/udev/watch/*; do + ID_OR_HANDLE=$(readlink $f) + test -L /run/udev/watch/${ID_OR_HANDLE} + test $(readlink /run/udev/watch/${ID_OR_HANDLE}) = $(basename $f) + done +} + +function check() { + local i j + + for ((i=0;i<2;i++)); do + systemctl restart systemd-udevd.service + udevadm control --ping + udevadm settle + sleep 1 + check_validity + + for ((j=0;j<2;j++)); do + udevadm trigger -w --action add --subsystem-match=block + udevadm settle + sleep 1 + check_validity + done + + for ((j=0;j<2;j++)); do + udevadm trigger -w --action change --subsystem-match=block + udevadm settle + sleep 1 + check_validity + done + done +} + +mkdir -p /run/udev/rules.d/ + +cat >/run/udev/rules.d/00-debug.rules </run/udev/rules.d/50-testsuite.rules </run/udev/rules.d/50-testsuite.rules <