tools: tests: use "$@" instead of $*
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 28 May 2024 08:25:49 +0000 (10:25 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 29 May 2024 13:32:00 +0000 (15:32 +0200)
$@ does not break up quoted arguments which is what we want in all cases
in the bash test-suite. Use it instead of $*. While at it: prevent
globbing with double quotes but allow variable expansion.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Kent Gibson <warthog618@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240528-fix-bash-tests-v3-2-e9b5be2ba8bf@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
tools/gpio-tools-test.bash

index abb2f5dce2f164a94293866a6371d294d92c37d2..1bd7d899722492cd5a5b989ac945e7236259ab03 100755 (executable)
@@ -27,9 +27,9 @@ GPIOSIM_APP_NAME="gpio-tools-test"
 MIN_KERNEL_VERSION="5.17.4"
 MIN_SHUNIT_VERSION="2.1.8"
 
-# Run the command in $* and fail the test if the command succeeds.
+# Run the command in $@ and fail the test if the command succeeds.
 assert_fail() {
-       $* || return 0
+       "$@" || return 0
        fail " '$*': command did not fail as expected"
 }
 
@@ -71,7 +71,7 @@ gpiosim_chip() {
 
        mkdir -p $BANKPATH
 
-       for ARG in $*
+       for ARG in "$@"
        do
                local KEY=$(echo $ARG | cut -d"=" -f1)
                local VAL=$(echo $ARG | cut -d"=" -f2)
@@ -253,7 +253,7 @@ dut_regex_match() {
 }
 
 dut_write() {
-       echo $* >&${COPROC[1]}
+       echo "$@" >&${COPROC[1]}
 }
 
 dut_kill() {
@@ -283,7 +283,7 @@ tearDown() {
 }
 
 request_release_line() {
-       $SOURCE_DIR/gpioget -c $* >/dev/null
+       $SOURCE_DIR/gpioget -c "$@" >/dev/null
 }
 
 #