diff options
Diffstat (limited to 'test/lint/lint-shebang.sh')
-rwxr-xr-x | test/lint/lint-shebang.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/lint/lint-shebang.sh b/test/lint/lint-shebang.sh new file mode 100755 index 0000000000..fda22592d3 --- /dev/null +++ b/test/lint/lint-shebang.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Assert expected shebang lines + +export LC_ALL=C +EXIT_CODE=0 +for PYTHON_FILE in $(git ls-files -- "*.py"); do + if [[ $(head -c 2 "${PYTHON_FILE}") == "#!" && + $(head -n 1 "${PYTHON_FILE}") != "#!/usr/bin/env python3" ]]; then + echo "Missing shebang \"#!/usr/bin/env python3\" in ${PYTHON_FILE} (do not use python or python2)" + EXIT_CODE=1 + fi +done +for SHELL_FILE in $(git ls-files -- "*.sh"); do + if [[ $(head -n 1 "${SHELL_FILE}") != "#!/usr/bin/env bash" && + $(head -n 1 "${SHELL_FILE}") != "#!/bin/sh" ]]; then + echo "Missing expected shebang \"#!/usr/bin/env bash\" or \"#!/bin/sh\" in ${SHELL_FILE}" + EXIT_CODE=1 + fi +done +exit ${EXIT_CODE} |