git@vger.kernel.org mailing list mirror (one of many)
 help / Atom feed
* [PATCH] git-ci: use pylint to analyze the git-p4 code
@ 2018-03-12  2:08 Viet Hung Tran
  2018-03-12  2:20 ` [GSoC][PATCH] " Viet Hung Tran
  0 siblings, 1 reply; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-12  2:08 UTC (permalink / raw)
  To: Git List

Add a new job named Pylint to .travis.yml in order to analyze git-p4 Python code.
Although Travis CI have yet to implement continuous integration for multiple
languages. Python package can be installed using apt packages. From there, pylint can be
installed using pip and used to analyze git-p4.py file.

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
---
 .travis.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 5f5ee4f3b..581d75319 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,16 @@ matrix:
         - docker
       before_install:
       script: ci/run-linux32-docker.sh
+    - env: jobname=Pylint
+      compiler:
+      addons:
+        apt:
+          packages:
+          - python
+      before_install:
+      install: pip install --user pylint
+      script: pylint git-p4.py
+      after_failure:
     - env: jobname=StaticAnalysis
       os: linux
       compiler:
-- 
2.16.2.440.gc6284da


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [GSoC][PATCH] git-ci: use pylint to analyze the git-p4 code
  2018-03-12  2:08 [PATCH] git-ci: use pylint to analyze the git-p4 code Viet Hung Tran
@ 2018-03-12  2:20 ` " Viet Hung Tran
  2018-03-12 10:15   ` Lars Schneider
  0 siblings, 1 reply; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-12  2:20 UTC (permalink / raw)
  To: Git List

This is my submission as a microproject for the Google Summer of code.
I apologize for not setting the [GSoC] in my previous email
at <20180312020855.7950-1-viethtran1620@gmail.com>.
Please ignore it.

Add a new job named Pylint to .travis.yml in order to analyze git-p4 Python code.
Although Travis CI have yet to implement continuous integration for multiple
languages. Python package can be installed using apt packages. From there, pylint can be
installed using pip and used to analyze git-p4.py file.

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
---
 .travis.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 5f5ee4f3b..581d75319 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,16 @@ matrix:
         - docker
       before_install:
       script: ci/run-linux32-docker.sh
+    - env: jobname=Pylint
+      compiler:
+      addons:
+        apt:
+          packages:
+          - python
+      before_install:
+      install: pip install --user pylint
+      script: pylint git-p4.py
+      after_failure:
     - env: jobname=StaticAnalysis
       os: linux
       compiler:
-- 
2.16.2.440.gc6284da


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GSoC][PATCH] git-ci: use pylint to analyze the git-p4 code
  2018-03-12  2:20 ` [GSoC][PATCH] " Viet Hung Tran
@ 2018-03-12 10:15   ` Lars Schneider
  2018-03-13  3:36     ` Viet Hung Tran
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Schneider @ 2018-03-12 10:15 UTC (permalink / raw)
  To: Viet Hung Tran; +Cc: Git List

Hi Viet,

> On 12 Mar 2018, at 03:20, Viet Hung Tran <viethtran1620@gmail.com> wrote:
> 
> This is my submission as a microproject for the Google Summer of code.
> I apologize for not setting the [GSoC] in my previous email
> at <20180312020855.7950-1-viethtran1620@gmail.com>.
> Please ignore it.

No worries :-)

> Add a new job named Pylint to .travis.yml in order to analyze git-p4 Python code.
> Although Travis CI have yet to implement continuous integration for multiple
> languages. Python package can be installed using apt packages. From there, pylint can be
> installed using pip and used to analyze git-p4.py file.

That looks interesting!
I assume you did run this on TravisCI already? Can you share a link?
I assume you did find errors? Can we fix them or are there too many?
If there are existing errors, how do we define a "successful" build?

Thanks for working on this,
Lars

