tests/test-wireproto.t
author Luke Plant <L.Plant.98@cantab.net>
Mon, 28 Mar 2011 21:17:32 +0100
changeset 13789 7e5031180c0f
parent 13721 3458c15ab2f0
child 14048 58e58406ed19
permissions -rw-r--r--
transplant: fix crash if filter script munges log file This fixes an UnboundLocalError crash if the filter script removes the 'User' or 'Date' lines from the log file.


Test wire protocol argument passing

Setup repo:

  $ hg init repo

Local:

  $ hg debugwireargs repo eins zwei --three drei --four vier
  eins zwei drei vier
  $ hg debugwireargs repo eins zwei --four vier
  eins zwei None vier
  $ 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/ un deux trois quatre
  un deux trois quatre
  $ hg debugwireargs http://localhost:$HGPORT/ eins zwei --four vier
  eins zwei None vier
  $ 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&four=quatre&one=un&three=trois&two=deux HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=debugwireargs&four=quatre&one=un&three=trois&two=deux HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=debugwireargs&four=vier&one=eins&two=zwei HTTP/1.1" 200 - (glob)
  * - - [*] "GET /?cmd=debugwireargs&four=vier&one=eins&two=zwei HTTP/1.1" 200 - (glob)
  * - - [*] "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 uno due tre quattro
  uno due tre quattro
  $ hg debugwireargs --ssh "python ./dummyssh" ssh://user@dummy/repo eins zwei --four vier
  eins zwei None vier
  $ hg debugwireargs --ssh "python ./dummyssh" ssh://user@dummy/repo eins zwei
  eins zwei None None