Mercurial > hg
view tests/test-check-code-hg.py @ 15372:695ac6aca77f stable
check-code: fix issues with finding patterns in unified tests, fix tests
- old-style patterns without ^ were getting improperly anchored
- finditer was matching against beginning of line poorly
- \s was matching newlines
- [^x] was matching newlines
so we:
- remove earlier hacks for multiline matching
- fix unified test anchoring by adding .*
- replace \s with [ \t]
- replace [^x] with [^\nx]
- force all matches into multiline mode so ^ anchors work
This uncovers a number of test issues that are then repaired.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 27 Oct 2011 17:22:04 -0500 |
parents | b0e3d3973440 |
children |
line wrap: on
line source
# Pass all working directory files through check-code.py import sys, os, imp rootdir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) if not os.path.isdir(os.path.join(rootdir, '.hg')): sys.stderr.write('skipped: cannot check code on non-repository sources\n') sys.exit(80) checkpath = os.path.join(rootdir, 'contrib/check-code.py') checkcode = imp.load_source('checkcode', checkpath) from mercurial import hg, ui u = ui.ui() repo = hg.repository(u, rootdir) checked = 0 wctx = repo[None] for f in wctx: # ignore removed and unknown files if f not in wctx: continue checked += 1 checkcode.checkfile(os.path.join(rootdir, f)) if not checked: sys.stderr.write('no file checked!\n')