From c10f144a6deef274bfe2eaf3752192b03b1f9a55 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 23 Nov 2023 11:08:17 +0100 Subject: [PATCH] tests: use array keys in more robust way Let's use while-loop to support arbitrary key and to avoid fragile quotes for strings . Signed-off-by: Karel Zak --- tests/ts/libsmartcols/filter | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/tests/ts/libsmartcols/filter b/tests/ts/libsmartcols/filter index 275a77a346..2025ef54ee 100755 --- a/tests/ts/libsmartcols/filter +++ b/tests/ts/libsmartcols/filter @@ -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 -- 2.47.3