diff options
| author | Vito Graffagnino <vito@graffagnino.xyz> | 2020-09-08 18:10:49 +0100 |
|---|---|---|
| committer | Vito Graffagnino <vito@graffagnino.xyz> | 2020-09-08 18:10:49 +0100 |
| commit | 3b0142cedcde39e4c2097ecd916a870a3ced5ec6 (patch) | |
| tree | 2116c49a845dfc0945778f2aa3e2118d72be428b /.config/qutebrowser/scripts/dev/run_pylint_on_tests.py | |
| parent | 8cc927e930d5b6aafe3e9862a61e81705479a1b4 (diff) | |
Added the relevent parts of the .config directory. Alss add ssh config
Diffstat (limited to '.config/qutebrowser/scripts/dev/run_pylint_on_tests.py')
| -rw-r--r-- | .config/qutebrowser/scripts/dev/run_pylint_on_tests.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/.config/qutebrowser/scripts/dev/run_pylint_on_tests.py b/.config/qutebrowser/scripts/dev/run_pylint_on_tests.py new file mode 100644 index 0000000..7adf45f --- /dev/null +++ b/.config/qutebrowser/scripts/dev/run_pylint_on_tests.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# Copyright 2014-2018 Florian Bruhin (The Compiler) <mail@qutebrowser.org> + +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>. + +"""Run pylint on tests. + +This is needed because pylint can't check a folder which isn't a package: +https://bitbucket.org/logilab/pylint/issue/512/ +""" + +import os +import os.path +import sys +import subprocess + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir, + os.pardir)) + +from scripts import utils + + +def main(): + """Main entry point. + + Return: + The pylint exit status. + """ + utils.change_cwd() + files = [] + for dirpath, _dirnames, filenames in os.walk('tests'): + for fn in filenames: + if os.path.splitext(fn)[1] == '.py': + files.append(os.path.join(dirpath, fn)) + + disabled = [ + # pytest fixtures + 'redefined-outer-name', + 'unused-argument', + # things which are okay in tests + 'missing-docstring', + 'protected-access', + 'len-as-condition', + # directories without __init__.py... + 'import-error', + ] + + toxinidir = sys.argv[1] + pythonpath = os.environ.get('PYTHONPATH', '').split(os.pathsep) + [ + toxinidir, + ] + + args = (['--disable={}'.format(','.join(disabled)), + '--ignored-modules=helpers,pytest,PyQt5'] + + sys.argv[2:] + files) + env = os.environ.copy() + env['PYTHONPATH'] = os.pathsep.join(pythonpath) + + ret = subprocess.run(['pylint'] + args, env=env).returncode + return ret + + +if __name__ == '__main__': + sys.exit(main()) |
