annotate tests/test-debugextensions.t @ 37865:da083d9fafab

shortest: don't keep checking for longer prefix if node doesn't exist (API) If revlog.shortest() is called with an invalid nodeid, we keep checking if longer and longer prefixes are valid. We call revlog._partialmatch() for each prefix. That function will give us None if the node doesn't exist (and a RevlogError if it's ambiguous), so there's no need to keep checking. This patch instead makes revlog.shortest() raise a LookupError is the node does not exist, and updates the caller to handle it. Before this patch, revlog.shortest() would return the full hexnode for nonexistent nodeids. By the same reasoning as in 7b2955624777 (scmutil: make shortesthexnodeidprefix() take a full binary nodeid, 2018-04-14), it's not revlog.shortest() that should decide how to present nonexistent nodeids, so that's now moved to the template function. This should speed up cases where {shortest()} is applied to an invalid nodeid, but I couldn't think of a reasonable case where that would happen. Differential Revision: https://phab.mercurial-scm.org/D3461
author Martin von Zweigbergk <martinvonz@google.com>
date Sat, 05 May 2018 00:16:43 -0700
parents 4e6a6d0dccee
children 4836705ab9ba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37342
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
1 #if no-extraextensions
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
2 $ hg debugextensions
37342
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
3 #endif
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
4
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
5 $ debugpath=`pwd`/extwithoutinfos.py
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
6
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
7 $ cat > extwithoutinfos.py <<EOF
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
8 > EOF
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
9 $ cat > extwithinfos.py <<EOF
36567
19ec5da944d5 py3: add missing b prefixes in test-debugextensions.t
Augie Fackler <augie@google.com>
parents: 33525
diff changeset
10 > testedwith = b'3.0 3.1 3.2.1'
19ec5da944d5 py3: add missing b prefixes in test-debugextensions.t
Augie Fackler <augie@google.com>
parents: 33525
diff changeset
11 > buglink = b'https://example.org/bts'
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
12 > EOF
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
13
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
14 $ cat >> $HGRCPATH <<EOF
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
15 > [extensions]
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
16 > histedit=
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
17 > patchbomb=
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
18 > rebase=
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
19 > mq=
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
20 > ext1 = $debugpath
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
21 > ext2 = `pwd`/extwithinfos.py
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
22 > EOF
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
23
37342
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
24 $ for extension in $HGTESTEXTRAEXTENSIONS; do
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
25 > echo "$extension=!" >> $HGRCPATH
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
26 > done
4e6a6d0dccee tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36567
diff changeset
27
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
28 $ hg debugextensions
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
29 ext1 (untested!)
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
30 ext2 (3.2.1!)
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
31 histedit
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
32 mq
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
33 patchbomb
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
34 rebase
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
35
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
36 $ hg debugextensions -v
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
37 ext1
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
38 location: */extwithoutinfos.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
39 bundled: no
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
40 ext2
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
41 location: */extwithinfos.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
42 bundled: no
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
43 tested with: 3.0 3.1 3.2.1
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
44 bug reporting: https://example.org/bts
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
45 histedit
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
46 location: */hgext/histedit.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
47 bundled: yes
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
48 mq
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
49 location: */hgext/mq.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
50 bundled: yes
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
51 patchbomb
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
52 location: */hgext/patchbomb.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
53 bundled: yes
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
54 rebase
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
55 location: */hgext/rebase.py* (glob)
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
56 bundled: yes
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
57
26430
1f8208a7277e test-debugextensions: sanitize JSON output for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26351
diff changeset
58 $ hg debugextensions -Tjson | sed 's|\\\\|/|g'
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
59 [
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
60 {
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
61 "buglink": "",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
62 "bundled": false,
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
63 "name": "ext1",
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
64 "source": "*/extwithoutinfos.py*", (glob)
29703
3ef9aa7ad1fc debugextension: change "testedwith" to a list (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 28615
diff changeset
65 "testedwith": []
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
66 },
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
67 {
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
68 "buglink": "https://example.org/bts",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
69 "bundled": false,
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
70 "name": "ext2",
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
71 "source": "*/extwithinfos.py*", (glob)
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
72 "testedwith": ["3.0", "3.1", "3.2.1"]
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
73 },
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
74 {
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
75 "buglink": "",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
76 "bundled": true,
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
77 "name": "histedit",
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
78 "source": "*/hgext/histedit.py*", (glob)
29893
4c28ddda5d48 debugextensions: hide "ships-with-hg-core" magic string (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29892
diff changeset
79 "testedwith": []
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
80 },
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
81 {
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
82 "buglink": "",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
83 "bundled": true,
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
84 "name": "mq",
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
85 "source": "*/hgext/mq.py*", (glob)
29893
4c28ddda5d48 debugextensions: hide "ships-with-hg-core" magic string (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29892
diff changeset
86 "testedwith": []
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
87 },
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
88 {
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
89 "buglink": "",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
90 "bundled": true,
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
91 "name": "patchbomb",
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
92 "source": "*/hgext/patchbomb.py*", (glob)
29893
4c28ddda5d48 debugextensions: hide "ships-with-hg-core" magic string (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29892
diff changeset
93 "testedwith": []
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
94 },
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
95 {
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
96 "buglink": "",
29892
b64eaf947632 debugextensions: show ships-with-hg-core state as a separate field
Yuya Nishihara <yuya@tcha.org>
parents: 29891
diff changeset
97 "bundled": true,
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
98 "name": "rebase",
28615
a6573503342d test-debugextensions: passes with byte-compilation disabled (issue5147)
Kevin Bullock <kbullock@ringworld.org>
parents: 26430
diff changeset
99 "source": "*/hgext/rebase.py*", (glob)
29893
4c28ddda5d48 debugextensions: hide "ships-with-hg-core" magic string (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 29892
diff changeset
100 "testedwith": []
26351
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
101 }
8c7d8d5e1e0f mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
diff changeset
102 ]
29703
3ef9aa7ad1fc debugextension: change "testedwith" to a list (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 28615
diff changeset
103
29891
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
104 $ hg debugextensions -T '{ifcontains("3.1", testedwith, "{name}\n")}'
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
105 ext2
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
106 $ hg debugextensions \
ca6940515485 test-debugextensions: add dummy extension to make ifcontains() test more solid
Yuya Nishihara <yuya@tcha.org>
parents: 29703
diff changeset
107 > -T '{ifcontains("3.2", testedwith, "no substring match: {name}\n")}'