Mercurial > hg
view tests/test-check-code-hg.t @ 21564:2e91d4964ecd stable
subrepo: make "_sanitize()" work
"_sanitize()" was introduced by 224e96078708 on "stable" branch, but
it has done nothing for sanitizing since 224e96078708.
"_sanitize()" assumes "Visitor" design pattern:
"os.walk()" should invoke specified function ("v" in this case)
for each directory elements under specified path
but "os.walk()" assumes "Iterator" design pattern:
callers of it should drive loop to scan each directory elements
under specified path by themselves with the returned generator
object
Because of this mismatching, "_sanitize()" just discards the generator
object returned by "os.walk()" and does nothing for sanitizing.
This patch makes "_sanitize()" work.
This patch also changes the format of warning message to show each
unlinked files, for multiple appearances of "potentially hostile
.hg/hgrc".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 08 May 2014 19:03:00 +0900 |
parents | 16b5f498f49c |
children | c35c027f5f43 |
line wrap: on
line source
$ check_code="$TESTDIR"/../contrib/check-code.py $ cd "$TESTDIR"/.. $ if hg identify -q > /dev/null 2>&1; then : > else > echo "skipped: not a Mercurial working dir" >&2 > exit 80 > fi Prepare check for Python files without py extension $ cp \ > hg \ > hgweb.cgi \ > contrib/convert-repo \ > contrib/dumprevlog \ > contrib/hgweb.fcgi \ > contrib/hgweb.wsgi \ > contrib/simplemerge \ > contrib/undumprevlog \ > i18n/hggettext \ > i18n/posplit \ > tests/hghave \ > tests/dummyssh \ > "$TESTTMP"/ $ 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)