[PATCH 2 of 6] check-code: always report when a file is skipped by "no-check-code"

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Jan 8 02:09:08 CST 2014


On 01/07/2014 01:31 PM, Simon Heimberg wrote:
> # HG changeset patch
> # User Simon Heimberg <simohe at besonet.ch>
> # Date 1389130155 -3600
> #      Tue Jan 07 22:29:15 2014 +0100
> # Node ID 661afe245eee6f739b52641878f87984baf06468
> # Parent  0db2ed7afb31e2c6e2ca26c4f7ffbdf556759a15
> check-code: always report when a file is skipped by "no-check-code"
>
> Skipping an entire file generally from checking is an important event, so
> report it always.
> Do not tell the check name because skipping does not depend on it. Directly
> skip the entire file instead of checking more patterns and skip again.
>
> The pragma no-check-code was introduced by accident in the past. (Fixed in
> e033a7d444ac and ee07f9d142c9.) This now is prevented because the files
> to skip have to be listed in the test output of test-check-code-hg.t.
>
> diff -r 0db2ed7afb31 -r 661afe245eee contrib/check-code.py
> --- a/contrib/check-code.py	Tue Jan 07 22:28:45 2014 +0100
> +++ b/contrib/check-code.py	Tue Jan 07 22:29:15 2014 +0100
> @@ -442,10 +442,8 @@
>           pre = post = fp.read()
>           fp.close()
>           if "no-" "check-code" in pre:
> -            if debug:
> -                print "Skipping %s for %s it has no-" "check-code" % (
> -                       name, f)
> -            break
> +            print "Skipping %s it has no-" "check-code" % f
> +            return "Skip" # skip checking this file
>           for p, r in filters:
>               post = re.sub(p, r, post)
>           nerrs = len(pats[0]) # nerr elements are errors
> diff -r 0db2ed7afb31 -r 661afe245eee tests/test-check-code-hg.t
> --- a/tests/test-check-code-hg.t	Tue Jan 07 22:28:45 2014 +0100
> +++ b/tests/test-check-code-hg.t	Tue Jan 07 22:29:15 2014 +0100
> @@ -28,3 +28,8 @@
>   
>     $ { hg manifest 2>/dev/null; ls "$TESTTMP"/*.py | sed 's-\\-/-g'; } |
>     >   xargs "$check_code" --warnings --per-file=0 || false
> +  Skipping hgext/zeroconf/Zeroconf.py it has no-che?k-code (glob)
> +  Skipping i18n/polib.py it has no-che?k-code (glob)
> +  Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
> +  Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
> +  Skipping mercurial/httpclient/socketutil.py it has no-che?k-code (glob)

The no-che?k-code (glob) thing is here to prevent disabling of checkcode 
on test-check-code-hg.t ?


More information about the Mercurial-devel mailing list