Mercurial > hg
comparison tests/test-paths.t @ 28038:72f2a19c5f88 stable
zeroconf: forward all arguments passed to ui.configitems() wrapper
f43988e5954c added 'ignoresub' argument to ui.configitems(), but zeroconf
wrapper wasn't updated. It caused the following crash:
Traceback (most recent call last):
File "bin/hg", line 43, in <module>
mercurial.dispatch.run()
File "lib/python/mercurial/dispatch.py", line 54, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "lib/python/mercurial/dispatch.py", line 120, in dispatch
ret = _runcatch(req)
File "lib/python/mercurial/dispatch.py", line 191, in _runcatch
return _dispatch(req)
File "lib/python/mercurial/dispatch.py", line 924, in _dispatch
cmdpats, cmdoptions)
File "lib/python/mercurial/dispatch.py", line 681, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "lib/python/mercurial/extensions.py", line 195, in closure
return func(*(args + a), **kw)
File "lib/python/hgext/zeroconf/__init__.py", line 180, in cleanupafterdispatch
return orig(ui, options, cmd, cmdfunc)
File "lib/python/mercurial/dispatch.py", line 1055, in _runcommand
return checkargs()
File "lib/python/mercurial/dispatch.py", line 1015, in checkargs
return cmdfunc()
File "lib/python/mercurial/dispatch.py", line 921, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "lib/python/mercurial/util.py", line 991, in check
return func(*args, **kwargs)
File "lib/python/mercurial/commands.py", line 5405, in paths
pathitems = sorted(ui.paths.iteritems())
File "lib/python/mercurial/util.py", line 723, in __get__
result = self.func(obj)
File "lib/python/mercurial/ui.py", line 619, in paths
return paths(self)
File "lib/python/mercurial/ui.py", line 1099, in __init__
for name, loc in ui.configitems('paths', ignoresub=True):
File "lib/python/mercurial/extensions.py", line 195, in closure
return func(*(args + a), **kw)
TypeError: configitems() got an unexpected keyword argument 'ignoresub'
We have no test coverage for zeroconf, so I've added a minimal test that
could reproduce this problem.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 10 Feb 2016 22:53:17 +0900 |
parents | 294037159c64 |
children | 41dcd7545266 |
comparison
equal
deleted
inserted
replaced
27988:61f4d59e9a0b | 28038:72f2a19c5f88 |
---|---|
95 "name": "insecure", | 95 "name": "insecure", |
96 "url": "http://foo:insecure@example.com/" | 96 "url": "http://foo:insecure@example.com/" |
97 } | 97 } |
98 ] | 98 ] |
99 | 99 |
100 zeroconf wraps ui.configitems(), which shouldn't crash at least: | |
101 | |
102 $ hg paths --config extensions.zeroconf= | |
103 dupe = $TESTTMP/b#tip (glob) | |
104 dupe:pushurl = https://example.com/dupe | |
105 expand = $TESTTMP/a/$SOMETHING/bar (glob) | |
106 insecure = http://foo:***@example.com/ | |
107 | |
100 $ cd .. | 108 $ cd .. |
101 | 109 |
102 sub-options for an undeclared path are ignored | 110 sub-options for an undeclared path are ignored |
103 | 111 |
104 $ hg init suboptions | 112 $ hg init suboptions |