Mercurial > hg
annotate tests/test-debugextensions.t @ 37533:df4985497986
wireproto: implement capabilities for wire protocol v2
The capabilities mechanism for wire protocol version 2 represents a
clean break from version 1.
Instead of effectively exchanging a set of capabilities, we're
exchanging a rich data structure.
This data structure currently contains information about
every available command, including its accepted arguments. It also
contains information about supported compression formats.
Exposing information about supported commands will allow clients
to automatically generate bindings to the server. Clients will be
able to do things like detect when they are attempting to run a
command that isn't known to the server. Exposing the required
permissions to run a command can be used by clients to determine if
they have privileges to call a command before actually calling it.
We could potentially even have clients send credentials
preemptively without waiting for the server to deny the command
request. Lots of potential here.
The data returned by this command will likely evolve heavily. So we
shouldn't bikeshed the implementation just yet.
Differential Revision: https://phab.mercurial-scm.org/D3200
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 09 Apr 2018 11:52:31 -0700 |
parents | 4e6a6d0dccee |
children | 4836705ab9ba |
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")}' |