[chirp_devel] Fwd: [CHIRP - Feature #159] (In Progress) Get pylint happy with chirp
Zach Welch
Sun Mar 8 22:37:46 PDT 2015
On 03/08/2015 07:28 PM, Dan Smith wrote:
....
> Bitwise is full of that sort of stuff by nature. It's one of the most
> useful things that pylint can do (identifying things that a compiler
> would have caught, like using non-existent identifiers), yet it's going
> to fail miserably on any code that uses bitwise (read: almost all of chirp).
I just had pylint scan the drivers directory, and there is not as much
of this as you seem to suggest. At worst, we can use an exceptions file
for pylint, as we have for pep8. If there isn't a better solution,
those errors can be turned off in those files. In the rest of the
files, those are good errors to catch. Moreover, it catches dozens of
other classes of issues, so that one possible failing should not
disqualify its potential to do good.
>> It gets a solid endorsement from me, because it has already flagged some
>> real errors in the code that need to be fixed. Indeed, I was originally
>> skeptical that it would be worthwhile, since we already comply with
>> pep8; however, these results made me think that it can be tuned to yield
>> significant ongoing value for this project.
>
> I'd rather you just write unit tests for things like your logger module
> and catch the issues that way. Further, like pep8, pylint is a moving
> target and keeping the config file up to date such that it continues to
> run on newer versions is actual work, and not work I personally want to do.
After looking at the unit testing frameworks and considering the logger
module's functionality, I would rather focus my efforts on pylint
integration and clean up. Even if I knew where start with writing unit
tests for the logger module, that would only benefit the one module. In
contrast, pylint integration could benefit the entire code base.
We're using the virtualenv, so moving targets will only be an issue when
we choose to move them, right?
Speaking of which, the bigger obstacle (and perhaps a blocker) is
getting pygtk and friends installed in a virtualenv, as pylint can't
find them if they're not in there. When I went back to clean up
cpep8.sh, I discovered that this is not trivial to accomplish on Linux.
--
Zach Welch
Mandolin Creek Farm
www.mandolincreekfarm.com
farm: 541-453-4131
cell: 541-740-3410
More information about the chirp_devel
mailing list