view tests/test-clone-cgi.t @ 18894:ed46c2b98b0d

dicthelpers.diff: compare against default for missing values This is not only a bit faster, but also aligns with callers' expectations better since we can legitimately have manifestdict's _flags set to '' instead of unset. hg perfmergecalculate -r . before: ! wall 0.139582 comb 0.140000 user 0.140000 sys 0.000000 (best of 59) after: ! wall 0.126154 comb 0.120000 user 0.120000 sys 0.000000 (best of 74) hg perfmergecalculate -r .^ before: ! wall 0.236333 comb 0.240000 user 0.240000 sys 0.000000 (best of 36) after: ! wall 0.212265 comb 0.210000 user 0.210000 sys 0.000000 (best of 45)
author Siddharth Agarwal <sid0@fb.com>
date Wed, 10 Apr 2013 12:31:07 -0700
parents e8efcc8ff5c0
children 7a9cbb315d84
line wrap: on
line source

  $ "$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)