tests/test-bad-extension.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 20 Apr 2019 07:29:07 -0700
branchstable
changeset 42150 71d8b4d91616
parent 41006 6f2510b581a0
child 43191 5ed1abd0ea26
permissions -rw-r--r--
setup: properly package distutils in py2exe virtualenv builds Our in-repo py2exe packaging code uses virtualenvs for managing dependencies. An advantage of this is that packaging is more deterministic and reproducible. Without virtualenvs, we need to install packages in the system Python install. Packages installed by other consumers of the system Python could leak into the Mercurial package. A regression from this change was that py2exe packages contained the virtualenv's hacked distutils modules instead of the original distutils modules. (virtualenv installs a hacked distutils module because distutils uses relative path lookups that fail when running from a virtualenv.) This commit introduces a workaround so py2exe packaging uses the original distutils modules when running from a virtualenv. With this change, `import distutils` no longer fails from py2exe builds produced from a virtualenv. This fixes the regression. Furthermore, we now include all distutils modules. Before, py2exe's module finding would only find modules there were explicitly referenced in code. So, we now package a complete copy of distutils instead of a partial one. This is even better than before. # no-check-commit foo_bar function name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41006
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
     1
  $ filterlog () {
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
     2
  >   sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!'
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
     3
  > }
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
     4
31957
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
     5
ensure that failing ui.atexit handlers report sensibly
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
     6
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
     7
  $ cat > $TESTTMP/bailatexit.py <<EOF
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
     8
  > from mercurial import util
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
     9
  > def bail():
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    10
  >     raise RuntimeError('ui.atexit handler exception')
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    11
  > 
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    12
  > def extsetup(ui):
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    13
  >     ui.atexit(bail)
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    14
  > EOF
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    15
  $ hg -q --config extensions.bailatexit=$TESTTMP/bailatexit.py \
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    16
  >  help help
40346
943248e47864 commands: adjust metavariables as appropriate
Anton Shestakov <av6@dwimlabs.net>
parents: 40263
diff changeset
    17
  hg help [-eck] [-s PLATFORM] [TOPIC]
31957
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    18
  
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    19
  show help for a given topic or a help overview
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    20
  error in exit handlers:
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    21
  Traceback (most recent call last):
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    22
    File "*/mercurial/dispatch.py", line *, in _runexithandlers (glob)
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    23
      func(*args, **kwargs)
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    24
    File "$TESTTMP/bailatexit.py", line *, in bail (glob)
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    25
      raise RuntimeError('ui.atexit handler exception')
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    26
  RuntimeError: ui.atexit handler exception
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    27
  [255]
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    28
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    29
  $ rm $TESTTMP/bailatexit.py
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    30
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    31
another bad extension
84f9eb9758c0 atexit: test failing handlers
Bryan O'Sullivan <bryano@fb.com>
parents: 30029
diff changeset
    32
11858
934c7e91c126 tests: unify test-bad-extension
Martin Geisler <mg@lazybytes.net>
parents: 6204
diff changeset
    33
  $ echo 'raise Exception("bit bucket overflow")' > badext.py
28083
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    34
  $ abspathexc=`pwd`/badext.py
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    35
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    36
  $ cat >baddocext.py <<EOF
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    37
  > """
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    38
  > baddocext is bad
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    39
  > """
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    40
  > EOF
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    41
  $ abspathdoc=`pwd`/baddocext.py
3014
01454af644b8 load extensions only after the ui object has been completely initialized
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    42
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    43
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    44
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    45
  > gpg =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    46
  > hgext.gpg =
28083
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    47
  > badext = $abspathexc
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
    48
  > baddocext = $abspathdoc
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    49
  > badext2 =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 14286
diff changeset
    50
  > EOF
3014
01454af644b8 load extensions only after the ui object has been completely initialized
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    51
26239
f39953663cc9 test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents: 25364
diff changeset
    52
  $ hg -q help help 2>&1 |grep extension
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12376
diff changeset
    53
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
40236
9b3470dd9870 tests: add lots of globs and conditional output lines
Augie Fackler <augie@google.com>
parents: 40186
diff changeset
    54
  *** failed to import extension badext2: No module named *badext2* (glob)
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    55
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    56
show traceback
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    57
40237
772c1145bcef tests: expand our coverage of errors in Python 3 for bad extensions
Augie Fackler <augie@google.com>
parents: 40236
diff changeset
    58
  $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError|ModuleNotFound'
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    59
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    60
  Traceback (most recent call last):
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    61
  Exception: bit bucket overflow
