comparison tests/test-devel-warnings.t @ 33133:bf1292c057ef

configitems: add a devel warning for extensions items overiding core one We do not want such case to pass silently. In the future we'll likely have useful tool for an extension to alter the existing definition in core.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 18 Jun 2017 19:52:54 +0200
parents fce4ed2912bb
children 8dff2a0d3d12
comparison
equal deleted inserted replaced
33132:c467d13334ee 33133:bf1292c057ef
201 > from mercurial import registrar 201 > from mercurial import registrar
202 > 202 >
203 > cmdtable = {} 203 > cmdtable = {}
204 > command = registrar.command(cmdtable) 204 > command = registrar.command(cmdtable)
205 > 205 >
206 > configtable = {}
207 > configitem = registrar.configitem(configtable)
208 >
209 > configitem('test', 'some', default='foo')
210 > # overwrite a core config
211 > configitem('ui', 'quiet', default=False)
212 > configitem('ui', 'interactive', default=None)
213 >
206 > @command(b'buggyconfig') 214 > @command(b'buggyconfig')
207 > def cmdbuggyconfig(ui, repo): 215 > def cmdbuggyconfig(ui, repo):
208 > repo.ui.config('ui', 'quiet', False) 216 > repo.ui.config('ui', 'quiet', False)
209 > repo.ui.config('ui', 'interactive', None) 217 > repo.ui.config('ui', 'interactive', None)
218 > repo.ui.config('test', 'some', 'foo')
210 > EOF 219 > EOF
211 220
212 $ hg --config "extensions.buggyconfig=${TESTTMP}/buggyconfig.py" buggyconfig 221 $ hg --config "extensions.buggyconfig=${TESTTMP}/buggyconfig.py" buggyconfig
222 devel-warn: extension 'buggyconfig' overwrite config item 'ui.interactive' at: */mercurial/extensions.py:* (loadall) (glob)
223 devel-warn: extension 'buggyconfig' overwrite config item 'ui.quiet' at: */mercurial/extensions.py:* (loadall) (glob)
213 devel-warn: specifying a default value for a registered config item: 'ui.quiet' 'False' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob) 224 devel-warn: specifying a default value for a registered config item: 'ui.quiet' 'False' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
214 devel-warn: specifying a default value for a registered config item: 'ui.interactive' 'None' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob) 225 devel-warn: specifying a default value for a registered config item: 'ui.interactive' 'None' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
226 devel-warn: specifying a default value for a registered config item: 'test.some' 'foo' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
215 227
216 $ cd .. 228 $ cd ..