--- a/tests/test-commandserver.t Wed Nov 07 22:37:51 2018 +0900
+++ b/tests/test-commandserver.t Sun Jan 18 18:49:59 2015 +0900
@@ -724,6 +724,43 @@
$ cd ..
+structured message channel:
+
+ $ cat <<'EOF' >> repo2/.hg/hgrc
+ > [ui]
+ > # server --config should precede repository option
+ > message-output = stdio
+ > EOF
+
+ >>> from hgclient import bprint, checkwith, readchannel, runcommand
+ >>> @checkwith(extraargs=[b'--config', b'ui.message-output=channel',
+ ... b'--config', b'cmdserver.message-encodings=foo cbor'])
+ ... def verify(server):
+ ... _ch, data = readchannel(server)
+ ... bprint(data)
+ ... runcommand(server, [b'-R', b'repo2', b'verify'])
+ capabilities: getencoding runcommand
+ encoding: ascii
+ message-encoding: cbor
+ pid: * (glob)
+ pgid: * (glob)
+ *** runcommand -R repo2 verify
+ message: '\xa2DdataTchecking changesets\nElabelJ ui.status'
+ message: '\xa2DdataSchecking manifests\nElabelJ ui.status'
+ message: '\xa2DdataX0crosschecking files in changesets and manifests\nElabelJ ui.status'
+ message: '\xa2DdataOchecking files\nElabelJ ui.status'
+ message: '\xa2DdataX/checked 0 changesets with 0 changes to 0 files\nElabelJ ui.status'
+
+bad message encoding:
+
+ $ hg serve --cmdserver pipe --config ui.message-output=channel
+ abort: no supported message encodings:
+ [255]
+ $ hg serve --cmdserver pipe --config ui.message-output=channel \
+ > --config cmdserver.message-encodings='foo bar'
+ abort: no supported message encodings: foo bar
+ [255]
+
unix domain socket:
$ cd repo