]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: use array keys in more robust way
authorKarel Zak <kzak@redhat.com>
Thu, 23 Nov 2023 10:08:17 +0000 (11:08 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 23 Nov 2023 10:08:17 +0000 (11:08 +0100)
Let's use while-loop to support arbitrary key and to avoid fragile
quotes for strings .

Signed-off-by: Karel Zak <kzak@redhat.com>
tests/ts/libsmartcols/filter

index 275a77a346cb097c235e2791c0c7f9fcea8fc719..2025ef54ee7b6e3b95b1d0e55816d537ab444919 100755 (executable)
@@ -47,8 +47,7 @@ FILTERS["and-or"]='(NUM >= 3 && NUM <= 100) || NUM == 0'
 
 FILTERS["as-string"]='NUM == "100"'
 
-names=$(echo $(printf '%s\n' "${!FILTERS[@]}" | sort))
-for name in $names; do
+printf '%s\n' "${!FILTERS[@]}" | sort | while read name; do
        ts_init_subtest "$prefix-$name"
        echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
        echo >> $TS_OUTPUT
@@ -95,8 +94,7 @@ FILTERS["le2"]='NUM <= 100.5'
 FILTERS["as-string"]='NUM == "100"'
 FILTERS["as-string2"]='NUM == "100.5"'
 
-names=$(echo $(printf '%s\n' "${!FILTERS[@]}" | sort))
-for name in $names; do
+printf '%s\n' "${!FILTERS[@]}" | sort | while read name; do
        ts_init_subtest "$prefix-$name"
        echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
        echo >> $TS_OUTPUT
@@ -135,8 +133,7 @@ FILTERS["ne2"]='BOOL != true'
 FILTERS["as-string"]='BOOL == "0"'
 FILTERS["as-string2"]='BOOL == "1"'
 
-names=$(echo $(printf '%s\n' "${!FILTERS[@]}" | sort))
-for name in $names; do
+printf '%s\n' "${!FILTERS[@]}" | sort | while read name; do
        ts_init_subtest "$prefix-$name"
        echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
        echo >> $TS_OUTPUT
@@ -171,8 +168,7 @@ FILTERS["le"]='NAME <= "bbb"'
 FILTERS["reg"]='NAME =~ "aaa.*"'
 FILTERS["nreg"]='NAME !~ "aaa.*"'
 
-names=$(echo $(printf '%s\n' "${!FILTERS[@]}" | sort))
-for name in $names; do
+printf '%s\n' "${!FILTERS[@]}" | sort | while read name; do
        ts_init_subtest "$prefix-$name"
        echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
        echo >> $TS_OUTPUT
@@ -201,8 +197,7 @@ FILTERS["bad-column"]='XXX == 100'
 FILTERS["bad-number"]='NUM == 1y0'
 FILTERS["bad-float"]='NUM == 100 . 5'
 
-names=$(echo $(printf '%s\n' "${!FILTERS[@]}" | sort))
-for name in $names; do
+printf '%s\n' "${!FILTERS[@]}" | sort | while read name; do
        ts_init_subtest "$prefix-$name"
        echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
        echo >> $TS_OUTPUT