commit 348c36e75c168a20c92ad3e6c17e56d9f9e2b249 Author: teor teor@torproject.org Date: Mon Dec 2 13:34:12 2019 +1000
test: Add shellcheck tests
Part of 28863. --- .travis.yml | 11 +++++++++++ test.sh | 7 +++++++ 2 files changed, 18 insertions(+)
diff --git a/.travis.yml b/.travis.yml index b7bfc94..a219026 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,6 +38,7 @@ matrix: packages: ## macOS needs pip(2) from homebrew python - python@2 + - shellcheck ## See ticket #30928 for more information. This key should be ## removed at some point to speed up builds. update: true @@ -97,6 +98,15 @@ dist: bionic ## Recent is Xcode 11.2 on macOS 10.14 as of October 2019 osx_image: xcode11.2
+## Download our dependencies +## We don't install shellcheck on macOS, because brew update is slow +addons: + ## (Linux only) + apt: + packages: + ## Optional build dependencies + - shellcheck + before_install: ## Set pipefail: we use pipes - set -o pipefail || echo "pipefail failed" @@ -105,6 +115,7 @@ install: ## List installed package versions - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then dpkg-query --show; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list --versions; fi + - if command -v shellcheck ; then shellcheck --version; fi - $PYTHON --version ## Are we running python 2? - if $PYTHON --version 2>&1 | cut -d" " -f2 | grep -q '2[.]'; then PY2=1; else PY2= ; fi diff --git a/test.sh b/test.sh index a6bd19a..0dc177a 100755 --- a/test.sh +++ b/test.sh @@ -6,6 +6,13 @@ set -e # Use the default python spelling, if the user hasn't specified one PYTHON=${PYTHON:-python}
+# Test our shell script code portability and quality (including this script) +# SC1117 was disabled after 0.5, because it was too pedantic +EXCLUSIONS="--exclude=SC1117" +if command -v shellcheck; then + find . -name "*.sh" -exec shellcheck "$EXCLUSIONS" {} + +fi + ## moria1, Serge, no caches extra info, no dir port, doesn't exist ## TODO: validate output from all 3 commands using grep, grep, and stem? $PYTHON generateFallbackDirLine.py 9695DFC35FFEB861329B9F1AB04C46397020CE31 BA44A889E64B93FAA2B114E02C2A279A8555C533 001524DD403D729F08F7E5D77813EF12756CFA8D 5AFAC3D00E97D6733112CC9CA2A788691FA87125 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
tor-commits@lists.torproject.org