linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts
@ 2024-05-28  8:25 Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 1/4] tools: tests: use tabs for indentation consistently Bartosz Golaszewski
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-28  8:25 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij
  Cc: Bartosz Golaszewski, linux-gpio

Fix a few issues with tools tests reported by Andy.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
Changes in v3:
- Use $* in the message string in assert_fail()
- Make shellcheck happy when using find exclusively instead of find + grep
- Link to v2: https://lore.kernel.org/r/20240527-fix-bash-tests-v2-0-05d90cea24cd@linaro.org

Changes in v2:
- Use double quotes around $@ to prevent globbing but allow variable expansion
- Link to v1: https://lore.kernel.org/r/20240524-fix-bash-tests-v1-0-1397c73073a6@linaro.org

---
Bartosz Golaszewski (4):
      tools: tests: use tabs for indentation consistently
      tools: tests: use "$@" instead of $*
      tools: tests: remove unneeded ';' in while loops
      tools: tests: remove dependency on grep

 tools/gpio-tools-test.bash | 46 ++++++++++++++++++----------------------------
 1 file changed, 18 insertions(+), 28 deletions(-)
---
base-commit: 27fe10150f6d5fa78d1a1ef1e922dc8395d1154d
change-id: 20240524-fix-bash-tests-545bf26447b3

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH libgpiod v3 1/4] tools: tests: use tabs for indentation consistently
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
@ 2024-05-28  8:25 ` Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 2/4] tools: tests: use "$@" instead of $* Bartosz Golaszewski
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-28  8:25 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij
  Cc: Bartosz Golaszewski, linux-gpio

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Replace all spaces used for indentation with tabs.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 tools/gpio-tools-test.bash | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash
index b55c5eb..abb2f5d 100755
--- a/tools/gpio-tools-test.bash
+++ b/tools/gpio-tools-test.bash
@@ -203,9 +203,9 @@ dut_run_redirect() {
 
 dut_read_redirect() {
 	output=$(<$SHUNIT_TMPDIR/$DUT_OUTPUT)
-        local ORIG_IFS="$IFS"
-        IFS=$'\n' lines=($output)
-        IFS="$ORIG_IFS"
+	local ORIG_IFS="$IFS"
+	IFS=$'\n' lines=($output)
+	IFS="$ORIG_IFS"
 }
 
 dut_read() {
@@ -269,12 +269,12 @@ dut_wait() {
 }
 
 dut_cleanup() {
-        if [ -n "$DUT_PID" ]
-        then
+	if [ -n "$DUT_PID" ]
+	then
 		kill -SIGTERM $DUT_PID 2> /dev/null
 		wait $DUT_PID || false
-        fi
-        rm -f $SHUNIT_TMPDIR/$DUT_OUTPUT
+	fi
+	rm -f $SHUNIT_TMPDIR/$DUT_OUTPUT
 }
 
 tearDown() {

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH libgpiod v3 2/4] tools: tests: use "$@" instead of $*
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 1/4] tools: tests: use tabs for indentation consistently Bartosz Golaszewski
@ 2024-05-28  8:25 ` Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 3/4] tools: tests: remove unneeded ';' in while loops Bartosz Golaszewski
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-28  8:25 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij
  Cc: Bartosz Golaszewski, linux-gpio

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

$@ 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>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 tools/gpio-tools-test.bash | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash
index abb2f5d..1bd7d89 100755
--- a/tools/gpio-tools-test.bash
+++ b/tools/gpio-tools-test.bash
@@ -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
 }
 
 #

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH libgpiod v3 3/4] tools: tests: remove unneeded ';' in while loops
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 1/4] tools: tests: use tabs for indentation consistently Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 2/4] tools: tests: use "$@" instead of $* Bartosz Golaszewski
@ 2024-05-28  8:25 ` Bartosz Golaszewski
  2024-05-28  8:25 ` [PATCH libgpiod v3 4/4] tools: tests: remove dependency on grep Bartosz Golaszewski
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-28  8:25 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij
  Cc: Bartosz Golaszewski, linux-gpio

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

