1
0
mirror of https://github.com/systemd/systemd synced 2024-07-08 20:15:55 +00:00

test: use idiomatic bash loop iteration

In a few cases, also avoid a sleep in the last (failed) iteration of the loop.
It doesn't matter too much, but it's still ugly.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2023-04-07 10:17:15 +02:00
parent 97b35c7cec
commit 4481a30855
11 changed files with 33 additions and 35 deletions

View File

@ -16,20 +16,18 @@ function check_validity() {
}
function check() {
local i j
for ((i = 0; i < 2; i++)); do
for _ in {1..2}; do
systemctl restart systemd-udevd.service
udevadm control --ping
udevadm settle
check_validity
for ((j = 0; j < 2; j++)); do
for _ in {1..2}; do
udevadm trigger -w --action add --subsystem-match=block
check_validity
done
for ((j = 0; j < 2; j++)); do
for _ in {1..2}; do
udevadm trigger -w --action change --subsystem-match=block
check_validity
done

View File

@ -8,8 +8,8 @@ set -o pipefail
wait_service_active() {(
set +ex
for (( i = 0; i < 20; i++ )); do
if (( i != 0 )); then sleep 0.5; fi
for i in {1..20}; do
(( i > 1 )) && sleep 0.5
if systemctl --quiet is-active "${1?}"; then
return 0
fi
@ -19,8 +19,8 @@ wait_service_active() {(
wait_service_inactive() {(
set +ex
for (( i = 0; i < 20; i++ )); do
if (( i != 0 )); then sleep 0.5; fi
for i in {1..20}; do
(( i > 1 )) && sleep 0.5
systemctl --quiet is-active "${1?}"
if [[ "$?" == "3" ]]; then
return 0

View File

@ -18,8 +18,8 @@ EOF
udevadm control --reload
udevadm trigger --settle --action add /dev/null
for ((i = 0; i < 20; i++)); do
((i == 0)) || sleep .5
for i in {1..20}; do
((i > 1)) && sleep .5
(
systemctl -q is-active /dev/test/symlink-to-null-on-add
@ -34,8 +34,8 @@ assert_rc 0 systemctl -q is-active /sys/test/alias-to-null-on-add
assert_rc 3 systemctl -q is-active /sys/test/alias-to-null-on-change
udevadm trigger --settle --action change /dev/null
for ((i = 0; i < 20; i++)); do
((i == 0)) || sleep .5
for i in {1..20}; do
((i > 1)) && sleep .5
(
! systemctl -q is-active /dev/test/symlink-to-null-on-add
@ -50,8 +50,8 @@ assert_rc 3 systemctl -q is-active /sys/test/alias-to-null-on-add
assert_rc 0 systemctl -q is-active /sys/test/alias-to-null-on-change
udevadm trigger --settle --action add /dev/null
for ((i = 0; i < 20; i++)); do
((i == 0)) || sleep .5
for i in {1..20}; do
((i > 1)) && sleep .5
(
systemctl -q is-active /dev/test/symlink-to-null-on-add

View File

@ -15,7 +15,7 @@ KERNEL!="null", GOTO="test-end"
ACTION=="remove", GOTO="test-end"
# add 100 * 100byte of properties
$(for ((i = 0; i < 100; i++)); do printf 'ENV{XXX%03i}="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"\n' "$i"; done)
$(for i in {1..100}; do printf 'ENV{XXX%03i}="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"\n' "$i"; done)
LABEL="test-end"
EOF
@ -46,7 +46,7 @@ for _ in {1..40}; do
fi
FOUND=1
for ((i = 0; i < 100; i++)); do
for i in {1..100}; do
if ! grep -F "$(printf 'XXX%03i=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789' "$i")" "$TMPDIR"/monitor.txt; then
FOUND=
break

View File

@ -330,8 +330,8 @@ EOF
systemctl restart getty@tty2.service
# check session
for ((i = 0; i < 30; i++)); do
(( i != 0 )) && sleep 1
for i in {1..30}; do
(( i > 1 )) && sleep 1
check_session && break
done
check_session

View File

@ -212,8 +212,8 @@ start_mon() {
}
wait_mon() {
for ((i = 0; i < 10; i++)); do
if (( i != 0 )); then sleep 1; fi
for i in {1..10}; do
(( i > 1 )) && sleep 1
if grep -q "$1" "$mon"; then break; fi
done
assert_in "$2" "$(cat "$mon")"
@ -243,8 +243,8 @@ EOF
echo 'disable NTP'
timedatectl set-ntp false
for ((i = 0; i < 10; i++)); do
if (( i != 0 )); then sleep 1; fi
for i in {1..10}; do
(( i > 1 )) && sleep 1
if [[ "$(systemctl show systemd-timesyncd --property ActiveState)" == "ActiveState=inactive" ]]; then
break;
fi
@ -258,8 +258,8 @@ EOF
timedatectl set-ntp true
wait_mon "NTP" "BOOLEAN true"
assert_ntp "true"
for ((i = 0; i < 10; i++)); do
if (( i != 0 )); then sleep 1; fi
for i in {1..10}; do
(( i > 1 )) && sleep 1
if [[ "$(systemctl show systemd-timesyncd --property ActiveState)" == "ActiveState=active" ]]; then
break;
fi

View File

@ -27,9 +27,9 @@ inspect() {
}
wait_for_state() {
for ((i = 0; i < 10; i++)) ; do
for i in {1..10}; do
(( i > 1 )) && sleep 0.5
homectl inspect "$1" | grep -qF "State: $2" && break
sleep .5
done
}

View File

@ -489,7 +489,7 @@ systemd-dissect --detach "$LOOP"
# Note, sizeof_field(struct loop_info64, lo_file_name) == 64,
# and --loop-ref accepts upto 63 characters, and udev creates symlink
# based on the name when it has upto _62_ characters.
name="$(for (( i = 0; i < 62; i++ )); do echo -n 'x'; done)"
name="$(for _ in {1..62}; do echo -n 'x'; done)"
LOOP="$(systemd-dissect --attach --loop-ref="$name" "${image}.raw")"
udevadm trigger -w "$LOOP"
@ -499,7 +499,7 @@ test "/dev/loop/by-ref/$name" -ef "$LOOP"
# Detach by the /dev/loop/by-ref symlink
systemd-dissect --detach "/dev/loop/by-ref/$name"
name="$(for (( i = 0; i < 63; i++ )); do echo -n 'x'; done)"
name="$(for _ in {1..63}; do echo -n 'x'; done)"
LOOP="$(systemd-dissect --attach --loop-ref="$name" "${image}.raw")"
udevadm trigger -w "$LOOP"

View File

@ -181,7 +181,7 @@ EOF
# Trigger the mount ratelimiting
cd "$(mktemp -d)"
mkdir foo
for ((i = 0; i < 50; i++)); do
for _ in {1..50}; do
mount --bind foo foo
umount foo
done
@ -225,7 +225,7 @@ EOF
# shellcheck disable=SC2064
trap "rm -f /run/systemd/system/tmp-hoge.mount '$mount_mytmpfs'" RETURN
for ((i = 0; i < 10; i++)); do
for _ in {1..10}; do
systemctl --no-block start tmp-hoge.mount
sleep ".$RANDOM"
systemctl daemon-reexec

View File

@ -158,11 +158,11 @@ helper_check_device_units() {(
local i
for (( i = 0; i < 20; i++ )); do
for i in {1..20}; do
(( i > 1 )) && sleep 0.5
if check_device_units 0 "$@"; then
return 0
fi
sleep .5
done
check_device_units 1 "$@"

View File

@ -206,8 +206,8 @@ restore_keymap() {
wait_vconsole_setup() {
local i ss
for ((i = 0; i < 20; i++)); do
if (( i != 0 )); then sleep .5; fi
for i in {1..20}; do
(( i > 1 )) && sleep 0.5
ss="$(systemctl --property SubState --value show systemd-vconsole-setup.service)"
if [[ "$ss" == "exited" || "$ss" == "dead" || "$ss" == "condition" ]]; then
return 0