tests/test-devel-warnings.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 26 Sep 2018 18:08:08 -0700
changeset 40026 7e807b8a9e56
parent 36125 0dde5f53b4ce
child 40369 ef6cab7930b3
permissions -rw-r--r--
wireprotov2: client support for following content redirects And with the server actually sending content redirects, it is finally time to implement client support for following them! When a redirect response is seen, we wait until all data for that request has been received (it should be nearly immediate since no data is expected to follow the redirect message). Then we use a URL opener to make a request. We stuff that response into the client handler and construct a new response object to track it. When readdata() is called for servicing requests, we attempt to read data from the first redirected response. During data reading, data is processed similarly to as if it came from a frame payload. The existing test for the functionality demonstrates the client transparently following the redirect and obtaining the command response data from an alternate URL! There is still plenty of work to do here, including shoring up testing. I'm not convinced things will work in the presence of multiple redirect responses. And we don't yet implement support for integrity verification or configuring server certificates to validate the connection. But it's a start. And it should enable us to start experimenting with "real" caches. Differential Revision: https://phab.mercurial-scm.org/D4778
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
  > 
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
     6
  > from mercurial import error, registrar, repair, util
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 = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32040
diff changeset
     9
  > command = registrar.command(cmdtable)
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
  > 
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    11
  > @command(b'buggylocking', [], '')
24386
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
  > 
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    18
  > @command(b'buggytransaction', [], '')
29185
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):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    20
  >     tr = repo.transaction(b'buggy')
29185
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
  > 
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    24
  > @command(b'properlocking', [], '')
24744
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()
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    29
  >     tr = repo.transaction(b'proper')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    30
  >     tr2 = repo.transaction(b'proper')
24744
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
  > 
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    40
  > @command(b'nowaitlocking', [], '')
24750
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
  > 
33436
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
    47
  > @command(b'no-wlock-write', [], '')
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
    48
  > def nowlockwrite(ui, repo):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    49
  >     with repo.vfs(b'branch', b'a'):
33436
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
    50
  >         pass
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
    51
  > 
33437
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
    52
  > @command(b'no-lock-write', [], '')
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
    53
  > def nolockwrite(ui, repo):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    54
  >     with repo.svfs(b'fncache', b'a'):
