diff --git a/test b/test index 6333cb160..9e2c97b92 100755 --- a/test +++ b/test @@ -221,6 +221,22 @@ function fmt_pass { exit 255 fi + if which shellcheck >/dev/null; then + echo "Checking shellcheck..." + shellcheckResult=$(shellcheck -fgcc build test scripts/* 2>&1 || true) + if [ -n "${shellcheckResult}" ]; then + # mask the most common ones; fix later + SHELLCHECK_MASK="SC(2086|2006|2068|2196|2035|2162|2046|2076)" + errs=$(echo "${shellcheckResult}" | egrep -v "${SHELLCHECK_MASK}" || true) + if [ -n "${errs}" ]; then + echo -e "shellcheck checking failed:\n${shellcheckResult}\n===\nFailed:\n${errs}" + exit 255 + fi + suppressed=$(echo "${shellcheckResult}" | cut -f4- -d':' | sort | uniq -c | sort -n) + echo -e "shellcheck suppressed warnings:\n${suppressed}" + fi + fi + echo "Checking documentation style..." # eschew you yous=`find . -name \*.md | xargs egrep --color "[Yy]ou[r]?[ '.,;]" | grep -v /v2/ || true`