Mercurial > hg
annotate tests/test-devel-warnings.t @ 25312:ee02728dd5f9
parsers: simplify the code computing the phases
We recently simplified the code computing the heads of a repo. This patch uses
the same simplification for phase computation. We use index_get_parents instead
of replicating its code.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Wed, 27 May 2015 17:01:43 -0700 |
parents | 678d0bfdd31a |
children | c88082baf693 |
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 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
3 > """A small extension that acquire locks in the wrong order |
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 > |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
6 > from mercurial import cmdutil, repair |
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 = {} |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
9 > command = cmdutil.command(cmdtable) |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
10 > |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
11 > @command('buggylocking', [], '') |
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): |
24388
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
13 > tr = repo.transaction('buggy') |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
14 > lo = repo.lock() |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
15 > wl = repo.wlock() |
24392
dc7588ce06b3
tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents:
24388
diff
changeset
|
16 > wl.release() |
dc7588ce06b3
tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents:
24388
diff
changeset
|
17 > 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
|
18 > |
bedefc611f25
wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24555
diff
changeset
|
19 > @command('properlocking', [], '') |
bedefc611f25
wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24555
diff
changeset
|
20 > 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
|
21 > """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
|
22 > 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
|
23 > 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
|
24 > 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
|
25 > 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
|
26 > 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
|
27 > 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
|
28 > 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
|
29 > 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
|
30 > 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
|
31 > 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
|
32 > 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
|
33 > wl.release() |
24750
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
34 > |
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
35 > @command('nowaitlocking', [], '') |
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
36 > 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
|
37 > lo = repo.lock() |
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
38 > 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
|
39 > wl.release() |
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
40 > lo.release() |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
41 > |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
42 > @command('stripintr', [], '') |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
43 > def stripintr(ui, repo): |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
44 > lo = repo.lock() |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
45 > tr = repo.transaction('foobar') |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
46 > try: |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
47 > 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
|
48 > finally: |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
49 > lo.release() |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
50 > EOF |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
51 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
52 $ cat << EOF >> $HGRCPATH |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
53 > [extensions] |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
54 > buggylocking=$TESTTMP/buggylocking.py |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
55 > [devel] |
25290
8f88f768e24c
devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24755
diff
changeset
|
56 > all-warnings=1 |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
57 > EOF |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
58 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
59 $ hg init lock-checker |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
60 $ cd lock-checker |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
61 $ hg buggylocking |
24755
cd89f4e6faf2
devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24750
diff
changeset
|
62 devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:11 (buggylocking) |
cd89f4e6faf2
devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24750
diff
changeset
|
63 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:13 (buggylocking) |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
64 $ cat << EOF >> $HGRCPATH |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
65 > [devel] |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
66 > all=0 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
67 > check-locks=1 |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
68 > EOF |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
69 $ hg buggylocking |
24755
cd89f4e6faf2
devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24750
diff
changeset
|
70 devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:11 (buggylocking) |
cd89f4e6faf2
devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24750
diff
changeset
|
71 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:13 (buggylocking) |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
72 $ 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
|
73 devel-warn: transaction with no lock at: |
24555
1b97cc5d2272
tests: fix py2.4 glob for devel warnings
Matt Mackall <mpm@selenic.com>
parents:
24392
diff
changeset
|
74 */hg:* in * (glob) |
24388
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
75 */mercurial/dispatch.py:* in run (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
76 */mercurial/dispatch.py:* in dispatch (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
77 */mercurial/dispatch.py:* in _runcatch (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
78 */mercurial/dispatch.py:* in _dispatch (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
79 */mercurial/dispatch.py:* in runcommand (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
80 */mercurial/dispatch.py:* in _runcommand (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
81 */mercurial/dispatch.py:* in checkargs (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
82 */mercurial/dispatch.py:* in <lambda> (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
83 */mercurial/util.py:* in check (glob) |
026f8af88e49
devel: also warn about transaction started without a lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24386
diff
changeset
|
84 $TESTTMP/buggylocking.py:* in buggylocking (glob) |
24755
cd89f4e6faf2
devel-warn: add a prefix to all messages ("devel-warn: ")
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24750
diff
changeset
|
85 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
|
86 */hg:* in * (glob) |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
87 */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
|
88 */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
|
89 */mercurial/dispatch.py:* in _runcatch (glob) |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
90 */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
|
91 */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
|
92 */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
|
93 */mercurial/dispatch.py:* in checkargs (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 <lambda> (glob) |
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
95 */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
|
96 $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
|
97 $ hg properlocking |
24750
aaf835407bf2
wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24749
diff
changeset
|
98 $ hg nowaitlocking |
25300
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
99 |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
100 $ echo a > a |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
101 $ hg add a |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
102 $ hg commit -m a |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
103 $ hg stripintr |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
104 saved backup bundle to $TESTTMP/lock-checker/.hg/strip-backup/cb9a9f314b8b-cc5ccb0b-backup.hg (glob) |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
105 abort: programming error: cannot strip from inside a transaction |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
106 (contact your extension maintainer) |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
107 [255] |
678d0bfdd31a
repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25290
diff
changeset
|
108 |
24386
d6ac30f4edef
devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
109 $ cd .. |