33437
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
    55
  >         pass
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
    56
  > 
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    57
  > @command(b'stripintr', [], '')
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    58
  > def stripintr(ui, repo):
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    59
  >     lo = repo.lock()
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    60
  >     tr = repo.transaction(b'foobar')
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    61
  >     try:
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    62
  >         repair.strip(repo.ui, repo, [repo[b'.'].node()])
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    63
  >     finally:
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
    64
  >         lo.release()
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    65
  > @command(b'oldanddeprecated', [], '')
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
    66
  > 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
    67
  >     """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
    68
  >     def foobar(ui):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    69
  >         ui.deprecwarn(b'foorbar is deprecated, go shopping', b'42.1337')
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
    70
  >     foobar(ui)
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    71
  > @command(b'nouiwarning', [], '')
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
    72
  > def nouiwarning(ui, repo):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    73
  >     util.nouideprecwarn(b'this is a test', b'13.37')
32971
accfa165736b py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32924
diff changeset
    74
  > @command(b'programmingerror', [], '')
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
    75
  > def programmingerror(ui, repo):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
    76
  >     raise error.ProgrammingError(b'something went wrong', hint=b'try again')
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    77
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    78
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
  > [extensions]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    81
  > buggylocking=$TESTTMP/buggylocking.py
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    82
  > mock=$TESTDIR/mockblackbox.py
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
    83
  > blackbox=
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
  > [devel]
25290
8f88f768e24c devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24755
diff changeset
    85
  > all-warnings=1
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    87
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    88
  $ hg init lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    89
  $ cd lock-checker
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    90
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    91
  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
    92
  $ cat << EOF >> $HGRCPATH
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    93
  > [devel]
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    94
  > all=0
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    95
  > check-locks=1
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    96
  > EOF
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    97
  $ hg buggylocking
28016
a2be6f0f58fb tests: relax test-devel-warnings to reduce false positives
timeless <timeless@mozdev.org>
parents: 27275
diff changeset
    98
  devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob)
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
    99
#if no-chg
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   100
  $ 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
   101
  devel-warn: "wlock" acquired after "lock" at:
35651
15cfd343d3a9 tests: make hg frame optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34947
diff changeset
   102
   */hg:* in <module> (glob) (?)
24386
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 run (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 dispatch (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 _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
   106
   */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
   107
   */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   108
   */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
   109
   */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
   110
   */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
   111
   */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
   112
   */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
   113
   */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
   114
   $TESTTMP/buggylocking.py:* in buggylocking (glob)
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   115
#else
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   116
  $ hg buggylocking --traceback
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   117
  devel-warn: "wlock" acquired after "lock" at:
35651
15cfd343d3a9 tests: make hg frame optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34947
diff changeset
   118
   */hg:* in <module> (glob) (?)
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   119
   */mercurial/dispatch.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   120
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   121
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   122
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   123
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   124
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   125
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   126
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   127
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   128
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   129
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   130
   */mercurial/commands.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   131
   */mercurial/server.py:* in runservice (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   132
   */mercurial/commandserver.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   133
   */mercurial/commandserver.py:* in _mainloop (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   134
   */mercurial/commandserver.py:* in _runworker (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   135
   */mercurial/commandserver.py:* in _serverequest (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   136
   */mercurial/commandserver.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   137
   */mercurial/commandserver.py:* in serveone (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   138
   */mercurial/chgserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   139
   */mercurial/commandserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   140
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   141
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   142
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   143
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   144
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   145
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   146
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   147
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   148
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   149
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   150
   $TESTTMP/buggylocking.py:* in buggylocking (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   151
#endif
24744
bedefc611f25 wlock: only issue devel warning when actually acquiring the lock
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24555
diff changeset
   152
  $ hg properlocking
24750
aaf835407bf2 wlock: do not warn for non-wait locking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24749
diff changeset
   153
  $ hg nowaitlocking
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   154
33436
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
   155
Writing without lock
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
   156
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
   157
  $ hg no-wlock-write
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
   158
  devel-warn: write with no wlock: "branch" at: $TESTTMP/buggylocking.py:* (nowlockwrite) (glob)
9bb4decd43b0 repovfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33254
diff changeset
   159
33437
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
   160
  $ hg no-lock-write
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
   161
  devel-warn: write with no lock: "fncache" at: $TESTTMP/buggylocking.py:* (nolockwrite) (glob)
0720e6265c8a reposvfs: add a ward to check if locks are properly taken
Boris Feld <boris.feld@octobus.net>
parents: 33436
diff changeset
   162
33253
8dff2a0d3d12 test: add a small comment to explain a section of test-devel-warning
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33133
diff changeset
   163
Stripping from a transaction
8dff2a0d3d12 test: add a small comment to explain a section of test-devel-warning
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33133
diff changeset
   164
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   165
  $ echo a > a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   166
  $ hg add a
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   167
  $ hg commit -m a
31645
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31500
diff changeset
   168
  $ hg stripintr 2>&1 | egrep -v '^(\*\*|  )'
7095e783958d repair: use ProgrammingError
Jun Wu <quark@fb.com>
parents: 31500
diff changeset
   169
  Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
   170
  *ProgrammingError: cannot strip from inside a transaction (glob)
25300
678d0bfdd31a repair: forbid strip from inside a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25290
diff changeset
   171
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   172
  $ hg oldanddeprecated
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   173
  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
   174
  (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
   175
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   176
#if no-chg
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   177
  $ 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
   178
  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
   179
  (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
35651
15cfd343d3a9 tests: make hg frame optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34947
diff changeset
   180
   */hg:* in <module> (glob) (?)
27275
f2cd240f2f7c ui: add a 'deprecwarn' helper to issue deprecation warnings
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27270
diff changeset
   181
   */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
   182
   */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
   183
   */mercurial/dispatch.py:* in _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
   184
   */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
   185
   */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   186
   */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
   187
   */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
   188
   */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
   189
   */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
   190
   */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
   191
   */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
   192
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   193
#else
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   194
  $ hg oldanddeprecated --traceback
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   195
  devel-warn: foorbar is deprecated, go shopping
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   196
  (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   197
   */hg:* in <module> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   198
   */mercurial/dispatch.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   199
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   200
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   201
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   202
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   203
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   204
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   205
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   206
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   207
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   208
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   209
   */mercurial/commands.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   210
   */mercurial/server.py:* in runservice (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   211
   */mercurial/commandserver.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   212
   */mercurial/commandserver.py:* in _mainloop (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   213
   */mercurial/commandserver.py:* in _runworker (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   214
   */mercurial/commandserver.py:* in _serverequest (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   215
   */mercurial/commandserver.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   216
   */mercurial/commandserver.py:* in serveone (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   217
   */mercurial/chgserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   218
   */mercurial/commandserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   219
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   220
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   221
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   222
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   223
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   224
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   225
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   226
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   227
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   228
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   229
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   230
#endif
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   231
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   232
#if no-chg
31809
35b8bb1ef02b revset: stop supporting predicate that returns plain list (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31773
diff changeset
   233
  $ hg blackbox -l 7
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   234
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   235
  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
   236
  (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
   237
  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
   238
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   239
  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
   240
  (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
35651
15cfd343d3a9 tests: make hg frame optional
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34947
diff changeset
   241
   */hg:* in <module> (glob) (?)
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   242
   */mercurial/dispatch.py:* in run (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   243
   */mercurial/dispatch.py:* in dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   244
   */mercurial/dispatch.py:* in _runcatch (glob)
32040
0fb78cb90ca7 dispatch: mark callcatch() as a private function
Yuya Nishihara <yuya@tcha.org>
parents: 31950
diff changeset
   245
   */mercurial/dispatch.py:* in _callcatch (glob)
30520
4338f87dbf6f dispatch: move part of callcatch to scmutil
Jun Wu <quark@fb.com>
parents: 29784
diff changeset
   246
   */mercurial/scmutil.py* in callcatch (glob)
29761
39149b6036e6 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com>
parents: 29186
diff changeset
   247
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
28498
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   248
   */mercurial/dispatch.py:* in _dispatch (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   249
   */mercurial/dispatch.py:* in runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   250
   */mercurial/dispatch.py:* in _runcommand (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   251
   */mercurial/dispatch.py:* in <lambda> (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   252
   */mercurial/util.py:* in check (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   253
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
d09be0b8a3c6 ui: log devel warnings
timeless <timeless@mozdev.org>
parents: 28016
diff changeset
   254
  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: 31773
diff changeset
   255
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7
34464
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   256
#else
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   257
  $ hg blackbox -l 7
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   258
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   259
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   260
  (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   261
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   262
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   263
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   264
  (compatibility will be dropped after Mercurial-42.1337, update your code.) at:
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   265
   */hg:* in <module> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   266
   */mercurial/dispatch.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   267
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   268
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   269
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   270
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   271
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   272
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   273
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   274
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   275
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   276
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   277
   */mercurial/commands.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   278
   */mercurial/server.py:* in runservice (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   279
   */mercurial/commandserver.py:* in run (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   280
   */mercurial/commandserver.py:* in _mainloop (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   281
   */mercurial/commandserver.py:* in _runworker (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   282
   */mercurial/commandserver.py:* in _serverequest (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   283
   */mercurial/commandserver.py:* in serve (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   284
   */mercurial/commandserver.py:* in serveone (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   285
   */mercurial/chgserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   286
   */mercurial/commandserver.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   287
   */mercurial/dispatch.py:* in dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   288
   */mercurial/dispatch.py:* in _runcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   289
   */mercurial/dispatch.py:* in _callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   290
   */mercurial/scmutil.py:* in callcatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   291
   */mercurial/dispatch.py:* in _runcatchfunc (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   292
   */mercurial/dispatch.py:* in _dispatch (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   293
   */mercurial/dispatch.py:* in runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   294
   */mercurial/dispatch.py:* in _runcommand (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   295
   */mercurial/dispatch.py:* in <lambda> (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   296
   */mercurial/util.py:* in check (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   297
   $TESTTMP/buggylocking.py:* in oldanddeprecated (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   298
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob)
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   299
  1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7
b0910102e495 test-devel-warnings: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34186
diff changeset
   300
#endif
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
   301
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
   302
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
   303
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
   304
  $ 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
   305
  ** 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
   306
  ** 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
   307
  ** 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
   308
  ** 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
   309
  ** 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
   310
  ** 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
   311
  ** Extensions loaded: * (glob)
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   312
  ** ProgrammingError: transaction requires locking
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
   313
  Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
   314
  *ProgrammingError: transaction requires locking (glob)
29185
28e7f590be2d test: extract develwarn transaction testing in its own command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29147
diff changeset
   315
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   316
  $ hg programmingerror 2>&1 | egrep -v '^  '
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   317
  ** Unknown exception encountered with possibly-broken third-party extension buggylocking
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   318
  ** which supports versions unknown of Mercurial.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   319
  ** Please disable buggylocking and try your action again.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   320
  ** If that fixes the bug please report it to the extension author.
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   321
  ** Python * (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   322
  ** Mercurial Distributed SCM (*) (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   323
  ** Extensions loaded: * (glob)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   324
  ** ProgrammingError: something went wrong
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   325
  ** (try again)
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   326
  Traceback (most recent call last):
33608
d524cd1d1648 pypy: fix failing test-devel-warnings.t with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents: 33471
diff changeset
   327
  *ProgrammingError: something went wrong (glob)
32340
9c023179e8d0 error: add hint to ProgrammingError
Yuya Nishihara <yuya@tcha.org>
parents: 32337
diff changeset
   328
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   329
Old style deprecation warning
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   330
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   331
  $ hg nouiwarning
33254
9359cd9345a9 test: glob a line number in test-devel-warnings.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33253
diff changeset
   332
  $TESTTMP/buggylocking.py:*: DeprecationWarning: this is a test (glob)
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   333
  (compatibility will be dropped after Mercurial-13.37, update your code.)
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   334
    util.nouideprecwarn(b'this is a test', b'13.37')
31950
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   335
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   336
(disabled outside of test run)
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   337
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   338
  $ HGEMITWARNINGS= hg nouiwarning
cc70c6dbac30 util: add a way to issue deprecation warning without a UI object
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31809
diff changeset
   339
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   340
Test warning on config option access and registration
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   341
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   342
  $ cat << EOF > ${TESTTMP}/buggyconfig.py
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   343
  > """A small extension that tests our developer warnings for config"""
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   344
  > 
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
   345
  > from mercurial import registrar, configitems
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   346
  > 
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   347
  > cmdtable = {}
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   348
  > command = registrar.command(cmdtable)
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   349
  > 
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
   350
  > configtable = {}
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
   351
  > configitem = registrar.configitem(configtable)
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
   352
  > 
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   353
  > configitem(b'test', b'some', default=b'foo')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   354
  > configitem(b'test', b'dynamic', default=configitems.dynamicdefault)
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   355
  > configitem(b'test', b'callable', default=list)
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
   356
  > # overwrite a core config
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   357
  > configitem(b'ui', b'quiet', default=False)
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   358
  > configitem(b'ui', b'interactive', default=None)
33133
bf1292c057ef configitems: add a devel warning for extensions items overiding core one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33097
diff changeset
   359
  > 
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33061
diff changeset
   360
  > @command(b'buggyconfig')
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   361
  > def cmdbuggyconfig(ui, repo):
36125
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   362
  >     repo.ui.config(b'ui', b'quiet', True)
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   363
  >     repo.ui.config(b'ui', b'interactive', False)
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   364
  >     repo.ui.config(b'test', b'some', b'bar')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   365
  >     repo.ui.config(b'test', b'some', b'foo')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   366
  >     repo.ui.config(b'test', b'dynamic', b'some-required-default')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   367
  >     repo.ui.config(b'test', b'dynamic')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   368
  >     repo.ui.config(b'test', b'callable', [])
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   369
  >     repo.ui.config(b'test', b'callable', b'foo')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   370
  >     repo.ui.config(b'test', b'unregistered')
0dde5f53b4ce tests: add tons of b prefixes in test-devel-warnings.t
Augie Fackler <augie@google.com>
parents: 35651
diff changeset
   371
  >     repo.ui.config(b'unregistered', b'unregistered')
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   372
  > EOF
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   373
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   374
  $ hg --config "extensions.buggyconfig=${TESTTMP}/buggyconfig.py" buggyconfig
34186
f7c9c5d8c7f4 extensions: factor extra data loading out
Boris Feld <boris.feld@octobus.net>
parents: 33608
diff changeset
   375
  devel-warn: extension 'buggyconfig' overwrite config item 'ui.interactive' at: */mercurial/extensions.py:* (_loadextra) (glob)
f7c9c5d8c7f4 extensions: factor extra data loading out
Boris Feld <boris.feld@octobus.net>
parents: 33608
diff changeset
   376
  devel-warn: extension 'buggyconfig' overwrite config item 'ui.quiet' at: */mercurial/extensions.py:* (_loadextra) (glob)
34947
ff2110eadbfa configitems: relax warning about unwanted default value
Yuya Nishihara <yuya@tcha.org>
parents: 34858
diff changeset
   377
  devel-warn: specifying a mismatched default value for a registered config item: 'ui.quiet' 'True' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
ff2110eadbfa configitems: relax warning about unwanted default value
Yuya Nishihara <yuya@tcha.org>
parents: 34858
diff changeset
   378
  devel-warn: specifying a mismatched default value for a registered config item: 'ui.interactive' 'False' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
ff2110eadbfa configitems: relax warning about unwanted default value
Yuya Nishihara <yuya@tcha.org>
parents: 34858
diff changeset
   379
  devel-warn: specifying a mismatched default value for a registered config item: 'test.some' 'bar' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
33471
d74141ccfd8b configitems: handle case were the default value is not static
Boris Feld <boris.feld@octobus.net>
parents: 33437
diff changeset
   380
  devel-warn: config item requires an explicit default value: 'test.dynamic' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
34947
ff2110eadbfa configitems: relax warning about unwanted default value
Yuya Nishihara <yuya@tcha.org>
parents: 34858
diff changeset
   381
  devel-warn: specifying a mismatched default value for a registered config item: 'test.callable' 'foo' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
34858
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 34464
diff changeset
   382
  devel-warn: accessing unregistered config item: 'test.unregistered' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 34464
diff changeset
   383
  devel-warn: accessing unregistered config item: 'unregistered.unregistered' at: $TESTTMP/buggyconfig.py:* (cmdbuggyconfig) (glob)
32989
149b68224b08 configitems: issue a devel warning when overriding default config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32971
diff changeset
   384
24386
d6ac30f4edef devel: move the lock-checking code into core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   385
  $ cd ..