Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-oldcgi @ 5390:36c46e20976a
merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 03 Oct 2007 23:09:36 +0200 |
parents | 4f37ce544c16 |
children |
rev | line source |
---|---|
2533
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
1 #!/bin/sh |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
2 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
3 hg init test |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
4 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
5 cat >hgweb.cgi <<HGWEB |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
6 #!/usr/bin/env python |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
7 # |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
8 # An example CGI script to use hgweb, edit as necessary |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
9 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
10 import cgitb, os, sys |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
11 cgitb.enable() |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
12 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
13 # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
14 from mercurial import hgweb |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
15 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
16 h = hgweb.hgweb("test", "Empty test repository") |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
17 h.run() |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
18 HGWEB |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
19 chmod 755 hgweb.cgi |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
20 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
21 cat >hgweb.config <<HGWEBDIRCONF |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
22 [paths] |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
23 test = test |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
24 HGWEBDIRCONF |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
25 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
26 cat >hgwebdir.cgi <<HGWEBDIR |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
27 #!/usr/bin/env python |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
28 # |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
29 # An example CGI script to export multiple hgweb repos, edit as necessary |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
30 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
31 import cgitb, sys |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
32 cgitb.enable() |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
33 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
34 # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
35 from mercurial import hgweb |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
36 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
37 # The config file looks like this. You can have paths to individual |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
38 # repos, collections of repos in a directory tree, or both. |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
39 # |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
40 # [paths] |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
41 # virtual/path = /real/path |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
42 # virtual/path = /real/path |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
43 # |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
44 # [collections] |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
45 # /prefix/to/strip/off = /root/of/tree/full/of/repos |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
46 # |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
47 # collections example: say directory tree /foo contains repos /foo/bar, |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
48 # /foo/quux/baz. Give this config section: |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
49 # [collections] |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
50 # /foo = /foo |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
51 # Then repos will list as bar and quux/baz. |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
52 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
53 # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
54 # or use a dictionary with entries like 'virtual/path': '/real/path' |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
55 |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
56 h = hgweb.hgwebdir("hgweb.config") |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
57 h.run() |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
58 HGWEBDIR |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
59 chmod 755 hgwebdir.cgi |
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
60 |
2540
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
61 DOCUMENT_ROOT="/var/www/hg"; export DOCUMENT_ROOT |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
62 GATEWAY_INTERFACE="CGI/1.1"; export GATEWAY_INTERFACE |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
63 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 |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
64 HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.7"; export HTTP_ACCEPT_CHARSET |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
65 HTTP_ACCEPT_ENCODING="gzip,deflate"; export HTTP_ACCEPT_ENCODING |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
66 HTTP_ACCEPT_LANGUAGE="en-us,en;q=0.5"; export HTTP_ACCEPT_LANGUAGE |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
67 HTTP_CACHE_CONTROL="max-age=0"; export HTTP_CACHE_CONTROL |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
68 HTTP_CONNECTION="keep-alive"; export HTTP_CONNECTION |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
69 HTTP_HOST="hg.omnifarious.org"; export HTTP_HOST |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
70 HTTP_KEEP_ALIVE="300"; export HTTP_KEEP_ALIVE |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
71 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 |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
72 PATH_INFO="/"; export PATH_INFO |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
73 PATH_TRANSLATED="/var/www/hg/index.html"; export PATH_TRANSLATED |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
74 QUERY_STRING=""; export QUERY_STRING |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
75 REMOTE_ADDR="127.0.0.2"; export REMOTE_ADDR |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
76 REMOTE_PORT="44703"; export REMOTE_PORT |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
77 REQUEST_METHOD="GET"; export REQUEST_METHOD |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
78 REQUEST_URI="/test/"; export REQUEST_URI |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
79 SCRIPT_FILENAME="/home/hopper/hg_public/test.cgi"; export SCRIPT_FILENAME |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
80 SCRIPT_NAME="/test"; export SCRIPT_NAME |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
81 SCRIPT_URI="http://hg.omnifarious.org/test/"; export SCRIPT_URI |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
82 SCRIPT_URL="/test/"; export SCRIPT_URL |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
83 SERVER_ADDR="127.0.0.1"; export SERVER_ADDR |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
84 SERVER_ADMIN="eric@localhost"; export SERVER_ADMIN |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
85 SERVER_NAME="hg.omnifarious.org"; export SERVER_NAME |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
86 SERVER_PORT="80"; export SERVER_PORT |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
87 SERVER_PROTOCOL="HTTP/1.1"; export SERVER_PROTOCOL |
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
88 SERVER_SIGNATURE="<address>Apache/2.0.53 (Fedora) Server at hg.omnifarious.org Port 80</address>\; export SERVER_SIGNATURE |
2533
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
89 " |
2540
800a582e2405
Don't use non-sh declare in test-oldcgi.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2536
diff
changeset
|
90 SERVER_SOFTWARE="Apache/2.0.53 (Fedora)"; export SERVER_SOFTWARE |
5092
4f37ce544c16
test-oldcgi: replace shebangs with explicit python calls to help pysh.
Patrick Mezard <pmezard@gmail.com>
parents:
2541
diff
changeset
|
91 python hgweb.cgi >page1 2>&1 ; echo $? |
4f37ce544c16
test-oldcgi: replace shebangs with explicit python calls to help pysh.
Patrick Mezard <pmezard@gmail.com>
parents:
2541
diff
changeset
|
92 python hgwebdir.cgi >page2 2>&1 ; echo $? |
2536
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
93 PATH_INFO="/test/" |
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
94 PATH_TRANSLATED="/var/something/test.cgi" |
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
95 REQUEST_URI="/test/test/" |
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
96 SCRIPT_URI="http://hg.omnifarious.org/test/test/" |
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
97 SCRIPT_URL="/test/test/" |
5092
4f37ce544c16
test-oldcgi: replace shebangs with explicit python calls to help pysh.
Patrick Mezard <pmezard@gmail.com>
parents:
2541
diff
changeset
|
98 python hgwebdir.cgi >page3 2>&1 ; echo $? |
2536
8106e477f584
Fix new tests to be better. In particular, fix webraw test to
Eric Hopper <hopper@omnifarious.org>
parents:
2533
diff
changeset
|
99 fgrep -i error page1 page2 page3 && exit 1 |
2533
589474a1dc36
Create a test to make sure old CGI scripts will still work.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
100 exit 0 |