tests/test-check-code-hg.t
author Drew Gottlieb <drgott@google.com>
Tue, 07 Apr 2015 15:18:52 -0700
changeset 24670 dfb86af18a35
parent 22047 8fb6844a4ff1
permissions -rw-r--r--
treemanifest: optimize treemanifest._walk() to skip directories This makes treemanifest.walk() not visit submanifests that are known not to have any matching files. It does this by calling match.visitdir() on submanifests as it walks. This change also updates largefiles to be able to work with this new behavior in treemanifests. It overrides match.visitdir(), the function that dictates how walk() and matches() skip over directories. The greatest speed improvements are seen with narrower scopes. For example, this commit speeds up the following command on the Mozilla repo from 1.14s to 1.02s: hg files -r . dom/apps/ Whereas with a wider scope, dom/, the speed only improves from 1.21s to 1.13s. As with similar a similar optimization to treemanifest.matches(), this change will bring out even bigger performance improvements once treemanifests are loaded lazily. Once that happens, we won't just skip over looking at submanifests, but we'll skip even loading them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22047
8fb6844a4ff1 tests: change some #ifs to #requires
Matt Mackall <mpm@selenic.com>
parents: 21225
diff changeset
     1
#require test-repo
21223
c35c027f5f43 test-check-code-hg: use test-repo check
Matt Mackall <mpm@selenic.com>
parents: 20239
diff changeset
     2
15557
7bb5ed61b74c tests: convert test-check-code-hg.py to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 11771
diff changeset
     3
  $ check_code="$TESTDIR"/../contrib/check-code.py
7bb5ed61b74c tests: convert test-check-code-hg.py to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 11771
diff changeset
     4
  $ cd "$TESTDIR"/..
15558
c6b600d2348c tests: run check-code with warnings and maintain a whitelist
Mads Kiilerich <mads@kiilerich.com>
parents: 15557
diff changeset
     5
19384
96fd9af75834 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch>
parents: 19321
diff changeset
     6
New errors are not allowed. Warnings are strongly discouraged.
20239
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
     7
(The writing "no-che?k-code" is for not skipping this file when checking.)
19384
96fd9af75834 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch>
parents: 19321
diff changeset
     8
21225
c58aa73bf0b9 test-check-code-hg: use locate instead of manifest
Matt Mackall <mpm@selenic.com>
parents: 21224
diff changeset
     9
  $ hg locate | sed 's-\\-/-g' |
19495
9aee3d014394 tests: test-check-code-hg.t works for all files to check
Simon Heimberg <simohe@besonet.ch>
parents: 19386
diff changeset
    10
  >   xargs "$check_code" --warnings --per-file=0 || false
20239
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    11
  Skipping hgext/zeroconf/Zeroconf.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    12
  Skipping i18n/polib.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    13
  Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    14
  Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    15
  Skipping mercurial/httpclient/socketutil.py it has no-che?k-code (glob)