> 
> Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
> ---
> .travis.yml | 10 ++++++++++
> 1 file changed, 10 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 5f5ee4f3b..581d75319 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -46,6 +46,16 @@ matrix:
>         - docker
>       before_install:
>       script: ci/run-linux32-docker.sh
> +    - env: jobname=Pylint
> +      compiler:
> +      addons:
> +        apt:
> +          packages:
> +          - python
> +      before_install:
> +      install: pip install --user pylint
> +      script: pylint git-p4.py
> +      after_failure:
>     - env: jobname=StaticAnalysis
>       os: linux
>       compiler:
> -- 
> 2.16.2.440.gc6284da
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [GSoC][PATCH] git-ci: use pylint to analyze the git-p4 code
  2018-03-12 10:15   ` Lars Schneider
@ 2018-03-13  3:36     ` Viet Hung Tran
  2018-03-13 14:45       ` Luke Diamand
  0 siblings, 1 reply; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-13  3:36 UTC (permalink / raw)
  To: Git List

Hello Mr. Schneider,

Here is my link for the passed CI build I tested on my fork: 
https://travis-ci.org/VietHTran/git/builds/352103333

In order to test .travis.yml configuration alone, I used a sample python 
script call "test.py" that is already successfully tested on my computer
instead of using the git-p4.py like in the patch I submitted since the 
git-p4.py file still reports a lot of errors when running pylint.

It is possible to fix all the git-p4.py errors. However, I think it would
be best to fix each error separately with multiple commits (each should 
fix a specific problem such as indentication, variable naming, etc.)
since there are a lot of changes needed to be made in the codes. Since the
microproject requires that I submit one patch, I decided to submit a patch
that includes changes in .travis.yml only. If you like, I can also submit the
patches addressing changes on the git-p4.py that fix the pylint errors.

Thank you for feedback,

Viet

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
---
 .travis.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 5f5ee4f3b..581d75319 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,16 @@ matrix:
         - docker
       before_install:
       script: ci/run-linux32-docker.sh
+    - env: jobname=Pylint
+      compiler:
+      addons:
+        apt:
+          packages:
+          - python
+      before_install:
+      install: pip install --user pylint
+      script: pylint git-p4.py
+      after_failure:
     - env: jobname=StaticAnalysis
       os: linux
       compiler:
-- 
2.16.2.440.gc6284da


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GSoC][PATCH] git-ci: use pylint to analyze the git-p4 code
  2018-03-13  3:36     ` Viet Hung Tran
@ 2018-03-13 14:45       ` Luke Diamand
  2018-03-14  0:44         ` Viet Hung Tran
  2018-03-14  3:28         ` [GSoC][PATCH 1/2] git-ci: add .pylintrc file Viet Hung Tran
  0 siblings, 2 replies; 8+ messages in thread
From: Luke Diamand @ 2018-03-13 14:45 UTC (permalink / raw)
  To: Viet Hung Tran; +Cc: Git List

On 13 March 2018 at 03:36, Viet Hung Tran <viethtran1620@gmail.com> wrote:
> Hello Mr. Schneider,
>
> Here is my link for the passed CI build I tested on my fork:
> https://travis-ci.org/VietHTran/git/builds/352103333
>
> In order to test .travis.yml configuration alone, I used a sample python
> script call "test.py" that is already successfully tested on my computer
> instead of using the git-p4.py like in the patch I submitted since the
> git-p4.py file still reports a lot of errors when running pylint.
>
> It is possible to fix all the git-p4.py errors. However, I think it would
> be best to fix each error separately with multiple commits (each should
> fix a specific problem such as indentication, variable naming, etc.)
> since there are a lot of changes needed to be made in the codes. Since the
> microproject requires that I submit one patch, I decided to submit a patch
> that includes changes in .travis.yml only. If you like, I can also submit the
> patches addressing changes on the git-p4.py that fix the pylint errors.

You can turn down the amount of messages it spews out, at which point
it actually becomes quite useful.

I had a quick go with the list of enabled checkers found here:

   https://github.com/ClusterHQ/flocker/blob/master/.pylintrc

and it then gives about 40 warnings, all of which look like they could
do with fixing.

I think fixing them in a few patches would be OK, rather than
submitting 40 separate patches.

Quite a lot of the warnings are about the use of "file" - I've got a
change I'm working on which fixes some of those already.

Luke


>
> Thank you for feedback,
>
> Viet
>
> Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
> ---
>  .travis.yml | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/.travis.yml b/.travis.yml
> index 5f5ee4f3b..581d75319 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -46,6 +46,16 @@ matrix:
>          - docker
>        before_install:
>        script: ci/run-linux32-docker.sh
> +    - env: jobname=Pylint
> +      compiler:
> +      addons:
> +        apt:
> +          packages:
> +          - python
> +      before_install:
> +      install: pip install --user pylint
> +      script: pylint git-p4.py
> +      after_failure:
>      - env: jobname=StaticAnalysis
>        os: linux
>        compiler:
> --
> 2.16.2.440.gc6284da
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [GSoC][PATCH] git-ci: use pylint to analyze the git-p4 code 
  2018-03-13 14:45       ` Luke Diamand
