diff options
author | cclauss <cclauss@bluewin.ch> | 2018-10-16 07:18:00 +0200 |
---|---|---|
committer | Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> | 2018-11-20 19:04:09 +0100 |
commit | e587e8e36a0279674882f4b8bdba81ed1b10e1a6 (patch) | |
tree | e66eef71e10d09f0cdc321dc1dc6e28b2c69da31 /.travis.yml | |
parent | c97a75bf1348e252239bb88ab4ff8ac2e0e7e092 (diff) |
Travis CI: Use flake8 to find Python syntax errors or undefined names
CLA: trivial
In Travis CI, add a Python linting step that runs flake8 tests in Travis CI
to find syntax errors and undefined names. (http://flake8.pycqa.org)
__E901,E999,F821,F822,F823__ are the "_showstopper_" flake8 issues that can halt
the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are
merely "style violations" -- useful for readability but they do not effect
runtime safety.
* F821: undefined name `name`
* F822: undefined name `name` in `__all__`
* F823: local variable name referenced before assignment
* E901: SyntaxError or IndentationError
* E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/7410)
(cherry picked from commit 2a6f57bc098cdfa6320189f2725337c7f74a052e)
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml index 764da2885e..0124368fd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -120,6 +120,18 @@ matrix: - gcc-mingw-w64 compiler: x86_64-w64-mingw32-gcc env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" + - os: linux + language: python + python: 3.7 + dist: xenial # required for Python 3.7 (travis-ci/travis-ci#9069) + sudo: required # required for Python 3.7 (travis-ci/travis-ci#9069) + install: pip install flake8 + before_script: + # stop the build if there are Python syntax errors or undefined names + - flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + script: true exclude: - os: linux compiler: clang |