##// END OF EJS Templates
verify: add a config option to skip certain flag processors...
verify: add a config option to skip certain flag processors Previously, "hg verify" verifies everything, which could be undesirable when there are expensive flag processor contents. This patch adds a "verify.skipflags" developer config. A flag processor will be skipped if (flag & verify.skipflags) == 0. In the LFS usecase, that means "hg verify --config verify.skipflags=8192" will not download all LFS blobs, which could be too large to be stored locally. Note: "renamed" is also skipped since its default implementation may call filelog.data() which will trigger the flag processor.

File last commit:

r29765:19578bb8 default
r32288:a2ab9ebc default
Show More
test-extensions-wrapfunction.py
39 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-extensions-wrapfunction.py
from __future__ import absolute_import, print_function
from mercurial import extensions
def genwrapper(x):
def f(orig, *args, **kwds):
return [x] + orig(*args, **kwds)
f.x = x
return f
def getid(wrapper):
return getattr(wrapper, 'x', '-')
wrappers = [genwrapper(i) for i in range(5)]
class dummyclass(object):
def getstack(self):
return ['orig']
dummy = dummyclass()
def batchwrap(wrappers):
for w in wrappers:
extensions.wrapfunction(dummy, 'getstack', w)
print('wrap %d: %s' % (getid(w), dummy.getstack()))
def batchunwrap(wrappers):
for w in wrappers:
result = None
try:
result = extensions.unwrapfunction(dummy, 'getstack', w)
msg = str(dummy.getstack())
except (ValueError, IndexError) as e:
msg = e.__class__.__name__
print('unwrap %s: %s: %s' % (getid(w), getid(result), msg))
batchwrap(wrappers + [wrappers[0]])
batchunwrap([(wrappers[i] if i >= 0 else None)
for i in [3, None, 0, 4, 0, 2, 1, None]])