9d48662103
These are currently prone to false-positives especially in terms of scoping. Consider the following: foo() { local bar=(42) echo "${bar[*]}" } bar=43 foo echo "$bar" Some versions of shellcheck, including the latest, 0.7.2, complain about $bar being reused as a plain string here. This is incorrect since foo() holds its own copy of bar[@] hence the assignment which takes place outside of it doesn't affect its content. SC2178 can be mitigated be reversing the order of declaration: bar=43 foo() { ... } ... but the SC2128 still remains. Currently, in our code majority of these warnings are coming from false-positives due to initial source'ing which most of our test scripts do (e.g. they fetch a function where local bar=() is used and in the test itself $bar happens to be assigned a plain string. This is still valid code). To mitigate, disable these directives untill shellcheck is capable of properly interpreting scoping when checking them. Signed-off-by: Michal Berger <michalx.berger@intel.com> Change-Id: Ifbde973eae6e261d79e1c340eb28644bce5f4e45 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8503 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Karol Latecki <karol.latecki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
test_dpdk_mem_info.sh |