tests/test-check-code-hg.py
author Matt Mackall <mpm@selenic.com>
Mon, 20 Sep 2010 16:14:05 -0500
changeset 12347 6277a9469dff
parent 11771 b0e3d3973440
permissions -rw-r--r--
bundlerepo: restore close() method
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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')