40236
9b3470dd9870 tests: add lots of globs and conditional output lines
Augie Fackler <augie@google.com>
parents: 40186
diff changeset
    62
  *** failed to import extension badext2: No module named *badext2* (glob)
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    63
  Traceback (most recent call last):
40263
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    64
  ImportError: No module named badext2 (no-py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    65
  ModuleNotFoundError: No module named 'hgext.badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    66
  Traceback (most recent call last): (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    67
  ModuleNotFoundError: No module named 'hgext3rd.badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    68
  Traceback (most recent call last): (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
    69
  ModuleNotFoundError: No module named 'badext2' (py3 !)
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    70
28155
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    71
names of extensions failed to load can be accessed via extensions.notloaded()
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    72
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    73
  $ cat <<EOF > showbadexts.py
32376
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31957
diff changeset
    74
  > from mercurial import commands, extensions, registrar
28155
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    75
  > cmdtable = {}
32376
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 31957
diff changeset
    76
  > command = registrar.command(cmdtable)
33109
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32376
diff changeset
    77
  > @command(b'showbadexts', norepo=True)
28155
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    78
  > def showbadexts(ui, *pats, **opts):
40186
9cbc2579f5be tests: fix up test-bad-extension.t's inline extension
Augie Fackler <augie@google.com>
parents: 39528
diff changeset
    79
  >     ui.write(b'BADEXTS: %s\n' % b' '.join(sorted(extensions.notloaded())))
28155
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    80
  > EOF
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    81
  $ hg --config extensions.badexts=showbadexts.py showbadexts 2>&1 | grep '^BADEXTS'
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    82
  BADEXTS: badext badext2
7f430b2ac7fd extensions: add notloaded method to return extensions failed to load
Jun Wu <quark@fb.com>
parents: 28083
diff changeset
    83
39149
f2e645dc6a67 tests: conditionalize extension tests for extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38838
diff changeset
    84
#if no-extraextensions
38727
fcb517ff9562 debug: move extensions debug behind a dedicated flag
Boris Feld <boris.feld@octobus.net>
parents: 38534
diff changeset
    85
show traceback for ImportError of hgext.name if devel.debug.extensions is set
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    86
38727
fcb517ff9562 debug: move extensions debug behind a dedicated flag
Boris Feld <boris.feld@octobus.net>
parents: 38534
diff changeset
    87
  $ (hg help help --traceback --debug --config devel.debug.extensions=yes 2>&1) \
26239
f39953663cc9 test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents: 25364
diff changeset
    88
  > | grep -v '^ ' \
41006
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    89
  > | filterlog \
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    90
  > | egrep 'extension..[^p]|^Exception|Traceback|ImportError|^YYYY|not import|ModuleNotFound'
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    91
  YYYY/MM/DD HH:MM:SS (PID)> loading extensions
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    92
  YYYY/MM/DD HH:MM:SS (PID)> - processing 5 entries
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    93
  YYYY/MM/DD HH:MM:SS (PID)>   - loading extension: gpg
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    94
  YYYY/MM/DD HH:MM:SS (PID)>   > gpg extension loaded in * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    95
  YYYY/MM/DD HH:MM:SS (PID)>     - validating extension tables: gpg
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    96
  YYYY/MM/DD HH:MM:SS (PID)>     - invoking registered callbacks: gpg
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    97
  YYYY/MM/DD HH:MM:SS (PID)>     > callbacks completed in * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
    98
  YYYY/MM/DD HH:MM:SS (PID)>   - loading extension: badext
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
    99
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
   100
  Traceback (most recent call last):
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
   101
  Exception: bit bucket overflow
41006
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   102
  YYYY/MM/DD HH:MM:SS (PID)>   - loading extension: baddocext
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   103
  YYYY/MM/DD HH:MM:SS (PID)>   > baddocext extension loaded in * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   104
  YYYY/MM/DD HH:MM:SS (PID)>     - validating extension tables: baddocext
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   105
  YYYY/MM/DD HH:MM:SS (PID)>     - invoking registered callbacks: baddocext
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   106
  YYYY/MM/DD HH:MM:SS (PID)>     > callbacks completed in * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   107
  YYYY/MM/DD HH:MM:SS (PID)>   - loading extension: badext2
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   108
  YYYY/MM/DD HH:MM:SS (PID)>     - could not import hgext.badext2 (No module named *badext2*): trying hgext3rd.badext2 (glob)
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
   109
  Traceback (most recent call last):
40263
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   110
  ImportError: No module named badext2 (no-py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   111
  ModuleNotFoundError: No module named 'hgext.badext2' (py3 !)
41006
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   112
  YYYY/MM/DD HH:MM:SS (PID)>     - could not import hgext3rd.badext2 (No module named *badext2*): trying badext2 (glob)
28541
4b81487a01d4 extensions: also search for extension in the 'hgext3rd' package
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28338
diff changeset
   113
  Traceback (most recent call last):
40263
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   114
  ImportError: No module named badext2 (no-py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   115
  ModuleNotFoundError: No module named 'hgext.badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   116
  Traceback (most recent call last): (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   117
  ModuleNotFoundError: No module named 'hgext3rd.badext2' (py3 !)
40236
9b3470dd9870 tests: add lots of globs and conditional output lines
Augie Fackler <augie@google.com>
parents: 40186
diff changeset
   118
  *** failed to import extension badext2: No module named *badext2* (glob)
25364
de23a552fc23 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents: 23172
diff changeset
   119
  Traceback (most recent call last):
40263
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   120
  ModuleNotFoundError: No module named 'hgext.badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   121
  Traceback (most recent call last): (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   122
  ModuleNotFoundError: No module named 'hgext3rd.badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   123
  Traceback (most recent call last): (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   124
  ModuleNotFoundError: No module named 'badext2' (py3 !)
8cf459d8b111 py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents: 40237
diff changeset
   125
  ImportError: No module named badext2 (no-py3 !)
41006
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   126
  YYYY/MM/DD HH:MM:SS (PID)> > loaded 2 extensions, total time * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   127
  YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   128
  YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   129
  YYYY/MM/DD HH:MM:SS (PID)>   - running uisetup for gpg
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   130
  YYYY/MM/DD HH:MM:SS (PID)>   > uisetup for gpg took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   131
  YYYY/MM/DD HH:MM:SS (PID)>   - running uisetup for baddocext
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   132
  YYYY/MM/DD HH:MM:SS (PID)>   > uisetup for baddocext took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   133
  YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   134
  YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   135
  YYYY/MM/DD HH:MM:SS (PID)>   - running extsetup for gpg
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   136
  YYYY/MM/DD HH:MM:SS (PID)>   > extsetup for gpg took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   137
  YYYY/MM/DD HH:MM:SS (PID)>   - running extsetup for baddocext
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   138
  YYYY/MM/DD HH:MM:SS (PID)>   > extsetup for baddocext took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   139
  YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   140
  YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   141
  YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   142
  YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   143
  YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   144
  YYYY/MM/DD HH:MM:SS (PID)> > extension baddocext take a total of * to load (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   145
  YYYY/MM/DD HH:MM:SS (PID)> > extension gpg take a total of * to load (glob)
6f2510b581a0 extensions: use ui.log() interface to provide detailed loading information
Yuya Nishihara <yuya@tcha.org>
parents: 40505
diff changeset
   146
  YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
39149
f2e645dc6a67 tests: conditionalize extension tests for extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38838
diff changeset
   147
#endif
28083
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   148
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   149
confirm that there's no crash when an extension's documentation is bad
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   150
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   151
  $ hg help --keyword baddocext
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   152
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
40236
9b3470dd9870 tests: add lots of globs and conditional output lines
Augie Fackler <augie@google.com>
parents: 40186
diff changeset
   153
  *** failed to import extension badext2: No module named *badext2* (glob)
28083
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   154
  Topics:
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   155
  
550097d01ca3 tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents: 27538
diff changeset
   156
   extensions Using Additional Features