tests/test-devel-warnings.t
author Denis Laxalde <denis.laxalde@logilab.fr>
Mon, 16 Jan 2017 09:24:47 +0100
changeset 31938 5e3b49defbff
parent 31809 35b8bb1ef02b
child 31950 cc70c6dbac30
permissions -rw-r--r--
revset: add a 'descend' argument to followlines to return descendants This is useful to follow changes in a block of lines forward in the history (for instance, when one wants to find out how a function evolved from a point in history). We added a 'descend' parameter to followlines(), which defaults to False. If True, followlines() returns descendants of startrev. Because context.blockdescendants() does not follow renames, these are not followed by the revset either, so history will end when a rename occurs (as can be seen in tests).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
  > 
31809
35b8bb1ef02b revset: stop supporting predicate that returns plain list (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31776
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):
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
  > 
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
    18
  > @command('buggytransaction', [], '')
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
  > 
24744
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
    24
  > @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
    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
  > 
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    40
  > @command('nowaitlocking', [], '')
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
  > 
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    47
  > @command('stripintr', [], '')
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()
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
    55
  > @command('oldanddeprecated', [], '')
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)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    61
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    62
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
  > [extensions]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    65
  > buggylocking=$TESTTMP/buggylocking.py
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    66
  > mock=$TESTDIR/mockblackbox.py
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    67
  > blackbox=
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    68
  > [devel]
25290
8f88f768e24c devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24755
diff changeset
    69
  > all-warnings=1
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    70
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    71
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    72
  $ hg init lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    73
  $ cd lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    74
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    75
  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
    76
  $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    77
  > [devel]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    78
  > all=0
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    79
  > check-locks=1
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    80
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    81
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    82
  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
    83
  $ 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
    84
  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
    85
   */hg:* in * (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
   */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
    87
   */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
    88
   */mercurial/dispatch.py:* in _runcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
    89
   */mercurial/dispatch.py:* in callcatch (glob)
30529
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29795
diff changeset
    90
   */mercurial/scmutil.py* in callcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
    91
   */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
    92
   */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
    93
   */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
    94
   */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
    95
   */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
    96
   */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
    97
   $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
    98
  $ hg properlocking
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    99
  $ hg nowaitlocking
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   100
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   101
  $ echo a > a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   102
  $ hg add a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   103
  $ hg commit -m a
31650
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31507
diff changeset
   104
  $ hg stripintr 2>&1 | egrep -v '^(\*\*|  )'
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
   105
  saved backup bundle to $TESTTMP/lock-checker/.hg/strip-backup/*-backup.hg (glob)
31650
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31507
diff changeset
   106
  Traceback (most recent call last):
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31507
diff changeset
   107
  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
   108
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   109
  $ hg oldanddeprecated
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   110
  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
   111
  (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
   112
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   113
  $ 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
   114
  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
   115
  (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
   116
   */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
   117
   */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
   118
   */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
   119
   */mercurial/dispatch.py:* in _runcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   120
   */mercurial/dispatch.py:* in callcatch (glob)
30529
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29795
diff changeset
   121
   */mercurial/scmutil.py* in callcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   122
   */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
   123
   */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
   124
   */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
   125
   */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
   126
   */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
   127
   */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
   128
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
31809
35b8bb1ef02b revset: stop supporting predicate that returns plain list (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31776
diff changeset
   129
  $ hg blackbox -l 7
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   130
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   131
  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
   132
  (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
   133
  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
   134
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   135
  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
   136
  (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
   137
   */hg:* in <module> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   138
   */mercurial/dispatch.py:* in run (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   139
   */mercurial/dispatch.py:* in dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   140
   */mercurial/dispatch.py:* in _runcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   141
   */mercurial/dispatch.py:* in callcatch (glob)
30529
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29795
diff changeset
   142
   */mercurial/scmutil.py* in callcatch (glob)
29773
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   143
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   144
   */mercurial/dispatch.py:* in _dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   145
   */mercurial/dispatch.py:* in runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   146
   */mercurial/dispatch.py:* in _runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   147
   */mercurial/dispatch.py:* in <lambda> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   148
   */mercurial/util.py:* in check (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   149
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   150
  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: 31776
diff changeset
   151
  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
   152
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
   153
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
   154
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
   155
  $ 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
   156
  ** 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
   157
  ** 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
   158
  ** 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
   159
  ** 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
   160
  ** 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
   161
  ** 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
   162
  ** Extensions loaded: * (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
   163
  Traceback (most recent call last):
30579
f8c9a7d2bbbf localrepo: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 30529
diff changeset
   164
  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
   165
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   166
  $ cd ..