tests/test-devel-warnings.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 21 May 2016 02:48:51 +0900
branchstable
changeset 29180 8c5e880c7e25
parent 28822 b7782424dec8
child 29146 b175d9cc3ee8
permissions -rw-r--r--
tests: escape bytes setting MSB in input of grep for portability GNU grep (2.21-2 or later) assumes that input is encoded in LC_CTYPE, and input is binary if it contains byte sequence not valid for that encoding. For example, if locale is configured as C, a byte setting most significant bit (MSB) makes such GNU grep show "Binary file <FILENAME> matches" message instead of matched lines unintentionally. This behavior is recognized as a bug, and fixed in GNU grep 2.25-1 or later. But some distributions are shipped with such buggy version (e.g. Ubuntu xenial, which is used by launchpad buildbot). http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19230 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800670 http://packages.ubuntu.com/xenial/grep This causes failure of test-commit-interactive.t, which applies grep on CP932 byte sequence since 1111e84de635. But, explicit setting LC_CTYPE for CP932 might cause another problem, because it can't be assumed that all environment running Mercurial tests allows arbitrary locale setting. To resolve this issue, this patch escapes bytes setting MSB in input of grep. For this purpose: - str.encode('string-escape') isn't useful, because it escapes also control code (less than 0x20), and makes EOL handling complicated - "f --hexdump" isn't useful, because it isn't line-oriented - "sed -n" seems reasonable, but "sed" itself sometimes causes portability issue, too (e.g. 900767dfa80d or afb86ee925bf) This patch is posted with "stable" flag, because 1111e84de635 is on stable branch.
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
  > 
25630
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
     6
  > from mercurial import cmdutil, repair, revset
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')
28822
b7782424dec8 test: don't rely on __del__ in test-devel-warnings.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28498
diff changeset
    14
  >     # make sure we rollback the transaction as we don't want to rely on the__del__
b7782424dec8 test: don't rely on __del__ in test-devel-warnings.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28498
diff changeset
    15
  >     tr.release()
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    16
  >     lo = repo.lock()
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
  >     wl = repo.wlock()
24392
dc7588ce06b3 tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents: 24388
diff changeset
    18
  >     wl.release()
dc7588ce06b3 tests: avoid deprecation warning
Matt Mackall <mpm@selenic.com>
parents: 24388
diff changeset
    19
  >     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
    20
  > 
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
    21
  > @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
    22
  > 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
    23
  >     """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
    24
  >     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
    25
  >     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
    26
  >     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
    27
  >     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
    28
  >     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
    29
  >     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
    30
  >     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
    31
  >     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
    32
  >     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
    33
  >     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
    34
  >     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
    35
  >     wl.release()
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    36
  > 
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    37
  > @command('nowaitlocking', [], '')
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    38
  > 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
    39
  >     lo = repo.lock()
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    40
  >     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
    41
  >     wl.release()
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
    42
  >     lo.release()
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    43
  > 
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    44
  > @command('stripintr', [], '')
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    45
  > def stripintr(ui, repo):
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    46
  >     lo = repo.lock()
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    47
  >     tr = repo.transaction('foobar')
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    48
  >     try:
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    49
  >         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
    50
  >     finally:
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    51
  >         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
    52
  > @command('oldanddeprecated', [], '')
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
    53
  > 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
    54
  >     """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
    55
  >     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
    56
  >         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
    57
  >     foobar(ui)
25630
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
    58
  > 
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
    59
  > def oldstylerevset(repo, subset, x):
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
    60
  >     return list(subset)
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
    61
  > 
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
    62
  > revset.symbols['oldstyle'] = oldstylerevset
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    65
  $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    66
  > [extensions]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    67
  > buggylocking=$TESTTMP/buggylocking.py
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    68
  > mock=$TESTDIR/mockblackbox.py
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    69
  > blackbox=
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    70
  > [devel]
25290
8f88f768e24c devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24755
diff changeset
    71
  > all-warnings=1
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    72
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    73
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    74
  $ hg init lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    75
  $ cd lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    76
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    77
  devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    78
  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
    79
  $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    80
  > [devel]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    81
  > all=0
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    82
  > check-locks=1
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    83
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    85
  devel-warn: transaction with no lock at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    86
  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
    87
  $ 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
    88
  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
    89
   */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
    90
   */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
    91
   */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
    92
   */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
    93
   */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
    94
   */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
    95
   */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
    96
   */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
    97
   */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
    98
   */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
    99
   $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
   100
  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
   101
   */hg:* in * (glob)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   102
   */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
   103
   */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
   104
   */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
   105
   */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
   106
   */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
   107
   */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
   108
   */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
   109
   */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
   110
   */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
   111
   $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
   112
  $ hg properlocking
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
   113
  $ hg nowaitlocking
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   114
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   115
  $ echo a > a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   116
  $ hg add a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   117
  $ hg commit -m a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   118
  $ hg stripintr
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
   119
  saved backup bundle to $TESTTMP/lock-checker/.hg/strip-backup/*-backup.hg (glob)
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   120
  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
   121
  (contact your extension maintainer)
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   122
  [255]
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   123
25630
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
   124
  $ hg log -r "oldstyle()" -T '{rev}\n'
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
   125
  devel-warn: revset "oldstyle" use list instead of smartset, (upgrade your code) at: */mercurial/revset.py:* (mfunc) (glob)
c88082baf693 devel-warn: issue a warning for old style revsets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25300
diff changeset
   126
  0
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   127
  $ hg oldanddeprecated
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   128
  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
   129
  (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
   130
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   131
  $ 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
   132
  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
   133
  (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
   134
   */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
   135
   */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
   136
   */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
   137
   */mercurial/dispatch.py:* in _runcatch (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   138
   */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
   139
   */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
   140
   */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
   141
   */mercurial/dispatch.py:* in checkargs (glob)
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   142
   */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
   143
   */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
   144
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   145
  $ hg blackbox -l 9
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   146
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: revset "oldstyle" use list instead of smartset, (upgrade your code) at: */mercurial/revset.py:* (mfunc) (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   147
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r oldstyle() -T {rev}\n exited 0 after * seconds (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   148
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   149
  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
   150
  (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
   151
  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
   152
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   153
  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
   154
  (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
   155
   */hg:* in <module> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   156
   */mercurial/dispatch.py:* in run (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   157
   */mercurial/dispatch.py:* in dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   158
   */mercurial/dispatch.py:* in _runcatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   159
   */mercurial/dispatch.py:* in _dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   160
   */mercurial/dispatch.py:* in runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   161
   */mercurial/dispatch.py:* in _runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   162
   */mercurial/dispatch.py:* in checkargs (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   163
   */mercurial/dispatch.py:* in <lambda> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   164
   */mercurial/util.py:* in check (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   165
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   166
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   167
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   168
  $ cd ..