@ 2018-03-14  0:44         ` Viet Hung Tran
  2018-03-14  3:28         ` [GSoC][PATCH 1/2] git-ci: add .pylintrc file Viet Hung Tran
  1 sibling, 0 replies; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-14  0:44 UTC (permalink / raw)
  To: Git List

Hello Mr. Diamand,

I see. Initially, I also thought of using .pylintrc but I don’t know 
which error should be ignored and which should be fixed so  I decided 
to adhere 100% to the convention and fix each type of errors in 
different patches.

Thank you for your help,

Viet

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [GSoC][PATCH 1/2] git-ci: add .pylintrc file
  2018-03-13 14:45       ` Luke Diamand
  2018-03-14  0:44         ` Viet Hung Tran
@ 2018-03-14  3:28         ` Viet Hung Tran
  2018-03-14  3:28           ` [GSoC][PATCH 2/2] git-ci: update .pylintrc to ignore current warning Viet Hung Tran
  1 sibling, 1 reply; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-14  3:28 UTC (permalink / raw)
  To: Git List

Hello Mr. Diamand,

I have added the .pylintrc configuration file into the repository.
It still reports several warnings as you said. 

Here is the link for my build: https://travis-ci.org/VietHTran/git/jobs/353135582

Do you think I should edit the .pylintrc in order for it to also ignore the 
current warning? I included that edit in the [PATCH 2/2]. 

Viet

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
---
 .pylintrc | 577 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 577 insertions(+)
 create mode 100644 .pylintrc

diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 000000000..0db42d646
--- /dev/null
+++ b/.pylintrc
@@ -0,0 +1,577 @@
+[MASTER]
+
+# Specify a configuration file.
+#rcfile=
+
+# Add files or directories to the blacklist. They should be base names, not
+# paths.
+ignore=
+
+# Pickle collected data for later comparisons.
+persistent=no
+
+# List of plugins (as comma separated values of python modules names) to load,
+# usually to register additional checkers.
+load-plugins=
+
+# Use multiple processes to speed up Pylint.
+# DO NOT CHANGE THIS VALUES >1 HIDE RESULTS!!!!!
+jobs=1
+
+# Allow loading of arbitrary C extensions. Extensions are imported into the
+# active Python interpreter and may run arbitrary code.
+unsafe-load-any-extension=no
+
+# A comma-separated list of package or module names from where C extensions may
+# be loaded. Extensions are loading into the active Python interpreter and may
+# run arbitrary code
+extension-pkg-whitelist=
+
+# Allow optimization of some AST trees. This will activate a peephole AST
+# optimizer, which will apply various small optimizations. For instance, it can
+# be used to obtain the result of joining multiple strings with the addition
+# operator. Joining a lot of strings can lead to a maximum recursion error in
+# Pylint and this flag can prevent that. It has one side effect, the resulting
+# AST will be different than the one from reality.
+optimize-ast=no
+
+
+[MESSAGES CONTROL]
+
+# Only show warnings with the listed confidence levels. Leave empty to show
+# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
+confidence=
+
+# Enable the message, report, category or checker with the given id(s). You can
+# either give multiple identifier separated by comma (,) or put this option
+# multiple time. See also the "--disable" option for examples.
+disable=all
+
+enable=import-error,
+       import-self,
+       reimported,
+       wildcard-import,
+       misplaced-future,
+       relative-import,
+       deprecated-module,
+       unpacking-non-sequence,
+       invalid-all-object,
+       undefined-all-variable,
+       used-before-assignment,
+       cell-var-from-loop,
+       global-variable-undefined,
+       redefined-builtin,
+       redefine-in-handler,
+       unused-import,
+       unused-wildcard-import,
+       global-variable-not-assigned,
+       undefined-loop-variable,
+       global-statement,
+       global-at-module-level,
+       bad-open-mode,
+       redundant-unittest-assert,
+       boolean-datetime,
+       # Has common issues with our style due to
+       # https://github.com/PyCQA/pylint/issues/210
+       unused-variable
+
+# Things we'd like to enable someday:
+# redefined-outer-name (requires a bunch of work to clean up our code first)
+# undefined-variable (re-enable when pylint fixes https://github.com/PyCQA/pylint/issues/760)
+# no-name-in-module (giving us spurious warnings https://github.com/PyCQA/pylint/issues/73)
+# unused-argument (need to clean up or code a lot, e.g. prefix unused_?)
+
+# Things we'd like to try.
+# Procedure:
+# 1. Enable a bunch.
+# 2. See if there's spurious ones; if so disable.
+# 3. Record above.
+# 4. Remove from this list.
+       # deprecated-method,
+       # anomalous-unicode-escape-in-string,
+       # anomalous-backslash-in-string,
+       # not-in-loop,
+       # function-redefined,
+       # continue-in-finally,
+       # abstract-class-instantiated,
+       # star-needs-assignment-target,
+       # duplicate-argument-name,
+       # return-in-init,
+       # too-many-star-expressions,
+       # nonlocal-and-global,
+       # return-outside-function,
+       # return-arg-in-generator,
+       # invalid-star-assignment-target,
+       # bad-reversed-sequence,
+       # nonexistent-operator,
+       # yield-outside-function,
+       # init-is-generator,
+       # nonlocal-without-binding,
+       # lost-exception,
+       # assert-on-tuple,
+       # dangerous-default-value,
+       # duplicate-key,
+       # useless-else-on-loop,
+       # expression-not-assigned,
+       # confusing-with-statement,
+       # unnecessary-lambda,
+       # pointless-statement,
+       # pointless-string-statement,
+       # unnecessary-pass,
+       # unreachable,
+       # eval-used,
+       # exec-used,
+       # bad-builtin,
+       # using-constant-test,
+       # deprecated-lambda,
+       # bad-super-call,
+       # missing-super-argument,
+       # slots-on-old-class,
+       # super-on-old-class,
+       # property-on-old-class,
+       # not-an-iterable,
+       # not-a-mapping,
+       # format-needs-mapping,
+       # truncated-format-string,
+       # missing-format-string-key,
+       # mixed-format-string,
+       # too-few-format-args,
+       # bad-str-strip-call,
+       # too-many-format-args,
+       # bad-format-character,
+       # format-combined-specification,
+       # bad-format-string-key,
+       # bad-format-string,
+       # missing-format-attribute,
+       # missing-format-argument-key,
+       # unused-format-string-argument,
+       # unused-format-string-key,
+       # invalid-format-index,
+       # bad-indentation,
+       # mixed-indentation,
+       # unnecessary-semicolon,
+       # lowercase-l-suffix,
+       # fixme,
+       # invalid-encoded-data,
+       # unpacking-in-except,
+       # import-star-module-level,
+       # parameter-unpacking,
+       # long-suffix,
+       # old-octal-literal,
+       # old-ne-operator,
+       # backtick,
+       # old-raise-syntax,
+       # print-statement,
+       # metaclass-assignment,
+       # next-method-called,
+       # dict-iter-method,
+       # dict-view-method,
+       # indexing-exception,
+       # raising-string,
+       # standarderror-builtin,
+       # using-cmp-argument,
+       # cmp-method,
+       # coerce-method,
+       # delslice-method,
+       # getslice-method,
+       # hex-method,
+       # nonzero-method,
+       # oct-method,
+       # setslice-method,
+       # apply-builtin,
+       # basestring-builtin,
+       # buffer-builtin,
+       # cmp-builtin,
+       # coerce-builtin,
+       # old-division,
+       # execfile-builtin,
+       # file-builtin,
+       # filter-builtin-not-iterating,
+       # no-absolute-import,
+       # input-builtin,
+       # intern-builtin,
+       # long-builtin,
+       # map-builtin-not-iterating,
+       # range-builtin-not-iterating,
+       # raw_input-builtin,
+       # reduce-builtin,
+       # reload-builtin,
+       # round-builtin,
+       # unichr-builtin,
+       # unicode-builtin,
+       # xrange-builtin,
+       # zip-builtin-not-iterating,
+       # logging-format-truncated,
+       # logging-too-few-args,
+       # logging-too-many-args,
+       # logging-unsupported-format,
+       # logging-not-lazy,
+       # logging-format-interpolation,
+       # invalid-unary-operand-type,
+       # unsupported-binary-operation,
+       # no-member,
+       # not-callable,
+       # redundant-keyword-arg,
+       # assignment-from-no-return,
+       # assignment-from-none,
+       # not-context-manager,
+       # repeated-keyword,
+       # missing-kwoa,
+       # no-value-for-parameter,
+       # invalid-sequence-index,
+       # invalid-slice-index,
+       # too-many-function-args,
+       # unexpected-keyword-arg,
+       # unsupported-membership-test,
+       # unsubscriptable-object,
+       # access-member-before-definition,
+       # method-hidden,
+       # assigning-non-slot,
+       # duplicate-bases,
+       # inconsistent-mro,
+       # inherit-non-class,
+       # invalid-slots,
+       # invalid-slots-object,
+       # no-method-argument,
+       # no-self-argument,
+       # unexpected-special-method-signature,
+       # non-iterator-returned,
+       # protected-access,
+       # arguments-differ,
+       # attribute-defined-outside-init,
+       # no-init,
+       # abstract-method,
+       # signature-differs,
+       # bad-staticmethod-argument,
+       # non-parent-init-called,
+       # super-init-not-called,
+       # bad-except-order,
+       # catching-non-exception,
+       # bad-exception-context,
+       # notimplemented-raised,
+       # raising-bad-type,
+       # raising-non-exception,
+       # misplaced-bare-raise,
+       # duplicate-except,
+       # broad-except,
+       # nonstandard-exception,
+       # binary-op-exception,
+       # bare-except,
+       # not-async-context-manager,
+       # yield-inside-async-function,
+
+# ...
+[REPORTS]
+
+# Set the output format. Available formats are text, parseable, colorized, msvs
+# (visual studio) and html. You can also give a reporter class, eg
+# mypackage.mymodule.MyReporterClass.
+output-format=parseable
+
+# Put messages in a separate file for each module / package specified on the
+# command line instead of printing them on stdout. Reports (if any) will be
+# written in a file name "pylint_global.[txt|html]".
+files-output=no
+
+# Tells whether to display a full report or only the messages
+reports=no
+
+# Python expression which should return a note less than 10 (10 is the highest
+# note). You have access to the variables errors warning, statement which
+# respectively contain the number of errors / warnings messages and the total
+# number of statements analyzed. This is used by the global evaluation report
+# (RP0004).
+evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
+
+# Template used to display messages. This is a python new-style format string
+# used to format the message information. See doc for all details
+#msg-template=
+
+
+[LOGGING]
+
+# Logging modules to check that the string format arguments are in logging
+# function parameter format
+logging-modules=logging
+
+
+[FORMAT]
+
+# Maximum number of characters on a single line.
+max-line-length=100
+
+# Regexp for a line that is allowed to be longer than the limit.
+ignore-long-lines=^\s*(# )?<?https?://\S+>?$
+
+# Allow the body of an if to be on the same line as the test if there is no
+# else.
+single-line-if-stmt=no
+
+# List of optional constructs for which whitespace checking is disabled. `dict-
+# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\n222: 2}.
+# `trailing-comma` allows a space between comma and closing bracket: (a, ).
+# `empty-line` allows space-only lines.
+no-space-check=trailing-comma,dict-separator
+
+# Maximum number of lines in a module
+max-module-lines=1000
+
+# String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1
+# tab).
+indent-string='    '
+
+# Number of spaces of indent required inside a hanging  or continued line.
+indent-after-paren=4
+
+# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
+expected-line-ending-format=
+
+
+[TYPECHECK]
+
+# Tells whether missing members accessed in mixin class should be ignored. A
+# mixin class is detected if its name ends with "mixin" (case insensitive).
+ignore-mixin-members=yes
+
+# List of module names for which member attributes should not be checked
+# (useful for modules/projects where namespaces are manipulated during runtime
+# and thus existing member attributes cannot be deduced by static analysis. It
+# supports qualified module names, as well as Unix pattern matching.
+ignored-modules=
+
+# List of classes names for which member attributes should not be checked
+# (useful for classes with attributes dynamically set). This supports can work
+# with qualified names.
+ignored-classes=
+
+# List of members which are set dynamically and missed by pylint inference
+# system, and so shouldn't trigger E1101 when accessed. Python regular
+# expressions are accepted.
+generated-members=
+
+
+[VARIABLES]
+
+# Tells whether we should check for unused import in __init__ files.
+init-import=no
+
+# A regular expression matching the name of dummy variables (i.e. expectedly
+# not used).
+dummy-variables-rgx=^_|^dummy
+
+# List of additional names supposed to be defined in builtins. Remember that
+# you should avoid to define new builtins when possible.
+additional-builtins=
+
+# List of strings which can identify a callback function by name. A callback
+# name must start or end with one of those strings.
+callbacks=cb_,_cb
+
+
+[SIMILARITIES]
+
+# Minimum lines number of a similarity.
+min-similarity-lines=4
+
+# Ignore comments when computing similarities.
+ignore-comments=yes
+
+# Ignore docstrings when computing similarities.
+ignore-docstrings=yes
+
+# Ignore imports when computing similarities.
+ignore-imports=no
+
+
+[SPELLING]
+
+# Spelling dictionary name. Available dictionaries: none. To make it working
+# install python-enchant package.
+spelling-dict=
+
+# List of comma separated words that should not be checked.
+spelling-ignore-words=
+
+# A path to a file that contains private dictionary; one word per line.
+spelling-private-dict-file=
+
+# Tells whether to store unknown words to indicated private dictionary in
+# --spelling-private-dict-file option instead of raising a message.
+spelling-store-unknown-words=no
+
+
+[MISCELLANEOUS]
+
+# List of note tags to take in consideration, separated by a comma.
+notes=FIXME,XXX,TODO
+
+
+[BASIC]
+
+# List of builtins function names that should not be used, separated by a comma
+bad-functions=map,filter,input
+
+# Good variable names which should always be accepted, separated by a comma
+good-names=i,j,k,ex,Run,_
+
+# Bad variable names which should always be refused, separated by a comma
+bad-names=foo,bar,baz,toto,tutu,tata
+
+# Colon-delimited sets of names that determine each other's naming style when
+# the name regexes allow several styles.
+name-group=
+
+# Include a hint for the correct naming format with invalid-name
+include-naming-hint=no
+
+# Regular expression matching correct function names
+function-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Naming hint for function names
+function-name-hint=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression matching correct variable names
+variable-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Naming hint for variable names
+variable-name-hint=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression matching correct constant names
+const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
+
+# Naming hint for constant names
+const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
+
+# Regular expression matching correct attribute names
+attr-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Naming hint for attribute names
+attr-name-hint=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression matching correct argument names
+argument-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Naming hint for argument names
+argument-name-hint=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression matching correct class attribute names
+class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
+
+# Naming hint for class attribute names
+class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
+
+# Regular expression matching correct inline iteration names
+inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
+
+# Naming hint for inline iteration names
+inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
+
+# Regular expression matching correct class names
+class-rgx=[A-Z_][a-zA-Z0-9]+$
+
+# Naming hint for class names
+class-name-hint=[A-Z_][a-zA-Z0-9]+$
+
+# Regular expression matching correct module names
+module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
+
+# Naming hint for module names
+module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
+
+# Regular expression matching correct method names
+method-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Naming hint for method names
+method-name-hint=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match function or class names that do
+# not require a docstring.
+no-docstring-rgx=^_
+
+# Minimum line length for functions/classes that require docstrings, shorter
+# ones are exempt.
+docstring-min-length=-1
+
+
+[ELIF]
+
+# Maximum number of nested blocks for function / method body
+max-nested-blocks=5
+
+
+[IMPORTS]
+
+# Deprecated modules which should not be used, separated by a comma
+deprecated-modules=regsub,TERMIOS,Bastion,rexec
+
+# Create a graph of every (i.e. internal and external) dependencies in the
+# given file (report RP0402 must not be disabled)
+import-graph=
+
+# Create a graph of external dependencies in the given file (report RP0402 must
+# not be disabled)
+ext-import-graph=
+
+# Create a graph of internal dependencies in the given file (report RP0402 must
+# not be disabled)
+int-import-graph=
+
+
+[DESIGN]
+
+# Maximum number of arguments for function / method
+max-args=5
+
+# Argument names that match this expression will be ignored. Default to name
+# with leading underscore
+ignored-argument-names=_.*
+
+# Maximum number of locals for function / method body
+max-locals=15
+
+# Maximum number of return / yield for function / method body
+max-returns=6
+
+# Maximum number of branch for function / method body
+max-branches=12
+
+# Maximum number of statements in function / method body
+max-statements=50
+
+# Maximum number of parents for a class (see R0901).
+max-parents=7
+
+# Maximum number of attributes for a class (see R0902).
+max-attributes=7
+
+# Minimum number of public methods for a class (see R0903).
+min-public-methods=2
+
+# Maximum number of public methods for a class (see R0904).
+max-public-methods=20
+
+# Maximum number of boolean expressions in a if statement
+max-bool-expr=5
+
+
+[CLASSES]
+
+# List of method names used to declare (i.e. assign) instance attributes.
+defining-attr-methods=__init__,__new__,setUp
+
+# List of valid names for the first argument in a class method.
+valid-classmethod-first-arg=cls
+
+# List of valid names for the first argument in a metaclass class method.
+valid-metaclass-classmethod-first-arg=mcs
+
+# List of member names, which should be excluded from the protected access
+# warning.
+exclude-protected=_asdict,_fields,_replace,_source,_make
+
+
+[EXCEPTIONS]
+
+# Exceptions that will emit a warning when being caught. Defaults to
+# "Exception"
+overgeneral-exceptions=Exception
-- 
2.16.2.440.gc6284da


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [GSoC][PATCH 2/2] git-ci: update .pylintrc to ignore current warning
  2018-03-14  3:28         ` [GSoC][PATCH 1/2] git-ci: add .pylintrc file Viet Hung Tran
@ 2018-03-14  3:28           ` Viet Hung Tran
  0 siblings, 0 replies; 8+ messages in thread
From: Viet Hung Tran @ 2018-03-14  3:28 UTC (permalink / raw)
  To: Git List

pylint's check for unused variables, global statements,
redefined builtins, undefined loop variables, and unused imports are
disabled.

The current configuration allows git-p4.py to pass the check in Travis CI
in my forked repository.

Here is the link for the successful built: https://travis-ci.org/VietHTran/git/builds/353155158 

Signed-off-by: Viet Hung Tran <viethtran1620@gmail.com>
---
 .pylintrc | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/.pylintrc b/.pylintrc
index 0db42d646..09a0019d6 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -60,20 +60,13 @@ enable=import-error,
        used-before-assignment,
        cell-var-from-loop,
        global-variable-undefined,
-       redefined-builtin,
        redefine-in-handler,
-       unused-import,
        unused-wildcard-import,
        global-variable-not-assigned,
-       undefined-loop-variable,
-       global-statement,
        global-at-module-level,
        bad-open-mode,
        redundant-unittest-assert,
        boolean-datetime,
-       # Has common issues with our style due to
-       # https://github.com/PyCQA/pylint/issues/210
-       unused-variable
 
 # Things we'd like to enable someday:
 # redefined-outer-name (requires a bunch of work to clean up our code first)
-- 
2.16.2.440.gc6284da


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, back to index

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-12  2:08 [PATCH] git-ci: use pylint to analyze the git-p4 code Viet Hung Tran
2018-03-12  2:20 ` [GSoC][PATCH] " Viet Hung Tran
2018-03-12 10:15   ` Lars Schneider
2018-03-13  3:36     ` Viet Hung Tran
2018-03-13 14:45       ` Luke Diamand
2018-03-14  0:44         ` Viet Hung Tran
2018-03-14  3:28         ` [GSoC][PATCH 1/2] git-ci: add .pylintrc file Viet Hung Tran
2018-03-14  3:28           ` [GSoC][PATCH 2/2] git-ci: update .pylintrc to ignore current warning Viet Hung Tran

git@vger.kernel.org mailing list mirror (one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.org/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox