From 6ab385d34ab467e9d54ef68e634856c422ca366b Mon Sep 17 00:00:00 2001 From: Christian Parpart Date: Wed, 15 Jan 2020 14:19:13 +0100 Subject: [PATCH 1/2] CircleCI: Adds pylint test for all python files in test/ directory. --- .circleci/config.yml | 4 ++-- scripts/pylintrc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4a3698c62..a211edab0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -267,8 +267,8 @@ jobs: command: apt -q update && apt install -y python3-pip - run: name: Install pylint - command: python3 -m pip install pylint z3-solver - # also z3-solver to make sure pylint knows about this module + command: python3 -m pip install pylint z3-solver pygments-lexer-solidity + # also z3-solver to make sure pylint knows about this module, pygments-lexer-solidity for docs - run: name: Linting Python Scripts command: ./scripts/pylint_all.py diff --git a/scripts/pylintrc b/scripts/pylintrc index ca2141ef5..bf1f3c0c4 100644 --- a/scripts/pylintrc +++ b/scripts/pylintrc @@ -71,4 +71,4 @@ good-names= expected-line-ending-format=LF # Maximum number of characters on a single line. -max-line-length=110 +max-line-length=130 From 07a04bed446c0cb2581c820e747896a090de5c0f Mon Sep 17 00:00:00 2001 From: Christian Parpart Date: Fri, 31 Jan 2020 14:26:55 +0100 Subject: [PATCH 2/2] python: Fixing some python2-to-python3 migrations that I missed in the last PR. --- scripts/pylint_all.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/pylint_all.py b/scripts/pylint_all.py index a0ddf701c..f35ec93e8 100755 --- a/scripts/pylint_all.py +++ b/scripts/pylint_all.py @@ -1,14 +1,14 @@ #! /usr/bin/env python3 """ -Performs pylint on all python files in the project repo's test directory recursively. +Performs pylint on all python files in the project repo's {test,script,docs} directory recursively. This script is meant to be run from the CI but can also be easily in local dev environment, where you can optionally pass `-d` as command line argument to let this script abort on first error. """ from os import path, walk, system -from sys import argv, exit as brexit +from sys import argv, exit as exitwith PROJECT_ROOT = path.dirname(path.realpath(__file__)) PYLINT_RCFILE = "{}/pylintrc".format(PROJECT_ROOT) @@ -36,19 +36,20 @@ def pylint_all_filenames(dev_mode, rootdirs): if exit_code != 0: if dev_mode: return 1, checked_count - else: - failed.append(filename) + failed.append(filename) return len(failed), len(filenames) def main(): - """" Collects all python script root dirs and runs pylint on them. """ + """ Collects all python script root dirs and runs pylint on them. You can optionally + pass `-d` as command line argument to let this script abort on first error. """ dev_mode = len(argv) == 2 and argv[1] == "-d" failed_count, total_count = pylint_all_filenames(dev_mode, [ + path.abspath(path.dirname(__file__) + "/../docs"), path.abspath(path.dirname(__file__) + "/../scripts"), path.abspath(path.dirname(__file__) + "/../test")]) if failed_count != 0: - brexit("pylint failed on {}/{} files.".format(failed_count, total_count)) + exitwith("pylint failed on {}/{} files.".format(failed_count, total_count)) else: print("Successfully tested {} files.".format(total_count))