author | Matt Mackall <mpm@selenic.com> |
Mon, 20 Sep 2010 16:14:05 -0500 | |
changeset 12347 | 6277a9469dff |
parent 11771 | b0e3d3973440 |
permissions | -rw-r--r-- |
11762
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 |
# Pass all working directory files through check-code.py |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
|
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 |
import sys, os, imp |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 |
rootdir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 |
if not os.path.isdir(os.path.join(rootdir, '.hg')): |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 |
sys.stderr.write('skipped: cannot check code on non-repository sources\n') |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 |
sys.exit(80) |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 |
|
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 |
checkpath = os.path.join(rootdir, 'contrib/check-code.py') |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 |
checkcode = imp.load_source('checkcode', checkpath) |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 |
|
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 |
from mercurial import hg, ui |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 |
u = ui.ui() |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 |
repo = hg.repository(u, rootdir) |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 |
checked = 0 |
11771
b0e3d3973440
tests: only run check-code on tracked files
Matt Mackall <mpm@selenic.com>
parents:
11762
diff
changeset
|
16 |
wctx = repo[None] |
b0e3d3973440
tests: only run check-code on tracked files
Matt Mackall <mpm@selenic.com>
parents:
11762
diff
changeset
|
17 |
for f in wctx: |
b0e3d3973440
tests: only run check-code on tracked files
Matt Mackall <mpm@selenic.com>
parents:
11762
diff
changeset
|
18 |
# ignore removed and unknown files |
b0e3d3973440
tests: only run check-code on tracked files
Matt Mackall <mpm@selenic.com>
parents:
11762
diff
changeset
|
19 |
if f not in wctx: |
b0e3d3973440
tests: only run check-code on tracked files
Matt Mackall <mpm@selenic.com>
parents:
11762
diff
changeset
|
20 |
continue |
11762
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
21 |
checked += 1 |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 |
checkcode.checkfile(os.path.join(rootdir, f)) |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
23 |
if not checked: |
8b03c988efb3
tests: run check-code.py on working directory files
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 |
sys.stderr.write('no file checked!\n') |