From a2e41b817b1c3ff1d8641a71d4bccf672637bff4 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 16 Jan 2023 11:00:04 +0900 Subject: [PATCH] test: add another stress test for devlink creation --- test/TEST-64-UDEV-STORAGE/test.sh | 2 +- test/units/testsuite-64.sh | 69 ++++++++++++++++++++++++++++++- 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/test/TEST-64-UDEV-STORAGE/test.sh b/test/TEST-64-UDEV-STORAGE/test.sh index f93b92e3c3..2d77bb678f 100755 --- a/test/TEST-64-UDEV-STORAGE/test.sh +++ b/test/TEST-64-UDEV-STORAGE/test.sh @@ -347,7 +347,7 @@ testcase_simultaneous_events() { for i in {0..9}; do diskpath="${TESTDIR:?}/simultaneousevents${i}.img" - dd if=/dev/zero of="$diskpath" bs=1M count=32 + dd if=/dev/zero of="$diskpath" bs=1M count=128 qemu_opts+=( "-device scsi-hd,drive=drive$i,serial=deadbeeftest$i" "-drive format=raw,cache=unsafe,file=$diskpath,if=none,id=drive$i" diff --git a/test/units/testsuite-64.sh b/test/units/testsuite-64.sh index 9fe4e69928..e3aa4f5701 100755 --- a/test/units/testsuite-64.sh +++ b/test/units/testsuite-64.sh @@ -302,7 +302,7 @@ EOF rm -fr "$mpoint" } -testcase_simultaneous_events() { +testcase_simultaneous_events_1() { local disk expected i iterations key link num_part part partscript rule target timeout local -a devices symlinks local -A running @@ -395,6 +395,73 @@ EOF udevadm control --reload } +testcase_simultaneous_events_2() { + local disk expected i iterations key link num_part part partscript target timeout + local -a devices symlinks + local -A running + + if [[ -v ASAN_OPTIONS || "$(systemd-detect-virt -v)" == "qemu" ]]; then + num_part=20 + iterations=1 + timeout=2400 + else + num_part=100 + iterations=3 + timeout=300 + fi + + for disk in {0..9}; do + link="/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_deadbeeftest${disk}" + target="$(readlink -f "$link")" + if [[ ! -b "$target" ]]; then + echo "ERROR: failed to find the test SCSI block device $link" + return 1 + fi + + devices+=("$target") + done + + symlinks=("/dev/disk/by-partlabel/testlabel") + + partscript="$(mktemp)" + + cat >"$partscript" <