test-oldcgi.t
76 lines
| 2.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-oldcgi.t
Matt Mackall
|
r22046 | #require no-msys # MSYS will translate web paths as if they were file paths | ||
Mads Kiilerich
|
r15567 | |||
Matt Mackall
|
r12472 | This tests if CGI files from before d0db3462d568 still work. | ||
$ hg init test | ||||
$ cat >hgweb.cgi <<HGWEB | ||||
Matt Harbison
|
r39743 | > #!"$PYTHON" | ||
Matt Mackall
|
r12472 | > # | ||
> # An example CGI script to use hgweb, edit as necessary | ||||
> | ||||
> import cgitb, os, sys | ||||
> cgitb.enable() | ||||
> | ||||
> # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install | ||||
> from mercurial import hgweb | ||||
> | ||||
Pulkit Goyal
|
r39657 | > h = hgweb.hgweb(b"test", b"Empty test repository") | ||
Matt Mackall
|
r12472 | > h.run() | ||
> HGWEB | ||||
$ chmod 755 hgweb.cgi | ||||
$ cat >hgweb.config <<HGWEBDIRCONF | ||||
> [paths] | ||||
> test = test | ||||
> HGWEBDIRCONF | ||||
$ cat >hgwebdir.cgi <<HGWEBDIR | ||||
Matt Harbison
|
r39743 | > #!"$PYTHON" | ||
Matt Mackall
|
r12472 | > # | ||
> # An example CGI script to export multiple hgweb repos, edit as necessary | ||||
> | ||||
> import cgitb, sys | ||||
> cgitb.enable() | ||||
> | ||||
> # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install | ||||
> from mercurial import hgweb | ||||
> | ||||
> # The config file looks like this. You can have paths to individual | ||||
> # repos, collections of repos in a directory tree, or both. | ||||
> # | ||||
> # [paths] | ||||
> # virtual/path = /real/path | ||||
> # virtual/path = /real/path | ||||
> # | ||||
> # [collections] | ||||
> # /prefix/to/strip/off = /root/of/tree/full/of/repos | ||||
> # | ||||
> # collections example: say directory tree /foo contains repos /foo/bar, | ||||
> # /foo/quux/baz. Give this config section: | ||||
> # [collections] | ||||
> # /foo = /foo | ||||
> # Then repos will list as bar and quux/baz. | ||||
> | ||||
> # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples | ||||
> # or use a dictionary with entries like 'virtual/path': '/real/path' | ||||
> | ||||
> h = hgweb.hgwebdir("hgweb.config") | ||||
> h.run() | ||||
> HGWEBDIR | ||||
$ chmod 755 hgwebdir.cgi | ||||
StevenGBrown
|
r13269 | $ . "$TESTDIR/cgienv" | ||
Matt Harbison
|
r39743 | $ "$PYTHON" hgweb.cgi > page1 | ||
$ "$PYTHON" hgwebdir.cgi > page2 | ||||
Matt Mackall
|
r12472 | |||
$ 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/" | ||||
Matt Harbison
|
r39743 | $ "$PYTHON" hgwebdir.cgi > page3 | ||
Matt Mackall
|
r12472 | |||
$ grep -i error page1 page2 page3 | ||||
[1] | ||||