comparison tests/test-oldcgi.t @ 12472:17c62039cadd

tests: unify test-oldcgi
author Matt Mackall <mpm@selenic.com>
date Sun, 26 Sep 2010 13:43:21 -0500
parents tests/test-oldcgi@f429e0e067a8
children aa3f726a2bdb
comparison
equal deleted inserted replaced
12471:d86dc8b1ffc3 12472:17c62039cadd
1 This tests if CGI files from before d0db3462d568 still work.
2
3 $ hg init test
4 $ cat >hgweb.cgi <<HGWEB
5 > #!/usr/bin/env python
6 > #
7 > # An example CGI script to use hgweb, edit as necessary
8 >
9 > import cgitb, os, sys
10 > cgitb.enable()
11 >
12 > # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
13 > from mercurial import hgweb
14 >
15 > h = hgweb.hgweb("test", "Empty test repository")
16 > h.run()
17 > HGWEB
18
19 $ chmod 755 hgweb.cgi
20
21 $ cat >hgweb.config <<HGWEBDIRCONF
22 > [paths]
23 > test = test
24 > HGWEBDIRCONF
25
26 $ cat >hgwebdir.cgi <<HGWEBDIR
27 > #!/usr/bin/env python
28 > #
29 > # An example CGI script to export multiple hgweb repos, edit as necessary
30 >
31 > import cgitb, sys
32 > cgitb.enable()
33 >
34 > # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
35 > from mercurial import hgweb
36 >
37 > # The config file looks like this. You can have paths to individual
38 > # repos, collections of repos in a directory tree, or both.
39 > #
40 > # [paths]
41 > # virtual/path = /real/path
42 > # virtual/path = /real/path
43 > #
44 > # [collections]
45 > # /prefix/to/strip/off = /root/of/tree/full/of/repos
46 > #
47 > # collections example: say directory tree /foo contains repos /foo/bar,
48 > # /foo/quux/baz. Give this config section:
49 > # [collections]
50 > # /foo = /foo
51 > # Then repos will list as bar and quux/baz.
52 >
53 > # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
54 > # or use a dictionary with entries like 'virtual/path': '/real/path'
55 >
56 > h = hgweb.hgwebdir("hgweb.config")
57 > h.run()
58 > HGWEBDIR
59
60 $ chmod 755 hgwebdir.cgi
61
62 $ DOCUMENT_ROOT="/var/www/hg"; export DOCUMENT_ROOT
63 $ GATEWAY_INTERFACE="CGI/1.1"; export GATEWAY_INTERFACE
64 $ HTTP_ACCEPT="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; export HTTP_ACCEPT
65 $ HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.7"; export HTTP_ACCEPT_CHARSET
66 $ HTTP_ACCEPT_ENCODING="gzip,deflate"; export HTTP_ACCEPT_ENCODING
67 $ HTTP_ACCEPT_LANGUAGE="en-us,en;q=0.5"; export HTTP_ACCEPT_LANGUAGE
68 $ HTTP_CACHE_CONTROL="max-age=0"; export HTTP_CACHE_CONTROL
69 $ HTTP_CONNECTION="keep-alive"; export HTTP_CONNECTION
70 $ HTTP_HOST="hg.omnifarious.org"; export HTTP_HOST
71 $ HTTP_KEEP_ALIVE="300"; export HTTP_KEEP_ALIVE
72 $ HTTP_USER_AGENT="Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Firefox/1.5.0.4"; export HTTP_USER_AGENT
73 $ PATH_INFO="/"; export PATH_INFO
74 $ PATH_TRANSLATED="/var/www/hg/index.html"; export PATH_TRANSLATED
75 $ QUERY_STRING=""; export QUERY_STRING
76 $ REMOTE_ADDR="127.0.0.2"; export REMOTE_ADDR
77 $ REMOTE_PORT="44703"; export REMOTE_PORT
78 $ REQUEST_METHOD="GET"; export REQUEST_METHOD
79 $ REQUEST_URI="/test/"; export REQUEST_URI
80 $ SCRIPT_FILENAME="/home/hopper/hg_public/test.cgi"; export SCRIPT_FILENAME
81 $ SCRIPT_NAME="/test"; export SCRIPT_NAME
82 $ SCRIPT_URI="http://hg.omnifarious.org/test/"; export SCRIPT_URI
83 $ SCRIPT_URL="/test/"; export SCRIPT_URL
84 $ SERVER_ADDR="127.0.0.1"; export SERVER_ADDR
85 $ SERVER_ADMIN="eric@localhost"; export SERVER_ADMIN
86 $ SERVER_NAME="hg.omnifarious.org"; export SERVER_NAME
87 $ SERVER_PORT="80"; export SERVER_PORT
88 $ SERVER_PROTOCOL="HTTP/1.1"; export SERVER_PROTOCOL
89 $ SERVER_SIGNATURE="<address>Apache/2.0.53 (Fedora) Server at hg.omnifarious.org Port 80</address>"; export SERVER_SIGNATURE
90 $ SERVER_SOFTWARE="Apache/2.0.53 (Fedora)"; export SERVER_SOFTWARE
91
92 $ python hgweb.cgi > page1
93 $ python hgwebdir.cgi > page2
94
95 $ PATH_INFO="/test/"
96 $ PATH_TRANSLATED="/var/something/test.cgi"
97 $ REQUEST_URI="/test/test/"
98 $ SCRIPT_URI="http://hg.omnifarious.org/test/test/"
99 $ SCRIPT_URL="/test/test/"
100 $ python hgwebdir.cgi > page3
101
102 $ grep -i error page1 page2 page3
103 [1]