Add pylint to CI
Problem to solve
Add pylint
(at least -E
) to CI in order to screen for trivial typos/errors as the one introduced in !172 (merged).
Target audience
Further details
As now, there are several critical problems identified in the tmrg:
> pylint -E tmrg
************* Module tmrg.tmrg
tmrg/tmrg.py:51:25: E0602: Undefined variable 'self' (undefined-variable)
tmrg/tmrg.py:52:24: E0602: Undefined variable 'self' (undefined-variable)
tmrg/tmrg.py:70:22: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/tmrg.py:72:22: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/tmrg.py:79:56: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/tmrg.py:81:60: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/tmrg.py:1024:28: E0602: Undefined variable 'resPost' (undefined-variable)
tmrg/tmrg.py:1622:24: E1111: Assigning result of a function call, where the function has no return (assignment-from-no-return)
tmrg/tmrg.py:1629:19: E1101: Instance of 'TMR' has no 'toTMR' member (no-member)
tmrg/tmrg.py:1689:24: E1101: Instance of 'TMR' has no 'toTMR' member (no-member)
tmrg/tmrg.py:2481:12: E1101: Instance of 'list' has no 'delete' member (no-member)
************* Module tmrg.verilog_formatter
tmrg/verilog_formatter.py:46:32: E1101: Instance of 'VerilogFormatter' has no '_format_RegDecl' member (no-member)
************* Module tmrg.release
tmrg/release.py:3:0: E0401: Unable to import 'toolset' (import-error)
************* Module tmrg.verilog_elaborator
tmrg/verilog_elaborator.py:676:104: E0602: Undefined variable '_types' (undefined-variable)
tmrg/verilog_elaborator.py:701:27: E0602: Undefined variable '_to_int' (undefined-variable)
tmrg/verilog_elaborator.py:901:26: E1101: Instance of 'VerilogElaborator' has no 'EXT' member (no-member)
************* Module tmrg.prettytable
tmrg/prettytable.py:54:14: E1101: Module 'itertools' has no 'imap' member (no-member)
tmrg/prettytable.py:55:14: E1101: Module 'itertools' has no 'izip' member (no-member)
tmrg/prettytable.py:56:14: E0602: Undefined variable 'unichr' (undefined-variable)
tmrg/prettytable.py:57:4: E0401: Unable to import 'HTMLParser' (import-error)
tmrg/prettytable.py:62:4: E0611: No name 'escape' in module 'cgi' (no-name-in-module)
tmrg/prettytable.py:262:8: E0307: __str__ does not return str (invalid-str-returned)
************* Module tmrg.wrg
tmrg/wrg.py:204:12: E0602: Undefined variable 'startDocumentation' (undefined-variable)
************* Module tmrg.verilog_parser
tmrg/verilog_parser.py:104:8: E0401: Unable to import 'psyco' (import-error)
tmrg/verilog_parser.py:112:0: E0102: function already defined line 84 (function-redefined)
tmrg/verilog_parser.py:130:33: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:131:12: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:154:21: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:161:21: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:198:22: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:199:22: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:204:15: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:205:17: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:206:22: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:219:21: E1121: Too many positional arguments for method call (too-many-function-args)
....
tmrg/verilog_parser.py:881:22: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:882:32: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:883:23: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:885:21: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:890:19: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:891:23: E1121: Too many positional arguments for method call (too-many-function-args)
tmrg/verilog_parser.py:936:46: E1121: Too many positional arguments for function call (too-many-function-args)
tmrg/verilog_parser.py:976:25: E1121: Too many positional arguments for method call (too-many-function-args)
************* Module tmrg.toolset
tmrg/toolset.py:70:30: E0602: Undefined variable 'errno' (undefined-variable)
Proposal
Add new CI stage.
What does success look like, and how can we measure that?
No trivial errors slip through the review process.