view tests/test-check-code-hg.py @ 13285:2ef915184ff2 stable

win32: win32console.GetStdHandle() can return None When the Mercurial Python libraries are used within a Windows application with no console, there is no stderr file handle.
author Steve Borho <steve@borho.org>
date Fri, 21 Jan 2011 14:42:15 -0600
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')