##// END OF EJS Templates
pager: set some environment variables if they're not set...
pager: set some environment variables if they're not set Git did this already [1] [2]. We want this behavior too [3]. This provides a better default user experience (like, supporting colors) if users have things like "PAGER=less" set, which is not uncommon. The environment variables are provided by a method so extensions can override them on demand. [1]: https://github.com/git/git/blob/6a5ff7acb5965718cc7016c0ab6c601454fd7cde/pager.c#L87 [2]: https://github.com/git/git/blob/6a5ff7acb5965718cc7016c0ab6c601454fd7cde/Makefile#L1545 [3]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-March/094780.html

File last commit:

r30027:ebe488e0 default
r31954:e518192d default
Show More
test-bad-extension.t
73 lines | 2.6 KiB | text/troff | Tads3Lexer
/ tests / test-bad-extension.t
Martin Geisler
tests: unify test-bad-extension
r11858 $ echo 'raise Exception("bit bucket overflow")' > badext.py
Simon Farnsworth
tests: confirm that a badly documented extension doesn't cause a crash...
r28083 $ abspathexc=`pwd`/badext.py
$ cat >baddocext.py <<EOF
> """
> baddocext is bad
> """
> EOF
$ abspathdoc=`pwd`/baddocext.py
Martin Geisler
tests: unify test-bad-extension
r11858
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> gpg =
> hgext.gpg =
Simon Farnsworth
tests: confirm that a badly documented extension doesn't cause a crash...
r28083 > badext = $abspathexc
> baddocext = $abspathdoc
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 > badext2 =
> EOF
Martin Geisler
tests: unify test-bad-extension
r11858
timeless@mozdev.org
test-bad-extension: reduce dependencies on other things...
r26239 $ hg -q help help 2>&1 |grep extension
Mads Kiilerich
tests: remove redundant globs...
r12640 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
Brodie Rao
tests: require regexes in unified tests to be marked with " (re)"...
r12375 *** failed to import extension badext2: No module named badext2
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364
show traceback
timeless@mozdev.org
test-bad-extension: reduce dependencies on other things...
r26239 $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError'
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364 *** 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
Jun Wu
extensions: add notloaded method to return extensions failed to load...
r28155 names of extensions failed to load can be accessed via extensions.notloaded()
$ cat <<EOF > showbadexts.py
> from mercurial import cmdutil, commands, extensions
> cmdtable = {}
> command = cmdutil.command(cmdtable)
> @command('showbadexts', norepo=True)
> def showbadexts(ui, *pats, **opts):
Danek Duvall
tests: Solaris grep doesn't add a trailing newline when it's missing...
r28338 > ui.write('BADEXTS: %s\n' % ' '.join(sorted(extensions.notloaded())))
Jun Wu
extensions: add notloaded method to return extensions failed to load...
r28155 > EOF
$ hg --config extensions.badexts=showbadexts.py showbadexts 2>&1 | grep '^BADEXTS'
BADEXTS: badext badext2
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364 show traceback for ImportError of hgext.name if debug is set
(note that --debug option isn't applied yet when loading extensions)
timeless@mozdev.org
test-bad-extension: reduce dependencies on other things...
r26239 $ (hg -q help help --traceback --config ui.debug=True 2>&1) \
> | grep -v '^ ' \
> | egrep 'extension..[^p]|^Exception|Traceback|ImportError|not import'
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
Traceback (most recent call last):
Exception: bit bucket overflow
Pierre-Yves David
extensions: fix a debug message when searching for extensions...
r30027 could not import hgext.badext2 (No module named *badext2): trying hgext3rd.badext2 (glob)
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364 Traceback (most recent call last):
Bryan O'Sullivan
test-bad-extension: account for PyPy/CPython error difference
r27538 ImportError: No module named *badext2 (glob)
Maciej Fijalkowski
pypy: fix overspecific test checks...
r28737 could not import hgext3rd.badext2 (No module named *badext2): trying badext2 (glob)
Pierre-Yves David
extensions: also search for extension in the 'hgext3rd' package...
r28541 Traceback (most recent call last):
Maciej Fijalkowski
pypy: fix overspecific test checks...
r28737 ImportError: No module named *badext2 (glob)
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364 *** failed to import extension badext2: No module named badext2
Traceback (most recent call last):
ImportError: No module named badext2
Simon Farnsworth
tests: confirm that a badly documented extension doesn't cause a crash...
r28083
confirm that there's no crash when an extension's documentation is bad
$ hg help --keyword baddocext
*** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
*** failed to import extension badext2: No module named badext2
Topics:
extensions Using Additional Features