From 4481a3085501b4982e81c904db6c8f11a567efb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 7 Apr 2023 10:17:15 +0200 Subject: [PATCH] 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. --- test/units/testsuite-17.06.sh | 8 +++----- test/units/testsuite-17.07.sh | 8 ++++---- test/units/testsuite-17.08.sh | 12 ++++++------ test/units/testsuite-17.09.sh | 4 ++-- test/units/testsuite-35.sh | 4 ++-- test/units/testsuite-45.sh | 12 ++++++------ test/units/testsuite-46.sh | 4 ++-- test/units/testsuite-50.sh | 4 ++-- test/units/testsuite-60.sh | 4 ++-- test/units/testsuite-64.sh | 4 ++-- test/units/testsuite-73.sh | 4 ++-- 11 files changed, 33 insertions(+), 35 deletions(-) diff --git a/test/units/testsuite-17.06.sh b/test/units/testsuite-17.06.sh index 224063f6a6..4d452ff97c 100755 --- a/test/units/testsuite-17.06.sh +++ b/test/units/testsuite-17.06.sh @@ -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 diff --git a/test/units/testsuite-17.07.sh b/test/units/testsuite-17.07.sh index 549107af10..b4dfd904e9 100755 --- a/test/units/testsuite-17.07.sh +++ b/test/units/testsuite-17.07.sh @@ -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 diff --git a/test/units/testsuite-17.08.sh b/test/units/testsuite-17.08.sh index f740b337f7..a49a77dc44 100755 --- a/test/units/testsuite-17.08.sh +++ b/test/units/testsuite-17.08.sh @@ -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 diff --git a/test/units/testsuite-17.09.sh b/test/units/testsuite-17.09.sh index 01ac5f1709..31fc9d6842 100755 --- a/test/units/testsuite-17.09.sh +++ b/test/units/testsuite-17.09.sh @@ -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 diff --git a/test/units/testsuite-35.sh b/test/units/testsuite-35.sh index 0b83a6a536..bfd11658d6 100755 --- a/test/units/testsuite-35.sh +++ b/test/units/testsuite-35.sh @@ -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 diff --git a/test/units/testsuite-45.sh b/test/units/testsuite-45.sh index 73608756bf..74b3a2c6a9 100755 --- a/test/units/testsuite-45.sh +++ b/test/units/testsuite-45.sh @@ -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 diff --git a/test/units/testsuite-46.sh b/test/units/testsuite-46.sh index 46ee34b733..ec80b7147f 100755 --- a/test/units/testsuite-46.sh +++ b/test/units/testsuite-46.sh @@ -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 } diff --git a/test/units/testsuite-50.sh b/test/units/testsuite-50.sh index 75cb4c49b2..1b703dc18c 100755 --- a/test/units/testsuite-50.sh +++ b/test/units/testsuite-50.sh @@ -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" diff --git a/test/units/testsuite-60.sh b/test/units/testsuite-60.sh index 1b45ba21fb..5795d6bbeb 100755 --- a/test/units/testsuite-60.sh +++ b/test/units/testsuite-60.sh @@ -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 diff --git a/test/units/testsuite-64.sh b/test/units/testsuite-64.sh index 015b6b69b5..ad502a229c 100755 --- a/test/units/testsuite-64.sh +++ b/test/units/testsuite-64.sh @@ -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 "$@" diff --git a/test/units/testsuite-73.sh b/test/units/testsuite-73.sh index e5ac09c2e3..7be400d43e 100755 --- a/test/units/testsuite-73.sh +++ b/test/units/testsuite-73.sh @@ -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