test: Shellcheck - move rule SC2207 to permanent exception list

Prefer mapfile or read -a to split
command output (or quote to avoid splitting).

We know the behaviour of commands that break the SC2207 rule.
They shouldn't invoke the shell's sloppy word splitting and glob expansion.
E.g. Code: stats=($(cat /sys/block/$dev/stat))
according to SC2207 rule could look like:
IFS=" " read -r -a stats <<< "$(cat /sys/block/$dev/stat))"
Stat file contains one simple line with entries separated by commas
so present code is enough to define statistics for dev.

Change-Id: Ia929d76461c9fcff425f69d2faf4405631e60239
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467325
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Pawel Kaminski 2019-09-04 05:06:29 -04:00 committed by Tomasz Zawadzki
parent 4d6ff5a868
commit f62c4d23f2

View File

@ -248,7 +248,7 @@ SC2068,SC2086,SC2089,SC2090,\
SC2097,SC2098,SC2103,SC2115,SC2116,SC2119,SC2120,SC2121,SC2124,SC2126,SC2128,\
SC2129,SC2140,SC2142,SC2143,SC2145,SC2146,SC2148,SC2152,SC2153,SC2154,SC2155,\
SC2162,SC2164,SC2165,SC2166,SC2167,SC2174,\
SC2206,SC2207,SC2230"
SC2206,SC2230"
# SPDK fails some error checks which have been deprecated in later versions of shellcheck.
# We will not try to fix these error checks, but instead just leave the error types here
# so that we can still run with older versions of shellcheck.
@ -257,8 +257,9 @@ SC2206,SC2207,SC2230"
# We are aware about below exclude list and we want this errors to be excluded.
# SC1090: Can't follow non-constant source. Use a directive to specify location.
# SC1091: Not following: (error message here)
# SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
# SC2223: This default assignment may cause DoS due to globbing. Quote it.
SHCK_EXCLUDE="$SHCK_EXCLUDE,SC1090,SC1091,SC2223"
SHCK_EXCLUDE="$SHCK_EXCLUDE,SC1090,SC1091,SC2207,SC2223"
SHCK_FORMAT="diff"
SHCK_APPLY=true