diff options
author | Luca Boccassi <bluca@debian.org> | 2023-03-01 23:11:05 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-01 23:11:05 +0000 |
commit | 7a67afe33192ce4a55e6825b80554fb4ebbb4b03 (patch) | |
tree | 995d4f7542e0ac1ae30186e798d895f363d80d9c | |
parent | f05f2334eec97baea0a6a9b21b7fa8701711f987 (diff) | |
parent | 90169eb92ae8f70cfc9cf86500ee618db7717c13 (diff) | |
download | systemd-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-x | test/units/testsuite-17.10.sh | 62 |
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 |