We're already breaking the line between while and do so there's no need
for the ';' character.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 tools/gpio-tools-test.bash | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash
index 1bd7d89..b6809f3 100755
--- a/tools/gpio-tools-test.bash
+++ b/tools/gpio-tools-test.bash
@@ -211,7 +211,7 @@ dut_read_redirect() {
 dut_read() {
 	local LINE
 	lines=()
-	while read -t 0.2 -u ${COPROC[0]} LINE;
+	while read -t 0.2 -u ${COPROC[0]} LINE
 	do
 		if [ -n "$DUT_FIRST_CHAR" ]
 		then
@@ -232,7 +232,7 @@ dut_flush() {
 	lines=()
 	output=
 	unset DUT_FIRST_CHAR
-	while read -t 0 -u ${COPROC[0]} JUNK;
+	while read -t 0 -u ${COPROC[0]} JUNK
 	do
 		read -t 0.1 -u ${COPROC[0]} JUNK || true
 	done

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH libgpiod v3 4/4] tools: tests: remove dependency on grep
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
                   ` (2 preceding siblings ...)
  2024-05-28  8:25 ` [PATCH libgpiod v3 3/4] tools: tests: remove unneeded ';' in while loops Bartosz Golaszewski
@ 2024-05-28  8:25 ` Bartosz Golaszewski
  2024-05-28  8:34 ` [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Kent Gibson
  2024-05-29 13:54 ` Bartosz Golaszewski
  5 siblings, 0 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-28  8:25 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij
  Cc: Bartosz Golaszewski, linux-gpio

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

We only use grep in one place where we don't really need it as we can use
find directly.

Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Suggested-by: Kent Gibson <warthog618@gmail.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 tools/gpio-tools-test.bash | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash
index b6809f3..521556c 100755
--- a/tools/gpio-tools-test.bash
+++ b/tools/gpio-tools-test.bash
@@ -158,19 +158,10 @@ gpiosim_cleanup() {
 		local BANKPATH=$DEVPATH/bank0
 
 		echo 0 > $DEVPATH/live
-
-		ls $BANKPATH/line* > /dev/null 2>&1
-		if [ "$?" = "0" ]
-		then
-			for LINE in $(find $BANKPATH/ | grep -E "line[0-9]+$")
-			do
-				test -e $LINE/hog && rmdir $LINE/hog
-				rmdir $LINE
-			done
-		fi
-
-		rmdir $BANKPATH
-		rmdir $DEVPATH
+		find "$DEVPATH" -type d -name hog -exec rmdir '{}' '+'
+		find "$DEVPATH" -type d -name "line*" -exec rmdir '{}' '+'
+		find "$DEVPATH" -type d -name "bank*" -exec rmdir '{}' '+'
+		rmdir "$DEVPATH"
 	done
 
 	gpiosim_chip_symlink_cleanup
@@ -3078,7 +3069,6 @@ check_prog() {
 check_prog shunit2
 check_prog modprobe
 check_prog timeout
-check_prog grep
 
 # Check if we're running a kernel at the required version or later
 check_kernel $MIN_KERNEL_VERSION

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
                   ` (3 preceding siblings ...)
  2024-05-28  8:25 ` [PATCH libgpiod v3 4/4] tools: tests: remove dependency on grep Bartosz Golaszewski
@ 2024-05-28  8:34 ` Kent Gibson
  2024-05-29 13:18   ` Andy Shevchenko
  2024-05-29 13:54 ` Bartosz Golaszewski
  5 siblings, 1 reply; 8+ messages in thread
From: Kent Gibson @ 2024-05-28  8:34 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Andy Shevchenko, Linus Walleij, Bartosz Golaszewski, linux-gpio

On Tue, May 28, 2024 at 10:25:47AM +0200, Bartosz Golaszewski wrote:
> Fix a few issues with tools tests reported by Andy.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Looks good to me.

Reviewed-by: Kent Gibson <warthog618@gmail.com>

> ---
> Changes in v3:
> - Use $* in the message string in assert_fail()
> - Make shellcheck happy when using find exclusively instead of find + grep
> - Link to v2: https://lore.kernel.org/r/20240527-fix-bash-tests-v2-0-05d90cea24cd@linaro.org
>
> Changes in v2:
> - Use double quotes around $@ to prevent globbing but allow variable expansion
> - Link to v1: https://lore.kernel.org/r/20240524-fix-bash-tests-v1-0-1397c73073a6@linaro.org
>
> ---
> Bartosz Golaszewski (4):
>       tools: tests: use tabs for indentation consistently
>       tools: tests: use "$@" instead of $*
>       tools: tests: remove unneeded ';' in while loops
>       tools: tests: remove dependency on grep
>
>  tools/gpio-tools-test.bash | 46 ++++++++++++++++++----------------------------
>  1 file changed, 18 insertions(+), 28 deletions(-)
> ---
> base-commit: 27fe10150f6d5fa78d1a1ef1e922dc8395d1154d
> change-id: 20240524-fix-bash-tests-545bf26447b3
>
> Best regards,
> --
> Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts
  2024-05-28  8:34 ` [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Kent Gibson
@ 2024-05-29 13:18   ` Andy Shevchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2024-05-29 13:18 UTC (permalink / raw)
  To: Kent Gibson
  Cc: Bartosz Golaszewski, Linus Walleij, Bartosz Golaszewski,
	linux-gpio

On Tue, May 28, 2024 at 04:34:05PM +0800, Kent Gibson wrote:
> On Tue, May 28, 2024 at 10:25:47AM +0200, Bartosz Golaszewski wrote:
> > Fix a few issues with tools tests reported by Andy.
> >
> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> Looks good to me.
> 
> Reviewed-by: Kent Gibson <warthog618@gmail.com>

And okay to me,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts
  2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
                   ` (4 preceding siblings ...)
  2024-05-28  8:34 ` [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Kent Gibson
@ 2024-05-29 13:54 ` Bartosz Golaszewski
  5 siblings, 0 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2024-05-29 13:54 UTC (permalink / raw)
  To: Andy Shevchenko, Kent Gibson, Linus Walleij, Bartosz Golaszewski
  Cc: Bartosz Golaszewski, linux-gpio

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


On Tue, 28 May 2024 10:25:47 +0200, Bartosz Golaszewski wrote:
> Fix a few issues with tools tests reported by Andy.
> 
> 

Applied, thanks!

[1/4] tools: tests: use tabs for indentation consistently
      commit: 649b2baedd9042bbffa7f2e2847375b23c5adc2e
[2/4] tools: tests: use "$@" instead of $*
      commit: 4fae395c7c169e09441589ee64797cb62343da7d
[3/4] tools: tests: remove unneeded ';' in while loops
      commit: d75d591af73e2ebe52137221f4d87ce23f6c22d8
[4/4] tools: tests: remove dependency on grep
      commit: b569b91ce1e1749a4e4832e636721d3c05712593

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-05-29 13:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-28  8:25 [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Bartosz Golaszewski
2024-05-28  8:25 ` [PATCH libgpiod v3 1/4] tools: tests: use tabs for indentation consistently Bartosz Golaszewski
2024-05-28  8:25 ` [PATCH libgpiod v3 2/4] tools: tests: use "$@" instead of $* Bartosz Golaszewski
2024-05-28  8:25 ` [PATCH libgpiod v3 3/4] tools: tests: remove unneeded ';' in while loops Bartosz Golaszewski
2024-05-28  8:25 ` [PATCH libgpiod v3 4/4] tools: tests: remove dependency on grep Bartosz Golaszewski
2024-05-28  8:34 ` [PATCH libgpiod v3 0/4] tools: tests: fix a few issues in bash scripts Kent Gibson
2024-05-29 13:18   ` Andy Shevchenko
2024-05-29 13:54 ` Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).