##// END OF EJS Templates
tests: accept alternative privileged port allocation failure...
tests: accept alternative privileged port allocation failure This registers an additional failure message on failed privileged port allocation, equally funcionally valid but previously not handled and causing the test to fail when run in the NixOS sandbox. Differential Revision: https://phab.mercurial-scm.org/D11741

File last commit:

r48929:b74e1286 default
r49135:6f435697 stable
Show More
autodiff.py
65 lines | 1.5 KiB | text/x-python | PythonLexer
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 # Extension dedicated to test patch.diff() upgrade modes
Gregory Szorc
tests/autodiff.py: use absolute_import
r27281
from __future__ import absolute_import
from mercurial import (
error,
patch,
Pulkit Goyal
py3: use pycompat.byteskwargs() in tests/autodiff.py...
r37386 pycompat,
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 registrar,
Gregory Szorc
tests/autodiff.py: use absolute_import
r27281 scmutil,
)
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189
Gregory Szorc
tests: declare commands using decorator
r21254 cmdtable = {}
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 command = registrar.command(cmdtable)
Gregory Szorc
tests: declare commands using decorator
r21254
Augie Fackler
formatting: blacken the codebase...
r43346
@command(
b'autodiff',
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 [(b'', b'git', b'', b'git upgrade mode (yes/no/auto/warn/abort)')],
Augie Fackler
formatting: blacken the codebase...
r43346 b'[OPTION]... [FILE]...',
)
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 def autodiff(ui, repo, *pats, **opts):
Pulkit Goyal
py3: use pycompat.byteskwargs() in tests/autodiff.py...
r37386 opts = pycompat.byteskwargs(opts)
Siddharth Agarwal
tests/autodiff.py: explicitly only honor feature diffopts...
r23692 diffopts = patch.difffeatureopts(ui, opts)
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 git = opts.get(b'git', b'no')
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 brokenfiles = set()
losedatafn = None
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 if git in (b'yes', b'no'):
diffopts.git = git == b'yes'
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.upgrade = False
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'auto':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'warn':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
Augie Fackler
formatting: blacken the codebase...
r43346
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 def losedatafn(fn=None, **kwargs):
brokenfiles.add(fn)
return True
Augie Fackler
formatting: blacken the codebase...
r43346
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 elif git == b'abort':
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 diffopts.git = False
diffopts.upgrade = True
Augie Fackler
formatting: blacken the codebase...
r43346
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 def losedatafn(fn=None, **kwargs):
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 raise error.Abort(b'losing data for %s' % fn)
Augie Fackler
formatting: blacken the codebase...
r43346
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 else:
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 raise error.Abort(b'--git must be yes, no or auto')
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189
Martin von Zweigbergk
tests: use context-return revpair() in autodiff...
r37275 ctx1, ctx2 = scmutil.revpair(repo, [])
m = scmutil.match(ctx2, pats, opts)
Augie Fackler
formatting: blacken the codebase...
r43346 it = patch.diff(
repo,
ctx1.node(),
ctx2.node(),
match=m,
opts=diffopts,
losedatafn=losedatafn,
)
Patrick Mezard
patch: support diff data loss detection and upgrade...
r10189 for chunk in it:
ui.write(chunk)
for fn in sorted(brokenfiles):
Pulkit Goyal
tests: make autodiff.py work on Python 3...
r35599 ui.write((b'data lost for: %s\n' % fn))