tests/test-wireproto.t
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Tue, 22 Mar 2011 07:38:32 +0100
changeset 13720 9c4e04fe267e
child 13721 3458c15ab2f0
permissions -rw-r--r--
debug: add debugwireargs to test argument passing over the wire Tests argument passing locally, via HTTP, and via SSH. This is mainly preparation for the next patch.


Test wire protocol argument passing

Setup repo:

  $ hg init repo

Local:

  $ hg debugwireargs repo eins zwei
  eins zwei None None

HTTP:

  $ hg serve -R repo -p $HGPORT -d --pid-file=hg1.pid -E error.log -A access.log
  $ cat hg1.pid >> $DAEMON_PIDS

  $ hg debugwireargs http://localhost:$HGPORT/ eins zwei
  eins zwei None None
  $ cat access.log
  * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=debugwireargs&one=eins&two=zwei HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=debugwireargs&one=eins&two=zwei HTTP/1.1" 200 - (glob)

SSH (try to exercise the ssh functionality with a dummy script):

  $ cat <<EOF > dummyssh
  > import sys
  > import os
  > os.chdir(os.path.dirname(sys.argv[0]))
  > if sys.argv[1] != "user@dummy":
  >     sys.exit(-1)
  > if not os.path.exists("dummyssh"):
  >     sys.exit(-1)
  > os.environ["SSH_CLIENT"] = "127.0.0.1 1 2"
  > r = os.system(sys.argv[2])
  > sys.exit(bool(r))
  > EOF

  $ hg debugwireargs --ssh "python ./dummyssh" ssh://user@dummy/repo eins zwei
  eins zwei None None