Mercurial > hg
annotate tests/wireprotohelpers.sh @ 40793:64cdfcc73706
cache: create `cache` directory at init time
The cache directory will be needed very quickly, so it seems simpler to create
it early to make sure it has the same owner and permission than the other
directory in the repository.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 15 Nov 2018 02:38:55 +0100 |
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 } |