# HG changeset patch # User Simon Heimberg # Date 1389130155 -3600 # Node ID 16b5f498f49cd606923b2d1cd77c7c5fb4cb7b38 # Parent 81e905790b306d346672495f5ec923848c4280ec 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 81e905790b30 -r 16b5f498f49c 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 @@ -441,10 +441,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 81e905790b30 -r 16b5f498f49c 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 @@ -25,6 +25,12 @@ $ for f in "$TESTTMP"/*; do mv "$f" "$f.py"; done New errors are not allowed. Warnings are strongly discouraged. +(The writing "no-che?k-code" is for not skipping this file when checking.) $ { 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)