##// END OF EJS Templates
debugcommands: introduce new debugrequirements command...
debugcommands: introduce new debugrequirements command This for now just prints out the list of current requirements. In future this will be helpful in reading requirements from couple of sources, and checking which requirement comes from where. Differential Revision: https://phab.mercurial-scm.org/D8632

File last commit:

r45631:196ba4d4 default
r45667:4a28f5e8 default
Show More
test-devel-warnings.t
393 lines | 17.0 KiB | text/troff | Tads3Lexer
/ tests / test-devel-warnings.t
Pierre-Yves David
devel: move the lock-checking code into core...
r24386
$ cat << EOF > buggylocking.py
Pierre-Yves David
test: update the docstring of 'test-devel-warnings.t' extension...
r27270 > """A small extension that tests our developer warnings
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 > """
>
Yuya Nishihara
error: add hint to ProgrammingError...
r32340 > from mercurial import error, registrar, repair, util
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 >
> cmdtable = {}
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 > command = registrar.command(cmdtable)
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 >
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'buggylocking', [], '')
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 > def buggylocking(ui, repo):
> lo = repo.lock()
> wl = repo.wlock()
Matt Mackall
tests: avoid deprecation warning
r24392 > wl.release()
> lo.release()
Pierre-Yves David
wlock: only issue devel warning when actually acquiring the lock...
r24744 >
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'buggytransaction', [], '')
Pierre-Yves David
test: extract develwarn transaction testing in its own command...
r29185 > def buggylocking(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > tr = repo.transaction(b'buggy')
Pierre-Yves David
test: extract develwarn transaction testing in its own command...
r29185 > # make sure we rollback the transaction as we don't want to rely on the__del__
> tr.release()
>
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'properlocking', [], '')
Pierre-Yves David
wlock: only issue devel warning when actually acquiring the lock...
r24744 > def properlocking(ui, repo):
> """check that reentrance is fine"""
> wl = repo.wlock()
> lo = repo.lock()
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > tr = repo.transaction(b'proper')
> tr2 = repo.transaction(b'proper')
Pierre-Yves David
wlock: only issue devel warning when actually acquiring the lock...
r24744 > lo2 = repo.lock()
> wl2 = repo.wlock()
> wl2.release()
> lo2.release()
> tr2.close()
> tr.close()
> lo.release()
> wl.release()
Pierre-Yves David
wlock: do not warn for non-wait locking...
r24750 >
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'nowaitlocking', [], '')
Pierre-Yves David
wlock: do not warn for non-wait locking...
r24750 > def nowaitlocking(ui, repo):
> lo = repo.lock()
> wl = repo.wlock(wait=False)
> wl.release()
> lo.release()
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300 >
Boris Feld
repovfs: add a ward to check if locks are properly taken...
r33436 > @command(b'no-wlock-write', [], '')
> def nowlockwrite(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > with repo.vfs(b'branch', b'a'):
Boris Feld
repovfs: add a ward to check if locks are properly taken...
r33436 > pass
>
Boris Feld
reposvfs: add a ward to check if locks are properly taken...
r33437 > @command(b'no-lock-write', [], '')
> def nolockwrite(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > with repo.svfs(b'fncache', b'a'):
Boris Feld
reposvfs: add a ward to check if locks are properly taken...
r33437 > pass
>
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'stripintr', [], '')
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300 > def stripintr(ui, repo):
> lo = repo.lock()
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > tr = repo.transaction(b'foobar')
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300 > try:
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > repair.strip(repo.ui, repo, [repo[b'.'].node()])
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300 > finally:
> lo.release()
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'oldanddeprecated', [], '')
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 > def oldanddeprecated(ui, repo):
> """test deprecation warning API"""
> def foobar(ui):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > ui.deprecwarn(b'foorbar is deprecated, go shopping', b'42.1337')
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 > foobar(ui)
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'nouiwarning', [], '')
Pierre-Yves David
util: add a way to issue deprecation warning without a UI object...
r31950 > def nouiwarning(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > util.nouideprecwarn(b'this is a test', b'13.37')
Pulkit Goyal
py3: make sure the commands name are bytes in test-devel-warnings.t
r32971 > @command(b'programmingerror', [], '')
Yuya Nishihara
error: add hint to ProgrammingError...
r32340 > def programmingerror(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > raise error.ProgrammingError(b'something went wrong', hint=b'try again')
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 > EOF
$ cat << EOF >> $HGRCPATH
> [extensions]
> buggylocking=$TESTTMP/buggylocking.py
timeless
ui: log devel warnings
r28498 > mock=$TESTDIR/mockblackbox.py
> blackbox=
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 > [devel]
Pierre-Yves David
devel: rename 'all' to 'all-warnings' (BC)...
r25290 > all-warnings=1
Yuya Nishihara
tests: filter out uninteresting log events...
r41028 > [blackbox]
> track = command, commandexception, commandfinish, develwarn
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 > EOF
$ hg init lock-checker
$ cd lock-checker
$ hg buggylocking
timeless
tests: relax test-devel-warnings to reduce false positives...
r28016 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 $ cat << EOF >> $HGRCPATH
> [devel]
> all=0
> check-locks=1
> EOF
$ hg buggylocking
timeless
tests: relax test-devel-warnings to reduce false positives...
r28016 devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 #if no-chg
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 $ hg buggylocking --traceback
Pierre-Yves David
devel-warn: add a prefix to all messages ("devel-warn: ")...
r24755 devel-warn: "wlock" acquired after "lock" at:
Gregory Szorc
tests: make hg frame optional...
r35669 */hg:* in <module> (glob) (?)
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 */mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
Yuya Nishihara
dispatch: mark callcatch() as a private function
r32040 */mercurial/dispatch.py:* in _callcatch (glob)
Jun Wu
dispatch: move part of callcatch to scmutil...
r30520 */mercurial/scmutil.py* in callcatch (glob)
Jun Wu
dispatch: split global error handling out so it can be reused...
r29761 */mercurial/dispatch.py:* in _runcatchfunc (glob)
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 */mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in buggylocking (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 #else
$ hg buggylocking --traceback
devel-warn: "wlock" acquired after "lock" at:
Gregory Szorc
tests: make hg frame optional...
r35669 */hg:* in <module> (glob) (?)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
*/mercurial/commands.py:* in serve (glob)
*/mercurial/server.py:* in runservice (glob)
*/mercurial/commandserver.py:* in run (glob)
*/mercurial/commandserver.py:* in _mainloop (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg...
r45103 */mercurial/commandserver.py:* in _acceptnewconnection (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/commandserver.py:* in _runworker (glob)
*/mercurial/commandserver.py:* in _serverequest (glob)
*/mercurial/commandserver.py:* in serve (glob)
*/mercurial/commandserver.py:* in serveone (glob)
*/mercurial/chgserver.py:* in runcommand (glob)
*/mercurial/commandserver.py:* in runcommand (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg
r45631 */mercurial/commandserver.py:* in _dispatchcommand (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in buggylocking (glob)
#endif
Pierre-Yves David
wlock: only issue devel warning when actually acquiring the lock...
r24744 $ hg properlocking
Pierre-Yves David
wlock: do not warn for non-wait locking...
r24750 $ hg nowaitlocking
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300
Boris Feld
repovfs: add a ward to check if locks are properly taken...
r33436 Writing without lock
$ hg no-wlock-write
devel-warn: write with no wlock: "branch" at: $TESTTMP/buggylocking.py:* (nowlockwrite) (glob)
Boris Feld
reposvfs: add a ward to check if locks are properly taken...
r33437 $ hg no-lock-write
devel-warn: write with no lock: "fncache" at: $TESTTMP/buggylocking.py:* (nolockwrite) (glob)
test: add a small comment to explain a section of test-devel-warning...
r33251 Stripping from a transaction
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300 $ echo a > a
$ hg add a
$ hg commit -m a
Jun Wu
repair: use ProgrammingError
r31645 $ hg stripintr 2>&1 | egrep -v '^(\*\*| )'
Traceback (most recent call last):
Boris Feld
pypy: fix failing test-devel-warnings.t with Pypy5.6.0...
r33610 *ProgrammingError: cannot strip from inside a transaction (glob)
Pierre-Yves David
repair: forbid strip from inside a transaction...
r25300
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 $ hg oldanddeprecated
devel-warn: foorbar is deprecated, go shopping
timeless
tests: relax test-devel-warnings to reduce false positives...
r28016 (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
Pierre-Yves David
devel-warn: issue a warning for old style revsets...
r25630
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 #if no-chg
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 $ hg oldanddeprecated --traceback
devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at:
Gregory Szorc
tests: make hg frame optional...
r35669 */hg:* in <module> (glob) (?)
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 */mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
Yuya Nishihara
dispatch: mark callcatch() as a private function
r32040 */mercurial/dispatch.py:* in _callcatch (glob)
Jun Wu
dispatch: move part of callcatch to scmutil...
r30520 */mercurial/scmutil.py* in callcatch (glob)
Jun Wu
dispatch: split global error handling out so it can be reused...
r29761 */mercurial/dispatch.py:* in _runcatchfunc (glob)
Pierre-Yves David
ui: add a 'deprecwarn' helper to issue deprecation warnings...
r27275 */mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 #else
$ hg oldanddeprecated --traceback
devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at:
*/hg:* in <module> (glob)
*/mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
*/mercurial/commands.py:* in serve (glob)
*/mercurial/server.py:* in runservice (glob)
*/mercurial/commandserver.py:* in run (glob)
*/mercurial/commandserver.py:* in _mainloop (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg...
r45103 */mercurial/commandserver.py:* in _acceptnewconnection (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/commandserver.py:* in _runworker (glob)
*/mercurial/commandserver.py:* in _serverequest (glob)
*/mercurial/commandserver.py:* in serve (glob)
*/mercurial/commandserver.py:* in serveone (glob)
*/mercurial/chgserver.py:* in runcommand (glob)
*/mercurial/commandserver.py:* in runcommand (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg
r45631 */mercurial/commandserver.py:* in _dispatchcommand (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
#endif
#if no-chg
Yuya Nishihara
revset: stop supporting predicate that returns plain list (API)...
r31809 $ hg blackbox -l 7
timeless
ui: log devel warnings
r28498 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at:
Gregory Szorc
tests: make hg frame optional...
r35669 */hg:* in <module> (glob) (?)
timeless
ui: log devel warnings
r28498 */mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
Yuya Nishihara
dispatch: mark callcatch() as a private function
r32040 */mercurial/dispatch.py:* in _callcatch (glob)
Jun Wu
dispatch: move part of callcatch to scmutil...
r30520 */mercurial/scmutil.py* in callcatch (glob)
Jun Wu
dispatch: split global error handling out so it can be reused...
r29761 */mercurial/dispatch.py:* in _runcatchfunc (glob)
timeless
ui: log devel warnings
r28498 */mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob)
Yuya Nishihara
revset: stop supporting predicate that returns plain list (API)...
r31809 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 #else
$ hg blackbox -l 7
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
(compatibility will be dropped after Mercurial-42.1337, update your code.) at:
*/hg:* in <module> (glob)
*/mercurial/dispatch.py:* in run (glob)
*/mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
*/mercurial/commands.py:* in serve (glob)
*/mercurial/server.py:* in runservice (glob)
*/mercurial/commandserver.py:* in run (glob)
*/mercurial/commandserver.py:* in _mainloop (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg...
r45103 */mercurial/commandserver.py:* in _acceptnewconnection (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/commandserver.py:* in _runworker (glob)
*/mercurial/commandserver.py:* in _serverequest (glob)
*/mercurial/commandserver.py:* in serve (glob)
*/mercurial/commandserver.py:* in serveone (glob)
*/mercurial/chgserver.py:* in runcommand (glob)
*/mercurial/commandserver.py:* in runcommand (glob)
Pulkit Goyal
tests: update test-devel-warnings.t output with chg
r45631 */mercurial/commandserver.py:* in _dispatchcommand (glob)
Saurabh Singh
test-devel-warnings: make the test compatible with chg...
r34465 */mercurial/dispatch.py:* in dispatch (glob)
*/mercurial/dispatch.py:* in _runcatch (glob)
*/mercurial/dispatch.py:* in _callcatch (glob)
*/mercurial/scmutil.py:* in callcatch (glob)
*/mercurial/dispatch.py:* in _runcatchfunc (glob)
*/mercurial/dispatch.py:* in _dispatch (glob)
*/mercurial/dispatch.py:* in runcommand (glob)
*/mercurial/dispatch.py:* in _runcommand (glob)
*/mercurial/dispatch.py:* in <lambda> (glob)
*/mercurial/util.py:* in check (glob)
$TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7
#endif
Pierre-Yves David
test: extract develwarn transaction testing in its own command...
r29185
Test programming error failure:
Pierre-Yves David
transaction: turn lack of locking into a hard failure (API)...
r29186 $ hg buggytransaction 2>&1 | egrep -v '^ '
** Unknown exception encountered with possibly-broken third-party extension buggylocking
** which supports versions unknown of Mercurial.
** Please disable buggylocking and try your action again.
** If that fixes the bug please report it to the extension author.
** Python * (glob)
** Mercurial Distributed SCM (*) (glob)
** Extensions loaded: * (glob)
Yuya Nishihara
error: add hint to ProgrammingError...
r32340 ** ProgrammingError: transaction requires locking
Pierre-Yves David
transaction: turn lack of locking into a hard failure (API)...
r29186 Traceback (most recent call last):
Boris Feld
pypy: fix failing test-devel-warnings.t with Pypy5.6.0...
r33610 *ProgrammingError: transaction requires locking (glob)
Pierre-Yves David
test: extract develwarn transaction testing in its own command...
r29185
Yuya Nishihara
error: add hint to ProgrammingError...
r32340 $ hg programmingerror 2>&1 | egrep -v '^ '
** Unknown exception encountered with possibly-broken third-party extension buggylocking
** which supports versions unknown of Mercurial.
** Please disable buggylocking and try your action again.
** If that fixes the bug please report it to the extension author.
** Python * (glob)
** Mercurial Distributed SCM (*) (glob)
** Extensions loaded: * (glob)
** ProgrammingError: something went wrong
** (try again)
Traceback (most recent call last):
Boris Feld
pypy: fix failing test-devel-warnings.t with Pypy5.6.0...
r33610 *ProgrammingError: something went wrong (glob)
Yuya Nishihara
error: add hint to ProgrammingError...
r32340
Pierre-Yves David
util: add a way to issue deprecation warning without a UI object...
r31950 Old style deprecation warning
$ hg nouiwarning
test: glob a line number in test-devel-warnings.t...
r33252 $TESTTMP/buggylocking.py:*: DeprecationWarning: this is a test (glob)
Pierre-Yves David
util: add a way to issue deprecation warning without a UI object...
r31950 (compatibility will be dropped after Mercurial-13.37, update your code.)
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 util.nouideprecwarn(b'this is a test', b'13.37')
Pierre-Yves David
util: add a way to issue deprecation warning without a UI object...
r31950
(disabled outside of test run)
$ HGEMITWARNINGS= hg nouiwarning
configitems: issue a devel warning when overriding default config...
r32987 Test warning on config option access and registration
$ cat << EOF > ${TESTTMP}/buggyconfig.py
> """A small extension that tests our developer warnings for config"""
>
Matt Harbison
py3: fix module imports in tests, as flagged by test-check-module-imports.t...
r40405 > from mercurial import configitems, registrar
configitems: issue a devel warning when overriding default config...
r32987 >
> cmdtable = {}
> command = registrar.command(cmdtable)
>
configitems: add a devel warning for extensions items overiding core one...
r33128 > configtable = {}
> configitem = registrar.configitem(configtable)
>
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > configitem(b'test', b'some', default=b'foo')
> configitem(b'test', b'dynamic', default=configitems.dynamicdefault)
> configitem(b'test', b'callable', default=list)
configitems: add a devel warning for extensions items overiding core one...
r33128 > # overwrite a core config
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > configitem(b'ui', b'quiet', default=False)
> configitem(b'ui', b'interactive', default=None)
configitems: add a devel warning for extensions items overiding core one...
r33128 >
Pulkit Goyal
py3: make sure commands name are bytes in tests
r33097 > @command(b'buggyconfig')
configitems: issue a devel warning when overriding default config...
r32987 > def cmdbuggyconfig(ui, repo):
Augie Fackler
tests: add tons of b prefixes in test-devel-warnings.t...
r36142 > repo.ui.config(b'ui', b'quiet', True)
> repo.ui.config(b'ui', b'interactive', False)
> repo.ui.config(b'test', b'some', b'bar')
> repo.ui.config(b'test', b'some', b'foo')
> repo.ui.config(b'test', b'dynamic', b'some-required-default')
> repo.ui.config(b'test', b'dynamic')
> repo.ui.config(b'test', b'callable', [])
> repo.ui.config(b'test', b'callable', b'foo')
> repo.ui.config(b'test', b'unregistered')
> repo.ui.config(b'unregistered', b'unregistered')
configitems: issue a devel warning when overriding default config...
r32987 > EOF
$ hg --config "extensions.buggyconfig=${TESTTMP}/buggyconfig.py" buggyconfig
Boris Feld
extensions: factor extra data loading out...
r34187 devel-warn: extension 'buggyconfig' overwrite config item 'ui.interactive' at: */mercurial/extensions.py:* (_loadextra) (glob)
devel-warn: extension 'buggyconfig' overwrite config item 'ui.quiet' at: */mercurial/extensions.py:* (_loadextra) (glob)
Yuya Nishihara
configitems: relax warning about unwanted default value...
r34949 devel-warn: specifying a mismatched default value for a registered config item: 'ui.quiet' 'True' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
devel-warn: specifying a mismatched default value for a registered config item: 'ui.interactive' 'False' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
devel-warn: specifying a mismatched default value for a registered config item: 'test.some' 'bar' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
Boris Feld
configitems: handle case were the default value is not static...
r33471 devel-warn: config item requires an explicit default value: 'test.dynamic' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
Yuya Nishihara
configitems: relax warning about unwanted default value...
r34949 devel-warn: specifying a mismatched default value for a registered config item: 'test.callable' 'foo' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
Boris Feld
configitems: adds a developer warning when accessing undeclared configuration...
r34859 devel-warn: accessing unregistered config item: 'test.unregistered' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
devel-warn: accessing unregistered config item: 'unregistered.unregistered' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
configitems: issue a devel warning when overriding default config...
r32987
Pierre-Yves David
devel: move the lock-checking code into core...
r24386 $ cd ..