Mercurial > hg-stable
annotate tests/test-bad-extension.t @ 28083:550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
An external extension whose docstring doesn't conform to Mercurial standards
used to cause crashes. Test that we omit such extensions when you do a
keyword search.
author | Simon Farnsworth <simonfar@fb.com> |
---|---|
date | Fri, 12 Feb 2016 06:25:05 -0800 |
parents | 50ad3f25fb4c |
children | 7f430b2ac7fd |
rev | line source |
---|---|
11858
934c7e91c126
tests: unify test-bad-extension
Martin Geisler <mg@lazybytes.net>
parents:
6204
diff
changeset
|
1 $ 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
|
2 $ 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
|
3 |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
4 $ 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
|
5 > """ |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
6 > 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
|
7 > """ |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
8 > EOF |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
9 $ 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
|
10 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
14286
diff
changeset
|
11 $ 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
|
12 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
14286
diff
changeset
|
13 > gpg = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
14286
diff
changeset
|
14 > 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
|
15 > badext = $abspathexc |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
16 > 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
|
17 > badext2 = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
14286
diff
changeset
|
18 > 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
|
19 |
26239
f39953663cc9
test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents:
25364
diff
changeset
|
20 $ hg -q help help 2>&1 |grep extension |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12376
diff
changeset
|
21 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
11858
diff
changeset
|
22 *** failed to import extension badext2: No module named badext2 |
25364
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
23 |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
24 show traceback |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
25 |
26239
f39953663cc9
test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents:
25364
diff
changeset
|
26 $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError' |
25364
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
27 *** 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
|
28 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
|
29 Exception: bit bucket overflow |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
30 *** failed to import extension badext2: No module named badext2 |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
31 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
|
32 ImportError: No module named badext2 |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
33 |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
34 show traceback for ImportError of hgext.name if debug is set |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
35 (note that --debug option isn't applied yet when loading extensions) |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
36 |
26239
f39953663cc9
test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents:
25364
diff
changeset
|
37 $ (hg -q help help --traceback --config ui.debug=True 2>&1) \ |
f39953663cc9
test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents:
25364
diff
changeset
|
38 > | grep -v '^ ' \ |
f39953663cc9
test-bad-extension: reduce dependencies on other things
timeless@mozdev.org
parents:
25364
diff
changeset
|
39 > | egrep 'extension..[^p]|^Exception|Traceback|ImportError|not import' |
25364
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
40 *** 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
|
41 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
|
42 Exception: bit bucket overflow |
27538
50ad3f25fb4c
test-bad-extension: account for PyPy/CPython error difference
Bryan O'Sullivan <bos@serpentine.com>
parents:
26239
diff
changeset
|
43 could not import hgext.badext2 (No module named *badext2): trying badext2 (glob) |
25364
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
44 Traceback (most recent call last): |
27538
50ad3f25fb4c
test-bad-extension: account for PyPy/CPython error difference
Bryan O'Sullivan <bos@serpentine.com>
parents:
26239
diff
changeset
|
45 ImportError: 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
|
46 *** failed to import extension badext2: No module named badext2 |
de23a552fc23
extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org>
parents:
23172
diff
changeset
|
47 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
|
48 ImportError: No module named badext2 |
28083
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
49 |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
50 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
|
51 |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
52 $ 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
|
53 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
54 *** failed to import extension badext2: No module named badext2 |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
55 Topics: |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
56 |
550097d01ca3
tests: confirm that a badly documented extension doesn't cause a crash
Simon Farnsworth <simonfar@fb.com>
parents:
27538
diff
changeset
|
57 extensions Using Additional Features |