Mercurial > hg
annotate tests/wireprotohelpers.sh @ 40875:e7110f44ee2d
commandserver: pass around option to hook repo instance creation
This is necessary to wrap a repo instance so the master process will be
notified on repo.close().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 31 Oct 2018 21:57:11 +0900 |
parents | 41263df08109 |
children | 04688c51f81f |
rev | line source |
---|---|
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:
40048
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:
40048
diff
changeset
|
9 hg --config experimental.httppeer.v2-encoder-order=identity debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ |
40048
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39814
diff
changeset
|
10 } |
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39814
diff
changeset
|
11 |
a732d70253b0
tests: don't be as verbose in wireprotov2 tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39814
diff
changeset
|
12 sendhttpv2peerverbose() { |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40048
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:
40048
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 |
39061
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 |
39061
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): |
39559
07b58266bce3
wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39061
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 |
39061
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 |
39061
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): |
39559
07b58266bce3
wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39061
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 } |
39629
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
63 |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
64 enablehttpv2client() { |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
65 cat >> $HGRCPATH << EOF |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
66 [experimental] |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
67 httppeer.advertise-v2 = true |
40133
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40048
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:
40048
diff
changeset
|
69 # which would make tests non-deterministic. |
762ef19a07e3
wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40048
diff
changeset
|
70 httppeer.v2-encoder-order = identity |
39629
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
71 EOF |
a86d21e70b2b
exchangev2: start to implement pull with wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39559
diff
changeset
|
72 } |