Mercurial > hg
comparison tests/test-devel-warnings.t @ 29185:28e7f590be2d
test: extract develwarn transaction testing in its own command
The lack of locking for a transation is about to change from a warning to an
error. We first extract the test decidated to this warning to make the next
changeset clearer.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 05 May 2016 16:13:22 +0200 |
parents | ff07da10de4c |
children | e0fc0ed41935 |
comparison
equal
deleted
inserted
replaced
29184:09d0022cad83 | 29185:28e7f590be2d |
---|---|
8 > cmdtable = {} | 8 > cmdtable = {} |
9 > command = cmdutil.command(cmdtable) | 9 > command = cmdutil.command(cmdtable) |
10 > | 10 > |
11 > @command('buggylocking', [], '') | 11 > @command('buggylocking', [], '') |
12 > def buggylocking(ui, repo): | 12 > def buggylocking(ui, repo): |
13 > tr = repo.transaction('buggy') | |
14 > # make sure we rollback the transaction as we don't want to rely on the__del__ | |
15 > tr.release() | |
16 > lo = repo.lock() | 13 > lo = repo.lock() |
17 > wl = repo.wlock() | 14 > wl = repo.wlock() |
18 > wl.release() | 15 > wl.release() |
19 > lo.release() | 16 > lo.release() |
17 > | |
18 > @command('buggytransaction', [], '') | |
19 > def buggylocking(ui, repo): | |
20 > tr = repo.transaction('buggy') | |
21 > # make sure we rollback the transaction as we don't want to rely on the__del__ | |
22 > tr.release() | |
20 > | 23 > |
21 > @command('properlocking', [], '') | 24 > @command('properlocking', [], '') |
22 > def properlocking(ui, repo): | 25 > def properlocking(ui, repo): |
23 > """check that reentrance is fine""" | 26 > """check that reentrance is fine""" |
24 > wl = repo.wlock() | 27 > wl = repo.wlock() |
72 > EOF | 75 > EOF |
73 | 76 |
74 $ hg init lock-checker | 77 $ hg init lock-checker |
75 $ cd lock-checker | 78 $ cd lock-checker |
76 $ hg buggylocking | 79 $ hg buggylocking |
77 devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | |
78 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | 80 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) |
79 $ cat << EOF >> $HGRCPATH | 81 $ cat << EOF >> $HGRCPATH |
80 > [devel] | 82 > [devel] |
81 > all=0 | 83 > all=0 |
82 > check-locks=1 | 84 > check-locks=1 |
83 > EOF | 85 > EOF |
84 $ hg buggylocking | 86 $ hg buggylocking |
85 devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | |
86 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | 87 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) |
87 $ hg buggylocking --traceback | 88 $ hg buggylocking --traceback |
88 devel-warn: transaction with no lock at: | |
89 */hg:* in * (glob) | |
90 */mercurial/dispatch.py:* in run (glob) | |
91 */mercurial/dispatch.py:* in dispatch (glob) | |
92 */mercurial/dispatch.py:* in _runcatch (glob) | |
93 */mercurial/dispatch.py:* in _dispatch (glob) | |
94 */mercurial/dispatch.py:* in runcommand (glob) | |
95 */mercurial/dispatch.py:* in _runcommand (glob) | |
96 */mercurial/dispatch.py:* in checkargs (glob) | |
97 */mercurial/dispatch.py:* in <lambda> (glob) | |
98 */mercurial/util.py:* in check (glob) | |
99 $TESTTMP/buggylocking.py:* in buggylocking (glob) | |
100 devel-warn: "wlock" acquired after "lock" at: | 89 devel-warn: "wlock" acquired after "lock" at: |
101 */hg:* in * (glob) | 90 */hg:* in * (glob) |
102 */mercurial/dispatch.py:* in run (glob) | 91 */mercurial/dispatch.py:* in run (glob) |
103 */mercurial/dispatch.py:* in dispatch (glob) | 92 */mercurial/dispatch.py:* in dispatch (glob) |
104 */mercurial/dispatch.py:* in _runcatch (glob) | 93 */mercurial/dispatch.py:* in _runcatch (glob) |
165 */mercurial/dispatch.py:* in <lambda> (glob) | 154 */mercurial/dispatch.py:* in <lambda> (glob) |
166 */mercurial/util.py:* in check (glob) | 155 */mercurial/util.py:* in check (glob) |
167 $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) | 156 $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) |
168 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob) | 157 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob) |
169 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9 | 158 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9 |
159 | |
160 Test programming error failure: | |
161 | |
162 $ hg buggytransaction | |
163 devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | |
164 | |
170 $ cd .. | 165 $ cd .. |