selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue

Message ID 20190814214948.5571-1-anders.roxell@linaro.org
State Superseded
Headers show
Series
  • selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue
Related show

Commit Message

Anders Roxell Aug. 14, 2019, 9:49 p.m.
When running tcp_fastopen_backup_key.sh the following issue was seen in
a busybox environment.
./tcp_fastopen_backup_key.sh: line 33: [: -ne: unary operator expected

Shellcheck showed the following issue.
$ shellcheck tools/testing/selftests/net/tcp_fastopen_backup_key.sh

In tools/testing/selftests/net/tcp_fastopen_backup_key.sh line 33:
        if [ $val -ne 0 ]; then
             ^-- SC2086: Double quote to prevent globbing and word splitting.

Rework to add double quotes around the variable 'val' that shellcheck
recommends.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

---
 tools/testing/selftests/net/tcp_fastopen_backup_key.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.20.1

Comments

Tim.Bird@sony.com Aug. 14, 2019, 11:34 p.m. | #1
> -----Original Message-----

> From: Anders Roxell

> 

> When running tcp_fastopen_backup_key.sh the following issue was seen in

> a busybox environment.

> ./tcp_fastopen_backup_key.sh: line 33: [: -ne: unary operator expected

> 

> Shellcheck showed the following issue.

> $ shellcheck tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> 

> In tools/testing/selftests/net/tcp_fastopen_backup_key.sh line 33:

>         if [ $val -ne 0 ]; then

>              ^-- SC2086: Double quote to prevent globbing and word splitting.

> 

> Rework to add double quotes around the variable 'val' that shellcheck

> recommends.

> 

> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

> ---

>  tools/testing/selftests/net/tcp_fastopen_backup_key.sh | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> index 41476399e184..ba5ec3eb314e 100755

> --- a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> +++ b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> @@ -30,7 +30,7 @@ do_test() {

>  	ip netns exec "${NETNS}" ./tcp_fastopen_backup_key "$1"

>  	val=$(ip netns exec "${NETNS}" nstat -az | \

>  		grep TcpExtTCPFastOpenPassiveFail | awk '{print $2}')

> -	if [ $val -ne 0 ]; then

> +	if [ "$val" -ne 0 ]; then


Did you test this in the failing environment?

With a busybox shell, I get:
 $ [ "" -ne 0 ]
sh: bad number

You might need to explicitly check for empty string here, or switch to a string comparison instead:
if [ "$val" != 0 ]; then

   -- Tim

>  		echo "FAIL: TcpExtTCPFastOpenPassiveFail non-zero"

>  		return 1

>  	fi

> --

> 2.20.1
Anders Roxell Aug. 15, 2019, 7:57 a.m. | #2
On Thu, 15 Aug 2019 at 01:35, <Tim.Bird@sony.com> wrote:
>

>

>

> > -----Original Message-----

> > From: Anders Roxell

> >

> > When running tcp_fastopen_backup_key.sh the following issue was seen in

> > a busybox environment.

> > ./tcp_fastopen_backup_key.sh: line 33: [: -ne: unary operator expected

> >

> > Shellcheck showed the following issue.

> > $ shellcheck tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> >

> > In tools/testing/selftests/net/tcp_fastopen_backup_key.sh line 33:

> >         if [ $val -ne 0 ]; then

> >              ^-- SC2086: Double quote to prevent globbing and word splitting.

> >

> > Rework to add double quotes around the variable 'val' that shellcheck

> > recommends.

> >

> > Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

> > ---

> >  tools/testing/selftests/net/tcp_fastopen_backup_key.sh | 2 +-

> >  1 file changed, 1 insertion(+), 1 deletion(-)

> >

> > diff --git a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> > b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> > index 41476399e184..ba5ec3eb314e 100755

> > --- a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> > +++ b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh

> > @@ -30,7 +30,7 @@ do_test() {

> >       ip netns exec "${NETNS}" ./tcp_fastopen_backup_key "$1"

> >       val=$(ip netns exec "${NETNS}" nstat -az | \

> >               grep TcpExtTCPFastOpenPassiveFail | awk '{print $2}')

> > -     if [ $val -ne 0 ]; then

> > +     if [ "$val" -ne 0 ]; then

>

> Did you test this in the failing environment?


I thought I did that but the environment wasn't exactly the same. =/

>

> With a busybox shell, I get:

>  $ [ "" -ne 0 ]

> sh: bad number

>

> You might need to explicitly check for empty string here, or switch to a string comparison instead:

> if [ "$val" != 0 ]; then


I'll do that instead.

Sending out a v2 shortly.

Cheers,
Anders

>

>    -- Tim

>

> >               echo "FAIL: TcpExtTCPFastOpenPassiveFail non-zero"

> >               return 1

> >       fi

> > --

> > 2.20.1

>

Patch

diff --git a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh
index 41476399e184..ba5ec3eb314e 100755
--- a/tools/testing/selftests/net/tcp_fastopen_backup_key.sh
+++ b/tools/testing/selftests/net/tcp_fastopen_backup_key.sh
@@ -30,7 +30,7 @@  do_test() {
 	ip netns exec "${NETNS}" ./tcp_fastopen_backup_key "$1"
 	val=$(ip netns exec "${NETNS}" nstat -az | \
 		grep TcpExtTCPFastOpenPassiveFail | awk '{print $2}')
-	if [ $val -ne 0 ]; then
+	if [ "$val" -ne 0 ]; then
 		echo "FAIL: TcpExtTCPFastOpenPassiveFail non-zero"
 		return 1
 	fi