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> |
||
---|---|---|
.. | ||
accel_engine | ||
app | ||
bdev | ||
blobfs | ||
blobstore | ||
common | ||
compress | ||
config_converter | ||
cpp_headers | ||
dd | ||
dpdk_memory_utility | ||
env | ||
event | ||
external_code | ||
ftl | ||
fuzz | ||
interrupt | ||
ioat | ||
iscsi_tgt | ||
json_config | ||
lvol | ||
make | ||
nvme | ||
nvmf | ||
ocf | ||
openstack | ||
pmem | ||
rpc | ||
rpc_client | ||
rpc_plugins | ||
scheduler | ||
setup | ||
spdkcli | ||
unit | ||
vhost | ||
vmd | ||
Makefile | ||
spdk_cunit.h |