author | Raphaël Gomès <rgomes@octobus.net> |
Thu, 21 Oct 2021 14:03:33 +0200 | |
branch | stable |
changeset 47900 | f3e218ae3fd9 |
parent 40176 | 41263df08109 |
child 48561 | 04688c51f81f |
permissions | -rw-r--r-- |
40176
41263df08109
wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40133
diff
changeset
|
1 |
HTTPV2=exp-http-v2-0003 |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
2 |
MEDIATYPE=application/mercurial-exp-framing-0006 |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 |
|
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 |
sendhttpraw() { |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 |
hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 |
} |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 |
|
37483
61e405fb6372
wireproto: crude support for version 2 HTTP peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37482
diff
changeset
|
8 |
sendhttpv2peer() { |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
9 |
hg --config experimental.httppeer.v2-encoder-order=identity debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ |
40049
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39819
diff
changeset
|
10 |
} |
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39819
diff
changeset
|
11 |
|
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39819
diff
changeset
|
12 |
sendhttpv2peerverbose() { |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
13 |
hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ |
37718
ad1c07008e0b
debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37540
diff
changeset
|
14 |
} |
ad1c07008e0b
debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37540
diff
changeset
|
15 |
|
ad1c07008e0b
debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37540
diff
changeset
|
16 |
sendhttpv2peerhandshake() { |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
17 |
hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/ |
37483
61e405fb6372
wireproto: crude support for version 2 HTTP peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37482
diff
changeset
|
18 |
} |
61e405fb6372
wireproto: crude support for version 2 HTTP peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37482
diff
changeset
|
19 |
|
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
20 |
cat > dummycommands.py << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 |
from mercurial import ( |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
22 |
wireprototypes, |
37785
b4d85bc122bd
wireproto: rename wireproto to wireprotov1server (API)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37780
diff
changeset
|
23 |
wireprotov1server, |
37780
8acd3a9ac4fd
wireproto: make version 2 @wireprotocommand an independent function
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37725
diff
changeset
|
24 |
wireprotov2server, |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
25 |
) |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
26 |
|
39098
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
27 |
@wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
28 |
def customreadonlyv1(repo, proto): |
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
29 |
return wireprototypes.bytesresponse(b'customreadonly bytes response') |
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
30 |
|
39098
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
31 |
@wireprotov2server.wireprotocommand(b'customreadonly', permission=b'pull') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
32 |
def customreadonlyv2(repo, proto): |
39575
07b58266bce3
wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39098
diff
changeset
|
33 |
yield b'customreadonly bytes response' |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
34 |
|
39098
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
35 |
@wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push') |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
36 |
def customreadwrite(repo, proto): |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
37 |
return wireprototypes.bytesresponse(b'customreadwrite bytes response') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
38 |
|
39098
b3c6c194f33a
wireprotohelpers: add missing b prefixes
Augie Fackler <augie@google.com>
parents:
37785
diff
changeset
|
39 |
@wireprotov2server.wireprotocommand(b'customreadwrite', permission=b'push') |
37540
693cb3768943
wireproto: make @wireprotocommand version 1 only by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37483
diff
changeset
|
40 |
def customreadwritev2(repo, proto): |
39575
07b58266bce3
wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39098
diff
changeset
|
41 |
yield b'customreadwrite bytes response' |
37482
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
42 |
EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
43 |
|
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
44 |
cat >> $HGRCPATH << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
45 |
[extensions] |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
46 |
drawdag = $TESTDIR/drawdag.py |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
47 |
EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
48 |
|
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
49 |
enabledummycommands() { |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
50 |
cat >> $HGRCPATH << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
51 |
[extensions] |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
52 |
dummycommands = $TESTTMP/dummycommands.py |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
53 |
EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
54 |
} |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
55 |
|
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
56 |
enablehttpv2() { |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
57 |
cat >> $1/.hg/hgrc << EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
58 |
[experimental] |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
59 |
web.apiserver = true |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
60 |
web.api.http-v2 = true |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
61 |
EOF |
fa9faf58959d
tests: extract wire protocol shell helpers to standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
62 |
} |
39645
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
63 |
|
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
64 |
enablehttpv2client() { |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
65 |
cat >> $HGRCPATH << EOF |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
66 |
[experimental] |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
67 |
httppeer.advertise-v2 = true |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
68 |
# So tests are in plain text. Also, zstd isn't available in all installs, |
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
69 |
# which would make tests non-deterministic. |
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40049
diff
changeset
|
70 |
httppeer.v2-encoder-order = identity |
39645
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
71 |
EOF |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39575
diff
changeset
|
72 |
} |