Files
zulip/tools/travis/static-analysis
Tim Abbott 5c88fbdc6f mypy: Require new Python functions to have type annotations.
We're now at the point where 100% of functions checked by mypy is
fully annotated; to avoid regressions, we're enforcing the requirement
that it stay this way.  We still have a moderate amount of code that
is neither checked by mypy nor annotated, but it seems reasonable to
annotate that code at the same time as we get a chance to fix the mypy
issues in it.

This is implemented by using the --disallow-untyped-defs option in
mypy by default.
2016-09-12 14:56:08 -07:00

23 lines
750 B
Bash
Executable File

#!/bin/bash
retcode=0
set -x
./tools/run-mypy --py2 --linecoverage-report || retcode=1
./tools/run-mypy --py3 || retcode=1
./tools/run-mypy --py2 --scripts-only --no-disallow-untyped-defs || retcode=1
./tools/run-mypy --py3 --scripts-only --no-disallow-untyped-defs || retcode=1
set +x
if [ "$retcode" == "0" ]; then
echo "The mypy static type checker for python detected no errors!"
else
echo
echo "The mypy static type checker for Python threw some errors,"
echo "which indicates a bug in your code or incorrect type annotations."
echo "Please see http://zulip.readthedocs.io/en/latest/mypy.html for details"
echo "on mypy, how Zulip is using mypy, and how to debug common issues."
exit "$retcode"
fi
tools/check-py3