view tests/test-bad-extension.t @ 26299:79e1064f7c5e

debian: install hgk as part of mercurial-common (issue4829) Leaving the hgk binary in /usr/bin causes some lintian warnings, and downstream packages poke it in /usr/share/mercurial, so we'll just stash it in there. Rather than patch hgk.py as part of the Mercurial install, just drop a config file in /etc/mercurial/hgrc.d that points to the installed hgk.
author Augie Fackler <augie@google.com>
date Tue, 22 Sep 2015 14:32:17 -0400
parents f39953663cc9
children 50ad3f25fb4c
line wrap: on
line source

  $ echo 'raise Exception("bit bucket overflow")' > badext.py
  $ abspath=`pwd`/badext.py

  $ cat <<EOF >> $HGRCPATH
  > [extensions]
  > gpg =
  > hgext.gpg =
  > badext = $abspath
  > badext2 =
  > EOF

  $ hg -q help help 2>&1 |grep extension
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
  *** failed to import extension badext2: No module named badext2

show traceback

  $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError'
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
  Traceback (most recent call last):
  Exception: bit bucket overflow
  *** failed to import extension badext2: No module named badext2
  Traceback (most recent call last):
  ImportError: No module named badext2

show traceback for ImportError of hgext.name if debug is set
(note that --debug option isn't applied yet when loading extensions)

  $ (hg -q help help --traceback --config ui.debug=True 2>&1) \
  > | grep -v '^ ' \
  > | egrep 'extension..[^p]|^Exception|Traceback|ImportError|not import'
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
  Traceback (most recent call last):
  Exception: bit bucket overflow
  could not import hgext.badext2 (No module named badext2): trying badext2
  Traceback (most recent call last):
  ImportError: No module named badext2
  *** failed to import extension badext2: No module named badext2
  Traceback (most recent call last):
  ImportError: No module named badext2