Mercurial > hg
annotate tests/test-newercgi.t @ 31684:0be96ac9199a
rcutil: add a method to convert environment variables to config items
Handling config and environ priorities has been messy. Partially because we
don't have config layers - you either get all configs (sys + user), or none.
Ideally, environ like $EDITOR, $PAGER should be able to override the system
configs "ui.editor", "pager.pager". This patch provides the ability to
convert them into config items, so they can be inserted into the middle
config layer between system rc and user rc.
author | Jun Wu <quark@fb.com> |
---|---|
date | Sun, 26 Mar 2017 21:27:02 -0700 |
parents | 7a9cbb315d84 |
children | b6776b34e44e |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
15567
diff
changeset
|
1 #require no-msys # MSYS will translate web paths as if they were file paths |
15567
8b84d040d9f9
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Mads Kiilerich <mads@kiilerich.com>
parents:
13269
diff
changeset
|
2 |
12471 | 3 This is a rudimentary test of the CGI files as of d74fc8dec2b4. |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
4 |
12471 | 5 $ hg init test |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
6 |
12471 | 7 $ cat >hgweb.cgi <<HGWEB |
8 > #!/usr/bin/env python | |
9 > # | |
10 > # An example CGI script to use hgweb, edit as necessary | |
11 > | |
12 > import cgitb | |
13 > cgitb.enable() | |
14 > | |
15 > from mercurial import demandimport; demandimport.enable() | |
16 > from mercurial.hgweb import hgweb | |
17 > from mercurial.hgweb import wsgicgi | |
18 > | |
19 > application = hgweb("test", "Empty test repository") | |
20 > wsgicgi.launch(application) | |
21 > HGWEB | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
22 |
12471 | 23 $ chmod 755 hgweb.cgi |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
24 |
12471 | 25 $ cat >hgweb.config <<HGWEBDIRCONF |
26 > [paths] | |
27 > test = test | |
28 > HGWEBDIRCONF | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
29 |
12471 | 30 $ cat >hgwebdir.cgi <<HGWEBDIR |
31 > #!/usr/bin/env python | |
32 > # | |
33 > # An example CGI script to export multiple hgweb repos, edit as necessary | |
34 > | |
35 > import cgitb | |
36 > cgitb.enable() | |
37 > | |
38 > from mercurial import demandimport; demandimport.enable() | |
39 > from mercurial.hgweb import hgwebdir | |
40 > from mercurial.hgweb import wsgicgi | |
41 > | |
42 > application = hgwebdir("hgweb.config") | |
43 > wsgicgi.launch(application) | |
44 > HGWEBDIR | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
45 |
12471 | 46 $ chmod 755 hgwebdir.cgi |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
47 |
13269
aa3f726a2bdb
tests: remove duplication of the CGI environment variables
StevenGBrown
parents:
12471
diff
changeset
|
48 $ . "$TESTDIR/cgienv" |
12471 | 49 $ python hgweb.cgi > page1 |
50 $ python hgwebdir.cgi > page2 | |
51 | |
52 $ PATH_INFO="/test/" | |
53 $ PATH_TRANSLATED="/var/something/test.cgi" | |
54 $ REQUEST_URI="/test/test/" | |
55 $ SCRIPT_URI="http://hg.omnifarious.org/test/test/" | |
56 $ SCRIPT_URL="/test/test/" | |
57 $ python hgwebdir.cgi > page3 | |
58 | |
59 $ grep -i error page1 page2 page3 | |
60 [1] |