annotate tests/test-devel-warnings.t @ 33771:96f43981c1c4

morestatus: move fb extension to core by plugging to `hg status --verbose` morestatus extension in fbext use to show more context about the state of the repo like the repository is in a unfinished merge state, or a rebase is going on, or histedit is going on, listing the files which need to be resolved and also suggesting ways to handle the situation. This patch moves the extension directly to core by plugging it into the --verbose flag of the status command. So now if you are in any unfinished state and you do hg status -v, it will show you details and help related to the state. The extension in fbext also shows context about unfinished update state which is not ported to core as that plug in hooks to update command which need to be tackled somewhat differently. The following configuration will turn the behaviour on by default [commands] status.verbose = 1 You can also skip considering some states like bisect as follows: [commands] status.skipstates=bisect This patch also adds test for the feature. .. feature:: ``hg status -v`` can now show unfinished state. For example, when in an unfinished rebase state, ``hg status -v`` might show:: # The repository is in an unfinished *rebase* state. # No unresolved merge conflicts. # To continue: hg rebase --continue # To abort: hg rebase --abort Differential Revision: https://phab.mercurial-scm.org/D219
author Pulkit Goyal <7895pulkit@gmail.com>
date Thu, 03 Aug 2017 05:12:35 +0530
parents d524cd1d1648
children f7c9c5d8c7f4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
1
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
2 $ cat << EOF > buggylocking.py
27270
ba5f20450b10 test: update the docstring of 'test-devel-warnings.t' extension
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25630
diff changeset
3 > """A small extension that tests our developer warnings
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
4 > """
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
5 >
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
6 > from mercurial import error, registrar, repair, util
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
7 >
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
8 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32040
diff changeset
9 > command = registrar.command(cmdtable)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
10 >
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
11 > @command(b'buggylocking', [], '')
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
12 > def buggylocking(ui, repo):
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
13 > lo = repo.lock()
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
14 > wl = repo.wlock()
24392
dc7588ce06b3 tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents: 24388
diff changeset
15 > wl.release()
dc7588ce06b3 tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents: 24388
diff changeset
16 > lo.release()
24744
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
17 >
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
18 > @command(b'buggytransaction', [], '')
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
19 > def buggylocking(ui, repo):
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
20 > tr = repo.transaction('buggy')
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
21 > # make sure we rollback the transaction as we don't want to rely on the__del__
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
22 > tr.release()
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
23 >
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
24 > @command(b'properlocking', [], '')
24744
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
25 > def properlocking(ui, repo):
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
26 > """check that reentrance is fine"""
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
27 > wl = repo.wlock()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
28 > lo = repo.lock()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
29 > tr = repo.transaction('proper')
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
30 > tr2 = repo.transaction('proper')
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
31 > lo2 = repo.lock()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
32 > wl2 = repo.wlock()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
33 > wl2.release()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
34 > lo2.release()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
35 > tr2.close()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
36 > tr.close()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
37 > lo.release()
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
38 > wl.release()
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
39 >
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
40 > @command(b'nowaitlocking', [], '')
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
41 > def nowaitlocking(ui, repo):
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
42 > lo = repo.lock()
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
43 > wl = repo.wlock(wait=False)
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
44 > wl.release()
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
45 > lo.release()
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
46 >
33436
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
47 > @command(b'no-wlock-write', [], '')
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
48 > def nowlockwrite(ui, repo):
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
49 > with repo.vfs(b'branch', 'a'):
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
50 > pass
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
51 >
33437
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
52 > @command(b'no-lock-write', [], '')
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
53 > def nolockwrite(ui, repo):
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
54 > with repo.svfs(b'fncache', 'a'):
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
55 > pass
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
56 >
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
57 > @command(b'stripintr', [], '')
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
58 > def stripintr(ui, repo):
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
59 > lo = repo.lock()
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
60 > tr = repo.transaction('foobar')
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
61 > try:
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
62 > repair.strip(repo.ui, repo, [repo['.'].node()])
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
63 > finally:
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
64 > lo.release()
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
65 > @command(b'oldanddeprecated', [], '')
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
66 > def oldanddeprecated(ui, repo):
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
67 > """test deprecation warning API"""
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
68 > def foobar(ui):
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
69 > ui.deprecwarn('foorbar is deprecated, go shopping', '42.1337')
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
70 > foobar(ui)
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
71 > @command(b'nouiwarning', [], '')
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
72 > def nouiwarning(ui, repo):
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
73 > util.nouideprecwarn('this is a test', '13.37')
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
74 > @command(b'programmingerror', [], '')
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
75 > def programmingerror(ui, repo):
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
76 > raise error.ProgrammingError('something went wrong', hint='try again')
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
77 > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
78
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
79 $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
80 > [extensions]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
81 > buggylocking=$TESTTMP/buggylocking.py
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
82 > mock=$TESTDIR/mockblackbox.py
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
83 > blackbox=
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
84 > [devel]
25290
8f88f768e24c devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24755
diff changeset
85 > all-warnings=1
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
86 > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
87
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
88 $ hg init lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
89 $ cd lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
90 $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
91 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
92 $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
93 > [devel]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
94 > all=0
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
95 > check-locks=1
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
96 > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
97 $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
98 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
99 $ hg buggylocking --traceback
24755
cd89f4e6faf2 devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24750
diff changeset
100 devel-warn: "wlock" acquired after "lock" at:
24555
1b97cc5d2272 tests: fix py2.4 glob for devel warnings
Matt Mackall <mpm@selenic.com>
parents: 24392
diff changeset
101 */hg:* in * (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
102 */mercurial/dispatch.py:* in run (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
103 */mercurial/dispatch.py:* in dispatch (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
104 */mercurial/dispatch.py:* in _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
105 */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
106 */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
107 */mercurial/dispatch.py:* in _runcatchfunc (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
108 */mercurial/dispatch.py:* in _dispatch (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
109 */mercurial/dispatch.py:* in runcommand (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
110 */mercurial/dispatch.py:* in _runcommand (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
111 */mercurial/dispatch.py:* in <lambda> (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
112 */mercurial/util.py:* in check (glob)
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
113 $TESTTMP/buggylocking.py:* in buggylocking (glob)
24744
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
114 $ hg properlocking
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
115 $ hg nowaitlocking
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
116
33436
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
117 Writing without lock
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
118
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
119 $ hg no-wlock-write
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
120 devel-warn: write with no wlock: "branch" at: $TESTTMP/buggylocking.py:* (nowlockwrite) (glob)
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
121
33437
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
122 $ hg no-lock-write
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
123 devel-warn: write with no lock: "fncache" at: $TESTTMP/buggylocking.py:* (nolockwrite) (glob)
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
124
33253
8dff2a0d3d12 test: add a small comment to explain a section of test-devel-warning
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33133
diff changeset
125 Stripping from a transaction
8dff2a0d3d12 test: add a small comment to explain a section of test-devel-warning
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33133
diff changeset
126
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
127 $ echo a > a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
128 $ hg add a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
129 $ hg commit -m a
31645
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31500
diff changeset
130 $ hg stripintr 2>&1 | egrep -v '^(\*\*| )'
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31500
diff changeset
131 Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
132 *ProgrammingError: cannot strip from inside a transaction (glob)
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
133
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
134 $ hg oldanddeprecated
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
135 devel-warn: foorbar is deprecated, go shopping
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
136 (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
25630
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
137
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
138 $ hg oldanddeprecated --traceback
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
139 devel-warn: foorbar is deprecated, go shopping
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
140 (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
141 */hg:* in <module> (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
142 */mercurial/dispatch.py:* in run (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
143 */mercurial/dispatch.py:* in dispatch (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
144 */mercurial/dispatch.py:* in _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
145 */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
146 */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
147 */mercurial/dispatch.py:* in _runcatchfunc (glob)
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
148 */mercurial/dispatch.py:* in _dispatch (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
149 */mercurial/dispatch.py:* in runcommand (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
150 */mercurial/dispatch.py:* in _runcommand (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
151 */mercurial/dispatch.py:* in <lambda> (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
152 */mercurial/util.py:* in check (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
153 $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
31809
35b8bb1ef02b revset: stop supporting predicate that returns plain list (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31773
diff changeset
154 $ hg blackbox -l 7
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
155 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
156 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
157 (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
158 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
159 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
160 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
161 (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
162 */hg:* in <module> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
163 */mercurial/dispatch.py:* in run (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
164 */mercurial/dispatch.py:* in dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
165 */mercurial/dispatch.py:* in _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
166 */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
167 */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
168 */mercurial/dispatch.py:* in _runcatchfunc (glob)
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
169 */mercurial/dispatch.py:* in _dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
170 */mercurial/dispatch.py:* in runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
171 */mercurial/dispatch.py:* in _runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
172 */mercurial/dispatch.py:* in <lambda> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
173 */mercurial/util.py:* in check (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
174 $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
175 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob)
31809
35b8bb1ef02b revset: stop supporting predicate that returns plain list (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31773
diff changeset
176 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
177
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
178 Test programming error failure:
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
179
29186
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
180 $ hg buggytransaction 2>&1 | egrep -v '^ '
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
181 ** Unknown exception encountered with possibly-broken third-party extension buggylocking
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
182 ** which supports versions unknown of Mercurial.
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
183 ** Please disable buggylocking and try your action again.
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
184 ** If that fixes the bug please report it to the extension author.
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
185 ** Python * (glob)
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
186 ** Mercurial Distributed SCM (*) (glob)
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
187 ** Extensions loaded: * (glob)
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
188 ** ProgrammingError: transaction requires locking
29186
e0fc0ed41935 transaction: turn lack of locking into a hard failure (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29185
diff changeset
189 Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
190 *ProgrammingError: transaction requires locking (glob)
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
191
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
192 $ hg programmingerror 2>&1 | egrep -v '^ '
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
193 ** Unknown exception encountered with possibly-broken third-party extension buggylocking
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
194 ** which supports versions unknown of Mercurial.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
195 ** Please disable buggylocking and try your action again.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
196 ** If that fixes the bug please report it to the extension author.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
197 ** Python * (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
198 ** Mercurial Distributed SCM (*) (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
199 ** Extensions loaded: * (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
200 ** ProgrammingError: something went wrong
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
201 ** (try again)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
202 Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
203 *ProgrammingError: something went wrong (glob)
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
204
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
205 Old style deprecation warning
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
206
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
207 $ hg nouiwarning
33254
9359cd9345a9 test: glob a line number in test-devel-warnings.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33253
diff changeset
208 $TESTTMP/buggylocking.py:*: DeprecationWarning: this is a test (glob)
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
209 (compatibility will be dropped after Mercurial-13.37, update your code.)
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
210 util.nouideprecwarn('this is a test', '13.37')
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
211
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
212 (disabled outside of test run)
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
213
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
214 $ HGEMITWARNINGS= hg nouiwarning
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
215
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
216 Test warning on config option access and registration
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
217
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
218 $ cat << EOF > ${TESTTMP}/buggyconfig.py
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
219 > """A small extension that tests our developer warnings for config"""
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
220 >
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
221 > from mercurial import registrar, configitems
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
222 >
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
223 > cmdtable = {}
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
224 > command = registrar.command(cmdtable)
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
225 >
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
226 > configtable = {}
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
227 > configitem = registrar.configitem(configtable)
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
228 >
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
229 > configitem('test', 'some', default='foo')
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
230 > configitem('test', 'dynamic', default=configitems.dynamicdefault)
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
231 > # overwrite a core config
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
232 > configitem('ui', 'quiet', default=False)
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
233 > configitem('ui', 'interactive', default=None)
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
234 >
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33061
diff changeset
235 > @command(b'buggyconfig')
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
236 > def cmdbuggyconfig(ui, repo):
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
237 > repo.ui.config('ui', 'quiet', False)
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
238 > repo.ui.config('ui', 'interactive', None)
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
239 > repo.ui.config('test', 'some', 'foo')
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
240 > repo.ui.config('test', 'dynamic', 'some-required-default')
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
241 > repo.ui.config('test', 'dynamic')
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
242 > EOF
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
243
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
244 $ hg --config "extensions.buggyconfig=${TESTTMP}/buggyconfig.py" buggyconfig
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
245 devel-warn: extension 'buggyconfig' overwrite config item 'ui.interactive' at: */mercurial/extensions.py:* (loadall) (glob)
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
246 devel-warn: extension 'buggyconfig' overwrite config item 'ui.quiet' at: */mercurial/extensions.py:* (loadall) (glob)
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
247 devel-warn: specifying a default value for a registered config item: 'ui.quiet' 'False' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
33061
c41cbe98822c configitems: register 'ui.interactive'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32989
diff changeset
248 devel-warn: specifying a default value for a registered config item: 'ui.interactive' 'None' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
249 devel-warn: specifying a default value for a registered config item: 'test.some' 'foo' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
250 devel-warn: config item requires an explicit default value: 'test.dynamic' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
251
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
252 $ cd ..