[Freeipa-devel] [PATCH] 250 fix some pylint/pychecker errors
Rob Crittenden
rcritten at redhat.com
Wed Aug 12 14:31:57 UTC 2009
David Malcolm wrote:
> On Tue, 2009-08-11 at 17:12 -0400, Rob Crittenden wrote:
>> Taking David Malcolm's advice I ran pylint and pychecker against a lot
>> of the IPA code. Much of what it turned up was warnings/complaints about
>> variable names, minor formatting, things like that. But it did also turn
>> up a few bugs (using undefined exceptions, some references to
>> non-existent variables, etc).
>>
>> There are still a lot of places where we shadow built-in functions
>> (filter is a common one). I see this as a first-pass at it.
>>
>> I'll consider trying to come up with a config file we can pass to this
>> so we can do some sort of 'make check' to catch errors. Right now the
>> output is so copious it is difficult to tell wheat from chaff without
>> reading carefully.
>
> In case this is helpful, in another project, I had something like this
> in the specfile (having created a pylintrc to suppress the various
> warnings that I felt weren't important within that code)...
>
>
>
> %define use_pylint 1
>
> %if %{use_pylint}
> BuildRequires: pylint
> %endif
>
>
> and within the %build section:
>
> %if %{use_pylint}
> # Run pylint. Halt the build if there are errors
> # There doesn't seem to be a good way to get the result of pylint as an
> # exit code. (upstream bug: http://www.logilab.org/ticket/4691 )
>
> # Capture the output:
> pylint --rcfile=pylintrc . > pylint.log
>
> # Ensure the pylint log makes it to the rpm build log:
> cat pylint.log
>
> # Analyse the "Messages by category" part of the report, looking for
> # non-zero results:
> # The table should look like this:
> # +-----------+-------+---------+-----------+
> # |type |number |previous |difference |
> # +===========+=======+=========+===========+
> # |convention |0 |0 |= |
> # +-----------+-------+---------+-----------+
> # |refactor |0 |0 |= |
> # +-----------+-------+---------+-----------+
> # |warning |0 |0 |= |
> # +-----------+-------+---------+-----------+
> # |error |0 |0 |= |
> # +-----------+-------+---------+-----------+
> #
> # Halt the build if any are non-zero:
> grep -E "^\|convention[ ]*\|0[ ]*\|" pylint.log || exit 1
> grep -E "^\|refactor[ ]*\|0[ ]*\|" pylint.log || exit 1
> grep -E "^\|warning[ ]*\|0[ ]*\|" pylint.log || exit 1
> grep -E "^\|error[ ]*\|0[ ]*\|" pylint.log || exit 1
> %endif
>
>
> (Suggestions for improvements welcome)
>
I was wondering if pylint -e would be enough for automated tools.
rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20090812/47867926/attachment.bin>
More information about the Freeipa-devel
mailing list