From d8eab71b6a1f4e89ec27df3228180912e3253051 Mon Sep 17 00:00:00 2001 From: Guillaume Lambert Date: Mon, 8 Mar 2021 21:49:28 +0100 Subject: [PATCH] [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 --- tox.ini | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 = -- 2.16.6