tests/test-clone-cgi.t
author Chris Jerdonek <chris.jerdonek@gmail.com>
Tue, 31 Dec 2013 00:37:16 -0800
changeset 20740 535283a7f5dd
parent 18552 e8efcc8ff5c0
child 22046 7a9cbb315d84
permissions -rw-r--r--
debuginstall: add Python information to debuginstall output (issue4128) This change adds to the output of "hg debuginstall" information about the Python being used by Mercurial. It adds both the path to the Python executable (i.e. the value of sys.executable) and the version of Python (specifically the major, minor, and micro versions). Below is an example of what the output looks like after this change. The marked lines are the new output lines: $ hg debuginstall checking encoding (UTF-8)... -->showing Python executable (/Users/chris/.virtualenvs/default/bin/python) -->showing Python version (2.7.6) checking Python lib (/Users/chris/.virtualenvs/default/lib/python2.7)... checking installed modules (/Users/chris/mercurial)... checking templates (/Users/chris/mercurial/templates)... checking commit editor... checking username... no problems detected Note that we use the word "showing" without an ellipsis for the new lines because, unlike the other lines (except for "Python lib" which will be adjusted in a subsequent commit), no check follows the display of this information.

  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths

This is a test of the wire protocol over CGI-based hgweb.
initialize repository

  $ hg init test
  $ cd test
  $ echo a > a
  $ hg ci -Ama
  adding a
  $ cd ..
  $ cat >hgweb.cgi <<HGWEB
  > #
  > # An example CGI script to use hgweb, edit as necessary
  > import cgitb
  > cgitb.enable()
  > from mercurial import demandimport; demandimport.enable()
  > from mercurial.hgweb import hgweb
  > from mercurial.hgweb import wsgicgi
  > application = hgweb("test", "Empty test repository")
  > wsgicgi.launch(application)
  > HGWEB
  $ chmod 755 hgweb.cgi

try hgweb request

  $ . "$TESTDIR/cgienv"
  $ QUERY_STRING="cmd=changegroup&roots=0000000000000000000000000000000000000000"; export QUERY_STRING
  $ python hgweb.cgi >page1 2>&1
  $ python "$TESTDIR/md5sum.py" page1
  1f424bb22ec05c3c6bc866b6e67efe43  page1

make sure headers are sent even when there is no body

  $ QUERY_STRING="cmd=listkeys&namespace=nosuchnamespace" python hgweb.cgi
  Status: 200 Script output follows\r (esc)
  Content-Type: application/mercurial-0.1\r (esc)
  Content-Length: 0\r (esc)
  \r (esc)