tests/test-newercgi.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 27 Feb 2018 16:31:44 -0800
changeset 36615 ed7705017749
parent 33262 8e6f4939a69a
child 39621 23b749b84b8a
permissions -rw-r--r--
wireproto: only expose "between" to version 1 of wire protocols We recently marked other legacy commands as only available to version 1 of the wire protocols. We held off marking "between" because it is used as part of the SSH handshake. Since SSH servers assume they are version 1 by default and the "between" request that is issued as part of the version 2 handshake is swallowed and not operated on, everything should "just work" if "between" is not available to version 2. Differential Revision: https://phab.mercurial-scm.org/D2513

#require no-msys # MSYS will translate web paths as if they were file paths

This is a rudimentary test of the CGI files as of d74fc8dec2b4.

  $ hg init test

  $ cat >hgweb.cgi <<HGWEB
  > #!$PYTHON
  > #
  > # 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

  $ cat >hgweb.config <<HGWEBDIRCONF
  > [paths]
  > test = test
  > HGWEBDIRCONF

  $ cat >hgwebdir.cgi <<HGWEBDIR
  > #!$PYTHON
  > #
  > # An example CGI script to export multiple hgweb repos, edit as necessary
  > 
  > import cgitb
  > cgitb.enable()
  > 
  > from mercurial import demandimport; demandimport.enable()
  > from mercurial.hgweb import hgwebdir
  > from mercurial.hgweb import wsgicgi
  > 
  > application = hgwebdir("hgweb.config")
  > wsgicgi.launch(application)
  > HGWEBDIR

  $ chmod 755 hgwebdir.cgi

  $ . "$TESTDIR/cgienv"
  $ $PYTHON hgweb.cgi > page1
  $ $PYTHON hgwebdir.cgi > page2

  $ PATH_INFO="/test/"
  $ PATH_TRANSLATED="/var/something/test.cgi"
  $ REQUEST_URI="/test/test/"
  $ SCRIPT_URI="http://hg.omnifarious.org/test/test/"
  $ SCRIPT_URL="/test/test/"
  $ $PYTHON hgwebdir.cgi > page3

  $ grep -i error page1 page2 page3
  [1]