summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2023-03-01 23:11:05 +0000
committerGitHub <noreply@github.com>2023-03-01 23:11:05 +0000
commit7a67afe33192ce4a55e6825b80554fb4ebbb4b03 (patch)
tree995d4f7542e0ac1ae30186e798d895f363d80d9c
parentf05f2334eec97baea0a6a9b21b7fa8701711f987 (diff)
parent90169eb92ae8f70cfc9cf86500ee618db7717c13 (diff)
downloadsystemd-7a67afe33192ce4a55e6825b80554fb4ebbb4b03.tar.gz
Merge pull request #26627 from mrc0mmand/TEST-17-tweaks
test: skip the hwdb update related tests w/ sanitizers and w/o accel
-rwxr-xr-xtest/units/testsuite-17.10.sh62
1 files changed, 33 insertions, 29 deletions
diff --git a/test/units/testsuite-17.10.sh b/test/units/testsuite-17.10.sh
index 5262f80bb8..e30c98a0b8 100755
--- a/test/units/testsuite-17.10.sh
+++ b/test/units/testsuite-17.10.sh
@@ -9,18 +9,12 @@ set -o pipefail
# Coverage test for udevadm
cleanup_17_10() {
- set +e
+ set +e
- rmmod scsi_debug
- rm -f /etc/udev/hwdb.d/99-test.hwdb
- systemd-hwdb update
+ losetup -d "$loopdev"
+ rm -f "$blk"
- losetup -d "$loopdev"
- rm -f "$blk"
-
- ip link delete "$netdev"
-
- return 0
+ ip link delete "$netdev"
}
# Set up some test devices
@@ -33,14 +27,6 @@ blk="$(mktemp)"
dd if=/dev/null of="$blk" bs=1M count=1
loopdev="$(losetup --show -f "$blk")"
-modprobe scsi_debug
-scsidev=$(readlink -f /sys/bus/pseudo/drivers/scsi_debug/adapter*/host*/target*/[0-9]*)
-cat > /etc/udev/hwdb.d/99-test.hwdb <<EOF
-scsi:*
- ID_TEST=test
-EOF
-systemd-hwdb update
-
udevadm -h
udevadm control -l emerg
@@ -51,7 +37,7 @@ udevadm control -l warning
udevadm control -l notice
udevadm control -l debug
udevadm control --log-level info
-(! udevadm control -l hello )
+(! udevadm control -l hello)
udevadm control -s
udevadm control -S
udevadm control -R
@@ -78,15 +64,15 @@ udevadm info -q property /sys/class/net/$netdev
udevadm info -q symlink /sys/class/net/$netdev
udevadm info -q name -r /dev/null
udevadm info --query symlink --root /sys/class/net/$netdev
-(! udevadm info -q hello -r /sys/class/net/$netdev )
+(! udevadm info -q hello -r /sys/class/net/$netdev)
udevadm info -a /sys/class/net/$netdev
-udevadm info -t > /dev/null
+udevadm info -t >/dev/null
udevadm info --tree /sys/class/net/$netdev
udevadm info -x /sys/class/net/$netdev
udevadm info -x -q path /sys/class/net/$netdev
udevadm info -P TEST_ /sys/class/net/$netdev
udevadm info -d /dev/null
-udevadm info -e > /dev/null
+udevadm info -e >/dev/null
# udevadm info -c
udevadm info -w /sys/class/net/$netdev
udevadm info --wait-for-initialization=5 /sys/class/net/$netdev
@@ -117,11 +103,11 @@ udevadm test -a bind /sys/class/net/$netdev
udevadm test -a unbind /sys/class/net/$netdev
udevadm test -a help /sys/class/net/$netdev
udevadm test --action help
-(! udevadm test -a hello /sys/class/net/$netdev )
+(! udevadm test -a hello /sys/class/net/$netdev)
udevadm test -N early /sys/class/net/$netdev
udevadm test -N late /sys/class/net/$netdev
udevadm test --resolve-names never /sys/class/net/$netdev
-(! udevadm test -N hello /sys/class/net/$netdev )
+(! udevadm test -N hello /sys/class/net/$netdev)
udevadm test -h
# udevadm test-builtin path_id "$loopdev"
@@ -138,13 +124,31 @@ udevadm test-builtin -a unbind net_id /sys/class/net/$netdev
udevadm test-builtin -a help net_id /sys/class/net/$netdev
udevadm test-builtin net_setup_link /sys/class/net/$netdev
udevadm test-builtin blkid "$loopdev"
-udevadm test-builtin hwdb "$scsidev"
udevadm test-builtin input_id /sys/class/net/$netdev
udevadm test-builtin keyboard /dev/null
# udevadm test-builtin kmod /sys/class/net/$netdev
udevadm test-builtin uaccess /dev/null
# udevadm test-builtin usb_id dev/null
-(! udevadm test-builtin hello /sys/class/net/$netdev )
+(! udevadm test-builtin hello /sys/class/net/$netdev)
+# systemd-hwdb update is extremely slow when combined with sanitizers and run
+# in a VM without acceleration, so let's just skip the one particular test
+# if we detect this combination
+if ! [[ -v ASAN_OPTIONS && "$(systemd-detect-virt -v)" == "qemu" ]]; then
+ modprobe scsi_debug
+ scsidev=$(readlink -f /sys/bus/pseudo/drivers/scsi_debug/adapter*/host*/target*/[0-9]*)
+ cat >/etc/udev/hwdb.d/99-test.hwdb <<EOF
+scsi:*
+ ID_TEST=test
+EOF
+ systemd-hwdb update
+
+ udevadm test-builtin hwdb "$scsidev"
+
+ rmmod scsi_debug
+ rm -f /etc/udev/hwdb.d/99-test.hwdb
+ systemd-hwdb update
+fi
+
udevadm trigger
udevadm trigger /dev/null
@@ -156,7 +160,7 @@ udevadm trigger -q /sys/class/net/$netdev
udevadm trigger -t all /sys/class/net/$netdev
udevadm trigger -t devices /sys/class/net/$netdev
udevadm trigger --type subsystems /sys/class/net/$netdev
-(! udevadm trigger -t hello /sys/class/net/$netdev )
+(! udevadm trigger -t hello /sys/class/net/$netdev)
udevadm trigger -c add /sys/class/net/$netdev
udevadm trigger -c remove /sys/class/net/$netdev
udevadm trigger -c change /sys/class/net/$netdev
@@ -167,7 +171,7 @@ udevadm trigger -c bind /sys/class/net/$netdev
udevadm trigger -c unbind /sys/class/net/$netdev
udevadm trigger -c help /sys/class/net/$netdev
udevadm trigger --action help /sys/class/net/$netdev
-(! udevadm trigger -c hello /sys/class/net/$netdev )
+(! udevadm trigger -c hello /sys/class/net/$netdev)
udevadm trigger --prioritized-subsystem block
udevadm trigger --prioritized-subsystem block,net
udevadm trigger --prioritized-subsystem hello
@@ -198,7 +202,7 @@ udevadm wait /sys/class/net/$netdev
udevadm wait -t 5 /sys/class/net/$netdev
udevadm wait --initialized true /sys/class/net/$netdev
udevadm wait --initialized false /sys/class/net/$netdev
-(! udevadm wait --initialized hello /sys/class/net/$netdev )
+(! udevadm wait --initialized hello /sys/class/net/$netdev)
assert_rc 124 timeout 5 udevadm wait --removed /sys/class/net/$netdev
udevadm wait --settle /sys/class/net/$netdev
udevadm wait -h