From: Guillaume Lambert Date: Mon, 8 Mar 2021 20:49:28 +0000 (+0100) Subject: [COMMON] Add a checkbashisms tox profile X-Git-Tag: 9.0.0~328^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=oom.git;a=commitdiff_plain;h=d8eab71b6a1f4e89ec27df3228180912e3253051 [COMMON] Add a checkbashisms tox profile to identify potential bashisms in scripts and ensure compatibility with dash and other POSIX shells as often found in MAC OS X and BSD or UNIX systems. Though bash is a good interactive user shell, many UN*X systems and GNU+Linux distributions now prefers Almquist or Kornshell variants for scripting in order to improve the system performance and maintenability. https://wiki.ubuntu.com/DashAsBinSh https://mywiki.wooledge.org/Bashism https://en.wikipedia.org/wiki/Almquist_shell Issue-ID: OOM-2643 Signed-off-by: Guillaume Lambert Change-Id: Ibfa114f5c4797e526edc6f59397117e093868c24 --- diff --git a/tox.ini b/tox.ini index fb6aca0cd9..fcabf9cadc 100644 --- a/tox.ini +++ b/tox.ini @@ -43,6 +43,17 @@ deps = commands = gitlint +[testenv:checkbashisms] +deps = +whitelist_externals = sh + find + checkbashisms +commands = + sh -c 'which checkbashisms>/dev/null || sudo yum install devscripts-minimal || sudo apt-get install devscripts \ + || (echo "checkbashisms command not found - please install it (e.g. sudo apt-get install devscripts | \ + yum install devscripts-minimal )" >&2 && exit 1)' + find . -not -path '*/\.*' -name *.sh -exec checkbashisms -f \{\} + + [testenv:autopep8] deps = autopep8 commands =