aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Lambert <guillaume.lambert@orange.com>2021-03-08 21:49:28 +0100
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>2021-04-06 12:01:13 +0000
commitd8eab71b6a1f4e89ec27df3228180912e3253051 (patch)
treeef3d78b8ec8badf0bc8833a281237dd3f09a413e
parent810890cce295aa33c1b8e2e79b2977b58837ef80 (diff)
[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 <guillaume.lambert@orange.com> Change-Id: Ibfa114f5c4797e526edc6f59397117e093868c24
-rw-r--r--tox.ini11
1 files changed, 11 insertions, 0 deletions
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 =