1. There is a super long line in the compose script. Please break that
into multiple lines.
+ echo -e "If the reported issues are false positives, please mark them ignored
\nin the configuration file '$PKI_PWD/$PKI_DIR/dogtag.pylintrc' \nand build
again."
2. The logic for determining whether or not to stop the script based on the return value
is incorrect.
+#OUTPUT STATUS CODE
+# Pylint should leave with following status code:
+# * 0 if everything went fine
+# * 1 if a fatal message was issued
+# * 2 if an error message was issued
+# * 4 if a warning message was issued
+# * 8 if a refactor message was issued
+# * 16 if a convention message was issued
+# * 32 on usage error
+#
+# status 1 to 16 will be bit-ORed so you can know which different categories has
been issued by analysing pylint output status code
+
+result=0
+if [ $(($status&1)) -eq 1 ] || [ $(($status&2)) -eq 2 ] || [ $(($status&4))
-eq 4 ]
+then
+ result=1
+fi
what happens if there is an error and a warning? Then the return value
will be 6. You need to decompose the error status and determine which
bits were set.
Ade
On Mon, 2013-07-29 at 11:56 -0400, Abhishek Koneru wrote:
PFA the patch which addressed all comments mentioned below.
Raised a ticket for question number 8.
--Abhishek
On Fri, 2013-07-26 at 16:13 -0400, Abhishek Koneru wrote:
> A few questions/ comments:
>
> 1. In your build, you create a pylintscan directory within the source
> tree under pki. I would prefer this to take place in the build area so
> that it does not clutter up your source tree. The pylintscan is a build
> artifact.
>
> -- Sure can be moved. I can delete the folder once the scan is done. since the scan
actually takes place before
> the build. (As per answer 2 - can i still keep pylintscan in pki?)
>
> 2. Do you need to remove the directory prior to each run?
>
> -- Not required. I will remove it in the script. Will just leave the pylint-report.
> Is it ok to put the report in the root directory of the code tree - pki?
>
> 3. What parts of the pylintrc are not default? ie. which parts did you
> change?
>
> -- The disable-ids property. (Will not disable conventions [C] and refactor[R].)
> -- Max lines - from 80 to 100
> -- Removed 'string' package from deprecated modules.
> -- Allowing variables to be named 'rv'. (property - good-names)
> -- Set property - include ids = yes.
>
> 4. I noticed that you added JSONEncoder to the pylintrc as a class for
> which private members should not be checked. Does that allow you to
> eliminate the comment to # pylint: disable-msg=E0202 in encoder.py?
>
> -- Forgot to squash a few final changes made to pylintrc. it was actually not
included in pylintrc.
>
> 5. Can you explain the rationale for ignoring W0511 and W0105?
> W0105 (pointless-string-statement):
> String statement has no effect Used when a string is used as a statement
(which of course has no effect). This is a particular case of W0104 with its own message
so you can easily disable it if you’re # using those strings as documentation,
instead of comments.
> W0511 (fixme): Used when a warning note as FIXME or XXX is detected.
>
> -- Will add the same to the comments for disabled ids.
>
> 6. I would prefer to not ignore Convention, refactor etc. and to have
> these show up in the pylint reports. Based on the return code for
> pylint, you can have the build fail only if the bits for errors and
> warnings are set.
>
> -- Can be done. will make the change.
>
> 7. The pylint command line seems to have all the python executables
> listed -- is this required? It means having to update this list every
> time an executable is added, which is a step that can easily be missed.
> Can you just point the scan to the top level directory?
>
> -- Yes. Did not notice that Endi added __init__.py in all directories. Will change
that.
>
> 8. Similarly to the point above, is there a way to scan the source tree
> to find all the python code?
>
> -- Yes it can be done. But since the number of source files is very small, i used
this approach of copying
> the directories directly instead of scanning all the code.
>
> On Mon, 2013-07-22 at 21:32 -0400, Abhishek Koneru wrote:
> > Please review the patch which adds a script and also the pylint
> > configuration file to the code tree. The script is called in the compose
> > script for core packages before the actual packaging is done. If any
> > errors or warnings are reported by pylint, the build fails.
> >
> > I did not add pylint as part of build-requires in the spec file for
> > pki-core, but have put a check in the script to bypass trying to scan if
> > pylint is not installed but with a comment stating the same in the log.
> >
> > --Abhishek
> > _______________________________________________
> > Pki-devel mailing list
> > Pki-devel(a)redhat.com
> >
https://www.redhat.com/mailman/listinfo/pki-devel
>
>
>
> _______________________________________________
> Pki-devel mailing list
> Pki-devel(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/pki-devel