Mercurial > hg
annotate tests/test-devel-warnings.t @ 33254:9359cd9345a9
test: glob a line number in test-devel-warnings.t
This make is simpler to edit the extensions file without side effect.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 02 Jul 2017 01:38:08 +0200 |
parents | 8dff2a0d3d12 |
children | 9bb4decd43b0 |
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 > |
32971
accfa165736b
py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32924
diff
changeset
|
47 > @command(b'stripintr', [], '') |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
48 > def stripintr(ui, repo): |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
49 > lo = repo.lock() |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
50 > tr = repo.transaction('foobar') |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
51 > try: |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
52 > 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
|
53 > finally: |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
54 > 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
|
55 > @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
|
56 > 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
|
57 > """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
|
58 > 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
|
59 > 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
|
60 > 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
|
61 > @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
|
62 > 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
|
63 > 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
|
64 > @command(b'programmingerror', [], '') |
32340
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
65 > def programmingerror(ui, repo): |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
66 > 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
|
67 > EOF |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
68 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
69 $ cat << EOF >> $HGRCPATH |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
70 > [extensions] |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
71 > buggylocking=$TESTTMP/buggylocking.py |
28498 | 72 > mock=$TESTDIR/mockblackbox.py |
73 > blackbox= | |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
74 > [devel] |
25290
8f88f768e24c
devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24755
diff
changeset
|
75 > all-warnings=1 |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
76 > EOF |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
77 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
78 $ hg init lock-checker |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
79 $ cd lock-checker |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
80 $ hg buggylocking |
28016
a2be6f0f58fb
tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents:
27275
diff
changeset
|
81 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
|
82 $ cat << EOF >> $HGRCPATH |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
83 > [devel] |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
84 > all=0 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
85 > check-locks=1 |
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 $ hg buggylocking |
28016
a2be6f0f58fb
tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents:
27275
diff
changeset
|
88 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
|
89 $ 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
|
90 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
|
91 */hg:* in * (glob) |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
92 */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
|
93 */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
|
94 */mercurial/dispatch.py:* in _runcatch (glob) |
32040
0fb78cb90ca7
dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents:
31950
diff
changeset
|
95 */mercurial/dispatch.py:* in _callcatch (glob) |
30520
4338f87dbf6f
dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents:
29784
diff
changeset
|
96 */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
|
97 */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
|
98 */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
|
99 */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
|
100 */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
|
101 */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
|
102 */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
|
103 $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
|
104 $ hg properlocking |
24750
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
105 $ hg nowaitlocking |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
106 |
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
|
107 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
|
108 |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
109 $ echo a > a |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
110 $ hg add a |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
111 $ hg commit -m a |
31645 | 112 $ hg stripintr 2>&1 | egrep -v '^(\*\*| )' |
113 Traceback (most recent call last): | |
114 mercurial.error.ProgrammingError: cannot strip from inside a transaction | |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
115 |
27275
f2cd240f2f7c
ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
27270
diff
changeset
|
116 $ hg oldanddeprecated |
f2cd240f2f7c
ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
27270
diff
changeset
|
117 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
|
118 (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
|
119 |
27275
f2cd240f2f7c
ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
27270
diff
changeset
|
120 $ 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
|
121 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
|
122 (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
|
123 */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
|
124 */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
|
125 */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
|
126 */mercurial/dispatch.py:* in _runcatch (glob) |
32040
0fb78cb90ca7
dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents:
31950
diff
changeset
|
127 */mercurial/dispatch.py:* in _callcatch (glob) |
30520
4338f87dbf6f
dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents:
29784
diff
changeset
|
128 */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
|
129 */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
|
130 */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
|
131 */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
|
132 */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
|
133 */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
|
134 */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
|
135 $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
|
136 $ hg blackbox -l 7 |
28498 | 137 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated |
138 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping | |
139 (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) | |
140 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob) | |
141 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback | |
142 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping | |
143 (compatibility will be dropped after Mercurial-42.1337, update your code.) at: | |
144 */hg:* in <module> (glob) | |
145 */mercurial/dispatch.py:* in run (glob) | |
146 */mercurial/dispatch.py:* in dispatch (glob) | |
147 */mercurial/dispatch.py:* in _runcatch (glob) | |
32040
0fb78cb90ca7
dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents:
31950
diff
changeset
|
148 */mercurial/dispatch.py:* in _callcatch (glob) |
30520
4338f87dbf6f
dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents:
29784
diff
changeset
|
149 */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
|
150 */mercurial/dispatch.py:* in _runcatchfunc (glob) |
28498 | 151 */mercurial/dispatch.py:* in _dispatch (glob) |
152 */mercurial/dispatch.py:* in runcommand (glob) | |
153 */mercurial/dispatch.py:* in _runcommand (glob) | |
154 */mercurial/dispatch.py:* in <lambda> (glob) | |
155 */mercurial/util.py:* in check (glob) | |
156 $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) | |
157 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
|
158 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
|
159 |
28e7f590be2d
test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29147
diff
changeset
|
160 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
|
161 |
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
|
162 $ 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
|
163 ** 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
|
164 ** 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
|
165 ** 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
|
166 ** 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
|
167 ** 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
|
168 ** 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
|
169 ** Extensions loaded: * (glob) |
32340
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
170 ** 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
|
171 Traceback (most recent call last): |
30574 | 172 mercurial.error.ProgrammingError: transaction requires locking |
29185
28e7f590be2d
test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29147
diff
changeset
|
173 |
32340
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
174 $ hg programmingerror 2>&1 | egrep -v '^ ' |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
175 ** 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
|
176 ** which supports versions unknown of Mercurial. |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
177 ** Please disable buggylocking and try your action again. |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
178 ** 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
|
179 ** Python * (glob) |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
180 ** Mercurial Distributed SCM (*) (glob) |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
181 ** Extensions loaded: * (glob) |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
182 ** ProgrammingError: something went wrong |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
183 ** (try again) |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
184 Traceback (most recent call last): |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
185 mercurial.error.ProgrammingError: something went wrong |
9c023179e8d0
error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
186 |
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
|
187 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
|
188 |
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
|
189 $ 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
|
190 $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
|
191 (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
|
192 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
|
193 |
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
|
194 (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
|
195 |
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
|
196 $ 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
|
197 |
32989
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
198 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
|
199 |
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
200 $ 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
|
201 > """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
|
202 > |
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
203 > from mercurial import registrar |
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
204 > |
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
205 > cmdtable = {} |
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
206 > 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
|
207 > |
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
|
208 > 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
|
209 > 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
|
210 > |
bf1292c057ef
configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33097
diff
changeset
|
211 > configitem('test', 'some', default='foo') |
bf1292c057ef
configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33097
diff
changeset
|
212 > # 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
|
213 > 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
|
214 > 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
|
215 > |
33097
fce4ed2912bb
py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33061
diff
changeset
|
216 > @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
|
217 > 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
|
218 > 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
|
219 > 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
|
220 > repo.ui.config('test', 'some', 'foo') |
32989
149b68224b08
configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32971
diff
changeset
|
221 > EOF |
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 $ 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
|
224 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
|
225 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
|
226 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
|
227 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
|
228 devel-warn: specifying a default value for a registered config item: 'test.some' 'foo' 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
|
229 |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
230 $ cd .. |