wireprotohelpers.sh
72 lines
| 2.0 KiB
| application/x-sh
|
BashLexer
/ tests / wireprotohelpers.sh
Gregory Szorc
|
r40212 | HTTPV2=exp-http-v2-0003 | ||
Gregory Szorc
|
r40168 | MEDIATYPE=application/mercurial-exp-framing-0006 | ||
Gregory Szorc
|
r37500 | |||
sendhttpraw() { | ||||
hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ | ||||
} | ||||
Gregory Szorc
|
r37501 | sendhttpv2peer() { | ||
Gregory Szorc
|
r40168 | hg --config experimental.httppeer.v2-encoder-order=identity debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | ||
Gregory Szorc
|
r40084 | } | ||
sendhttpv2peerverbose() { | ||||
Gregory Szorc
|
r40168 | hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | ||
Gregory Szorc
|
r37736 | } | ||
sendhttpv2peerhandshake() { | ||||
Gregory Szorc
|
r40168 | hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/ | ||
Gregory Szorc
|
r37501 | } | ||
Gregory Szorc
|
r37500 | cat > dummycommands.py << EOF | ||
from mercurial import ( | ||||
wireprototypes, | ||||
Gregory Szorc
|
r37803 | wireprotov1server, | ||
Gregory Szorc
|
r37798 | wireprotov2server, | ||
Gregory Szorc
|
r37500 | ) | ||
Augie Fackler
|
r39096 | @wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull') | ||
Gregory Szorc
|
r37558 | def customreadonlyv1(repo, proto): | ||
return wireprototypes.bytesresponse(b'customreadonly bytes response') | ||||
Augie Fackler
|
r39096 | @wireprotov2server.wireprotocommand(b'customreadonly', permission=b'pull') | ||
Gregory Szorc
|
r37558 | def customreadonlyv2(repo, proto): | ||
Gregory Szorc
|
r39595 | yield b'customreadonly bytes response' | ||
Gregory Szorc
|
r37500 | |||
Augie Fackler
|
r39096 | @wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push') | ||
Gregory Szorc
|
r37500 | def customreadwrite(repo, proto): | ||
return wireprototypes.bytesresponse(b'customreadwrite bytes response') | ||||
Gregory Szorc
|
r37558 | |||
Augie Fackler
|
r39096 | @wireprotov2server.wireprotocommand(b'customreadwrite', permission=b'push') | ||
Gregory Szorc
|
r37558 | def customreadwritev2(repo, proto): | ||
Gregory Szorc
|
r39595 | yield b'customreadwrite bytes response' | ||
Gregory Szorc
|
r37500 | EOF | ||
cat >> $HGRCPATH << EOF | ||||
[extensions] | ||||
drawdag = $TESTDIR/drawdag.py | ||||
EOF | ||||
enabledummycommands() { | ||||
cat >> $HGRCPATH << EOF | ||||
[extensions] | ||||
dummycommands = $TESTTMP/dummycommands.py | ||||
EOF | ||||
} | ||||
enablehttpv2() { | ||||
cat >> $1/.hg/hgrc << EOF | ||||
[experimental] | ||||
web.apiserver = true | ||||
web.api.http-v2 = true | ||||
EOF | ||||
} | ||||
Gregory Szorc
|
r39665 | |||
enablehttpv2client() { | ||||
cat >> $HGRCPATH << EOF | ||||
[experimental] | ||||
httppeer.advertise-v2 = true | ||||
Gregory Szorc
|
r40168 | # So tests are in plain text. Also, zstd isn't available in all installs, | ||
# which would make tests non-deterministic. | ||||
httppeer.v2-encoder-order = identity | ||||
Gregory Szorc
|
r39665 | EOF | ||
} | ||||